hictoolsr
is an R package with a collection of useful tools for Hi-C data analysis. The tools fall into the following broad categories:
Extracting Hi-C Counts
Functions that are optimized to quickly extract and aggregate data from .hic
files.
Generating Paired Interactions
Methods to easily generate combinations of paired interactions.
Merging/Filtering/Binning Interactions
A collection of functions for converting to GInteractions
objects and manipulating anchors.
Plotting Functions
Additional visualization functions that are compatible with the plotgardener
package.
This package can be installed via github:
if (!requireNamespace("remotes", quietly = TRUE))
install.packages("remotes")
remotes::install_github("EricSDavis/hictoolsr")
We have provided a series of workflows that demonstrate how hictoolsr
can be integrated and used with existing packages to analyze genomic data.
This workflow demonstrates how to identify and visualize differential loops between two biological conditions using the hictoolsr
, DESeq2
, and plotgardener
packages.
(Coming soon) This workflow will demonstrate how to aggregate Hi-C signal from interactions between proteins bound on DNA.
Improve function naming:
binBedpe()
args a1Pos
and a2Pos
binBedpe()
to mapBedpeToBin()
, mapBedpeToBin()
, assignBedpeToBin()
, convertBedpeToBin()
?binAnchor()
-> binGRanges()
)?binBedpe()
calcApa()
calcBepde()
data.table
to GInteractions
object.extractCounts()
Improve documentation and examples
Change name to extractHicCounts()
Remove excess comments in function
Move binning warning to its own function
Utilize the chromosome extraction method from calcApa()
filterBedpe()
Improve documentation and examples
Currently does not filter out regions that are too close to the starts and ends of chromosomes. This is not a problem (it doesn't affect how straw imports the data), but it might be desirable to have those interactions filtered out.
starts - res*buffer
and end + res*buffer
in filtering.GRanges
to have seqinfo
Move binning warning to its own function
Currently removes mcols after filtering - make sure to add those back in.
mergeBedpe()
data.table
to GInteractions
object (or make this an argument).plotApa()