Name Mode Size
.github 040000
R 040000
data 040000
inst 040000
man 040000
pkgdown 040000
tests 040000
vignettes 040000
.Rbuildignore 100644 0 kb
.gitignore 100644 0 kb
DESCRIPTION 100644 2 kb
NAMESPACE 100644 8 kb
NEWS.md 100644 1 kb
README.md 100644 4 kb
_pkgdown.yml 100644 1 kb
codecov.yml 100644 0 kb
README.md
# plyinteractions <img src="man/figures/logo.png" align="right" alt="" width="180" /> <!-- badges: start --> [![Codecov test coverage](https://codecov.io/gh/js2264/plyinteractions/branch/devel/graph/badge.svg)](https://app.codecov.io/gh/js2264/plyinteractions?branch=devel) <!-- badges: end --> `plyinteractions` provides a consistent interface for importing genomic interactions from `pairs` and `bedpe` files into `GInteractions` objects in `R` and for manipulating them using a tidy grammar. [`plyranges`](https://www.bioconductor.org/packages/release/bioc/html/plyranges.html) operates on genomic ranges (e.g. implemented as `GRanges` objects in `Bioconductor`) and introduces a tidy grammar for manipulating them. Genomic interactions (implemented as `GInteractions` objects in `Bioconductor`) are more complex than genomic ranges in that each observation (row) corresponds to *a pair of two genomic ranges*, each one with its own metadata. `plyinteractions` extends `plyranges` syntax to manipulate genomic interactions in `R` using `dplyr` verbs and tidy operations. The grammar of tidy genomic data transformation defined in [`plyranges`](https://www.bioconductor.org/packages/release/bioc/html/plyranges.html) and available for `GInteractions` currently supports: - `dplyr` verbs (for `GInteractions` and `GroupedGInteractions`): - Group genomic interactions with `group_by`; - Summarize grouped genomic interactions with `summarize`; - Tally/count grouped genomic interactions with `tally` and `count`; - Modify genomic interactions with `mutate`; - Subset genomic interactions with `filter` using [`<data-masking>`](https://rlang.r-lib.org/reference/args_data_masking.html) and logical expressions; - Pick out any columns from the associated metadata with `select` using [`<tidy-select>` arguments](https://dplyr.tidyverse.org/reference/dplyr_tidy_select.html); - Subset using indices with `slice`; - Order genomic interactions with `arrange` using categorical/numerical variables. - `plyranges` verbs (for `PinnedGInteractions` and `AnchoredPinnedGInteractions`): - Stretch specific anchors of genomic interactions to a given width with `stretch`; - `anchor_*` functions to control how stretching is performed; - Shift specific anchors of genomic interactions with `shift`; - Obtain flanking `GRanges` from specific anchors of genomic interactions with `flank`. ***Note:*** In the genomic interaction field, the *"anchor"* term typically refers to the two genomic loci brought together into an *interaction*. In `plyranges`, the term `anchor` is used to specify which "part" of a genomic locus is fixed (e.g. "5p", 3p", "center") and, incidently, which one can be modified by `plyranges` verbs. For more details on `GInteractions` "anchors" vs. `plyranges` `anchor`ing system, read [this section]([#pinned-and-anchored-ginteractions](https://tidyomics.github.io/plyinteractions/articles/plyinteractions.html#pinned-and-anchored-ginteractions)) from our vignette. - Overlapping operations (for `GInteractions` and `PinnedGInteractions`): - `find_overlaps` - `count_overlaps` - `filter_by_overlaps` and `filter_by_non_overlaps` - `join_overlap_left` ## Installation `plyinteractions` can be currently be installed from GitHub: ```r BiocManager::install("tidyomics/plyinteractions") ``` ## Using `plyinteractions` Read `vignette("plyinteractions")` for more details. ## Code of Conduct Please note that this project is released with a [Contributor Code of Conduct](http://bioconductor.org/about/code-of-conduct/). By contributing to this project, you agree to abide by its terms. ## Acknowledgments `plyinteractions` package is heavily based on `plyranges`. It adapts a number of functions and methods defined in that package, and would not have been developed without the seminal work from Stuart Lee, Dianne Cook and Michael Lawrence: - Lee, Stuart, Dianne Cook, and Michael Lawrence. 2019. “Plyranges: A Grammar of Genomic Data Transformation.” Genome Biology 20 (1): 4. https://doi.org/10.1186/s13059-018-1597-8. This package is largely inspired by the `tidyverse`: - Wickham H, François R, Henry L, Müller K, Vaughan D (2023). _dplyr: A Grammar of Data Manipulation_. R package version 1.1.2, <https://CRAN.R-project.org/package=dplyr>. - Henry L, Wickham H (2023). _rlang: Functions for Base Types and Core R and 'Tidyverse' Features_. R package version 1.1.1, <https://CRAN.R-project.org/package=rlang>.