# FootprintCharter

## Introduction

This vignette exemplifies how to perform unsupervised footprint detection and quantification using FootprintCharter as per Baderna & Barzaghi et al., 2024 and Barzaghi et al., 2024.

FootprintCharter partitions molecules by their methylation patterns without relying on orthogonal genomic annotations such as TF motifs.

## Loading libraries

    suppressWarnings(library(SingleMoleculeFootprinting))
    suppressWarnings(library(BSgenome.Mmusculus.UCSC.mm10))

##

    Methylation = qs::qread(system.file("extdata", "Methylation_4.qs", package="SingleMoleculeFootprinting"))
    RegionOfInterest = GRanges("chr6", IRanges(88106000, 88106500))
    TFBSs = qs::qread(system.file("extdata", "TFBSs_1.qs", package="SingleMoleculeFootprinting"))

    PlotAvgSMF(MethGR = Methylation[[1]], RegionOfInterest = RegionOfInterest, TFBSs = TFBSs)
    ## No sorted reads passed...plotting counts from all reads

    MethSM = Methylation[[2]]

## sessionInfo

    ## R version 4.4.1 (2024-06-14)
    ## Platform: x86_64-pc-linux-gnu
    ## Running under: Ubuntu 24.04.1 LTS
    ##
    ## Matrix products: default
    ## BLAS:   /home/biocbuild/bbs-3.20-bioc/R/lib/libRblas.so
    ## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0
    ##
    ## locale:
    ##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
    ##  [3] LC_TIME=en_GB              LC_COLLATE=C
    ##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
    ##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
    ##  [9] LC_ADDRESS=C               LC_TELEPHONE=C
    ## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
    ##
    ## time zone: America/New_York
    ## tzcode source: system (glibc)
    ##
    ## attached base packages:
    ## [1] stats4    stats     graphics  grDevices utils     datasets  methods
    ## [8] base
    ##
    ## other attached packages:
    ##  [1] BSgenome.Mmusculus.UCSC.mm10_1.4.3 BSgenome_1.74.0
    ##  [3] rtracklayer_1.66.0                 BiocIO_1.16.0
    ##  [5] Biostrings_2.74.0                  XVector_0.46.0
    ##  [7] GenomicRanges_1.58.0               GenomeInfoDb_1.42.0
    ##  [9] IRanges_2.40.0                     S4Vectors_0.44.0
    ## [11] BiocGenerics_0.52.0                SingleMoleculeFootprinting_2.0.0
    ##
    ## loaded via a namespace (and not attached):
    ##   [1] RColorBrewer_1.1-3          jsonlite_1.8.9
    ##   [3] magrittr_2.0.3              GenomicFeatures_1.58.0
    ##   [5] farver_2.1.2                rmarkdown_2.28
    ##   [7] zlibbioc_1.52.0             vctrs_0.6.5
    ##   [9] memoise_2.0.1               Rsamtools_2.22.0
    ##  [11] RCurl_1.98-1.16             QuasR_1.46.0
    ##  [13] ggpointdensity_0.1.0        htmltools_0.5.8.1
    ##  [15] S4Arrays_1.6.0              progress_1.2.3
    ##  [17] curl_5.2.3                  SparseArray_1.6.0
    ##  [19] sass_0.4.9                  bslib_0.8.0
    ##  [21] plyr_1.8.9                  httr2_1.0.5
    ##  [23] cachem_1.1.0                GenomicAlignments_1.42.0
    ##  [25] lifecycle_1.0.4             pkgconfig_2.0.3
    ##  [27] Matrix_1.7-1                R6_2.5.1
    ##  [29] fastmap_1.2.0               GenomeInfoDbData_1.2.13
    ##  [31] MatrixGenerics_1.18.0       digest_0.6.37
    ##  [33] colorspace_2.1-1            ShortRead_1.64.0
    ##  [35] patchwork_1.3.0             AnnotationDbi_1.68.0
    ##  [37] RSQLite_2.3.7               hwriter_1.3.2.1
    ##  [39] labeling_0.4.3              filelock_1.0.3
    ##  [41] fansi_1.0.6                 httr_1.4.7
    ##  [43] abind_1.4-8                 compiler_4.4.1
    ##  [45] Rbowtie_1.46.0              withr_3.0.2
    ##  [47] bit64_4.5.2                 BiocParallel_1.40.0
    ##  [49] viridis_0.6.5               DBI_1.2.3
    ##  [51] qs_0.27.2                   highr_0.11
    ##  [53] biomaRt_2.62.0              rappdirs_0.3.3
    ##  [55] DelayedArray_0.32.0         rjson_0.2.23
    ##  [57] tools_4.4.1                 glue_1.8.0
    ##  [59] restfulr_0.0.15             grid_4.4.1
    ##  [61] generics_0.1.3              gtable_0.3.6
    ##  [63] tidyr_1.3.1                 RApiSerialize_0.1.4
    ##  [65] hms_1.1.3                   xml2_1.3.6
    ##  [67] stringfish_0.16.0           utf8_1.2.4
    ##  [69] ggrepel_0.9.6               pillar_1.9.0
    ##  [71] stringr_1.5.1               dplyr_1.1.4
    ##  [73] BiocFileCache_2.14.0        lattice_0.22-6
    ##  [75] bit_4.5.0                   deldir_2.0-4
    ##  [77] tidyselect_1.2.1            knitr_1.48
    ##  [79] gridExtra_2.3               SummarizedExperiment_1.36.0
    ##  [81] xfun_0.48                   Biobase_2.66.0
    ##  [83] matrixStats_1.4.1           stringi_1.8.4
    ##  [85] UCSC.utils_1.2.0            yaml_2.3.10
    ##  [87] evaluate_1.0.1              codetools_0.2-20
    ##  [89] interp_1.1-6                GenomicFiles_1.42.0
    ##  [91] tibble_3.2.1                cli_3.6.3
    ##  [93] RcppParallel_5.1.9          munsell_0.5.1
    ##  [95] jquerylib_0.1.4             Rcpp_1.0.13
    ##  [97] dbplyr_2.5.0                tidyverse_2.0.0
    ##  [99] png_0.1-8                   XML_3.99-0.17
    ## [101] parallel_4.4.1              ggplot2_3.5.1
    ## [103] blob_1.2.4                  prettyunits_1.2.0
    ## [105] latticeExtra_0.6-30         jpeg_0.1-10
    ## [107] plyranges_1.26.0            bitops_1.0-9
    ## [109] pwalign_1.2.0               txdbmaker_1.2.0
    ## [111] viridisLite_0.4.2           VariantAnnotation_1.52.0
    ## [113] scales_1.3.0                purrr_1.0.2
    ## [115] crayon_1.5.3                rlang_1.1.4
    ## [117] KEGGREST_1.46.0