NEWS
EpiCompare 1.9.5
New features
- Remove the soon-to-be-deprecated
BRGenomics
dependency.
- Port
tidyChromosomes
function to EpiCompare
.
Miscellaneous
- Update maintainer details.
EpiCompare 1.3.4
New features
- Example report:
- Delete report/ folder and upload to Releases instead:
https://github.com/neurogenomics/EpiCompare/releases
- Add Rscript to replicate example report in inst/examples.
- EpiCompare
- New arg
add_download_button
.
- Always keep download button for post-processed peak files.
- `save_output``
- Change .txt suffixes to more informative .csv suffixes for saved files.
- Create
EpiArchives
and offload report to there:
- Updated vignettes/example_report.Rmd so that it just renders the markdown landing page for
EpiArchives
.
Bug fixes
- README.Rmd:
- Fix broken link to example report.
- test-EpiCompare.R:
- Fix issue with PNG save path.
- Make separate subfolders for each set of tests.
- test-output_files.R
- Make separate subfolders for each set of tests.
plot_enrichment
- Conditionally generate plots only when enrichment results aren't
NULL
.
- Return KEGG/GO enrichment results as well as the plots.
- Add
workers <- check_workers(workers = workers)
to all functions that take workers
to handle workers=NULL
properly.
EpiCompare 1.3.3
New features
download_button
:
- Saves and downloads files.
prepare_blacklist
:
- Auto-selects appropriate blacklist, or returns user-specified option.
EpiCompare(blacklist=NULL)
is now the default.
prepare_genome_builds
:
- Update to handle supplying builds for "peakfiles" and "reference"
but not "blacklist"
(so long as the
blacklist
arg is not a user-supplied GRanges
object)
- Added
mm9_blacklist
- Made more plots interactive:
width_boxplot
plot_enrichment
plot_ChIPseeker_annotation
overlap_stat_plot
- Name elements in output list.
- Change
annotation
arg to more informative txdb
arg,
and set default to NULL
, which ChIPseeker
functions will
automatically handle.
- New function
as_interactive
:
- New
EpiCompare::EpiCompare
arguments:
error
: keep knitting even on errors.
tss_distance
: upstream/downstream of TSS.
quiet
: knit quietly
- Rename 'test-EpiCompare_combinations.R' --> 'test-EpiCompare.R'
- Separate test-generalMetrics_functions.R into function-specific test files.
- Separate test-peakOverlap_functions.R into function-specific test files.
- Make fancy header with new func:
- Create
EpiCompare
command code as text:
width_boxplot
:
- Make more efficient with
data.table
and lapply
- Update hex sticker to match custom.css palette.
- README.Rmd
- Collapse more detailed sections.
Bug fixes
tss_plot
:
- Fix examples/tests after Sera updated the arguments.
- Pass upstream/downstream to
ChIPseeker::getTagMatrix
- Make interactive
- Name plots in list
- Remove unnecessary extra level of list nesting.
- Make documentation width <80 lines where possible.
- EpiCompare.Rmd
- Remove
methods::show
from all parts
- Name all chunks
- Make explanations more clear
- Add table of contents for main 3 sections.
- Fix header levels
- Set
results='asis'
globally instead of in each chunk header.
- Automatically number sections with yaml arg:
number_sections: true
- Omit specific headers from numbering system with
{-}
tags.
- Add custom.css
plot_chromHMM
:
Error in (function (classes, fdef, mtable) unable to find an inherited method for function ‘annotateWithFeatures’ for signature ‘"SimpleGRangesList", "list"’
- Misleading error message; was actually due to
chromHMM_annotation
not being converted from a list to a GRangesList
.
- Change yaml arg
peakfile
--> peakfiles
to be consistent with other variables.
EpiCompare 1.3.1
New features
- Replace
badger
with rworkfows
:
- Use
rworkflows::use_badges
- New helper functions:
precision_recall_matrix
report_time
overlap_upset_plot
:
- Switched out
UpSetR
for ComplexUpset
to show percentages.
- Moved up dep checks to beginning of function.
- Handle bug with
heatmaply
by checking args where it might be used:
tss_plot
:
- Add unit tests
- Drastically reduce example/test runtime by setting
upstream=50
compute_corr
:
- Reduce example runtime by setting
bin_size = 200000
(takes <2s).
Bug fixes
- Fix typo in
EpiCompare
docs: "hg38 blacklist dataset"
- Avoid explicitly specifying "/" in paths to help cross-platform testing.
tss_plot
:
- Use
parallel::detectCores-1
by default to set workers,
but set to 1 in examples/tests to meet CRAN/Bioc standards.
EpiCompare 1.1.4
New features
- Add back example report html:
- Put it in the main dir
- Add it to the .Rbuildignore: report/EpiCompare_example.html
- Add a new vignette that renders the HTML from the pre-saved file.
- Remove Dockerfile, as it's no longer necessary with
the updated version of
rworkflows
Bug fixes
- Add
@returns
to group_files
function.
- Add all authors to vignettes.
EpiCompare 1.1.3
New features
- New function:
predict_precision_recall
compute_corr
and precision_recall
now save outputs,
including when run via EpiCompare
Rmarkdown script.
- Make subfunctions for
plot_precision_recall
:
plot_precision_recall_prcurve
plot_precision_recall_f1
rebin_peaks
:
- Allow users to specify
sep
between genomic coordinates in rownames.
Bug fixes
- Update
gather_files
to match new Picard file scheme
in nf-core/cutandrun 3.0.
EpiCompare 1.1.2
New features
rebin_peaks
:
- Added arg
drop_empty_chr
to automatically drop chroms that aren't in
any of the peakfiles
.
- Added "score" as one of the default
intensity_cols
in all relevant functions.
- Make examples use 5000bp bins to speed up.
translate_genome
:
- Add
default_genome
arg to handle genome=NULL
.
bpplapply
:
- New exported function to automate handling of known issues with
BiocParallel
across OS platforms.
- Enable users to specify their own apply function.
get_bpparam
: Add args to allow users to choose which BiocParallel
func to use.
checkCache
: Make default arg cache=BiocFileCache::BiocFileCache(ask = FALSE)
to skip user input during runtime.
precision_recall
:
- Change
increment_threshold
arg to n_threshold
arg,
using the seq(length.out=)
feature to avoid accidentally choosing an
inappropriately large increment_threshold
.
gather_files
:
- Replace iterator with
bpplapply
.
- Pass up args from
bpplapply
.
- Provide warning message, not error, when 0 files found. Returns
NULL
.
- Add "multiqc" as a search option.
- Add dedicated subfunctions for reading in a variety of
nf-core/cutandrun outputs files:
read_picard
,read_multiqc
,read_bowtie
,
read_trimgalore
,read_bam
,read_peaks
- Add file paths to each object.
- Add new arg
rbind_list
.
rebin_peaks
/compute_corr
:
-Change defaultbin_size
from 100 --> 5kb to improve efficiency
and align with other defaults of other packages (e.g Signac
).
tss_plot
:
- Pass up more arg for specifying upstream/downstream.
EpiCompare
: Pass up new args:
bin_size
n_threshold
workers
Bug fixes
- Fix
rebin_peaks
unit tests.
- Fix pkg size issue by adding inst/report to .Rbuildignore.
EpiCompare
wasn't being run when reference was a single unlisted GRanges
object
because it was indeed length>1, but the names
were all NULL
. Now fixed.
plot_precision_recall
: Set default initial_threshold=
to 0.
- Switch from
BiocParallel
to parallel
,
as the former is extremely buggy and inconsistent.
EpiCompare 1.1.1
New features
check_genome_build
: Add translate_genome
as prestep.
rebin_peaks
:
- Move all steps that could be done just once (e.g. creating the genome-wide tiles object) outside of the
BiocParallel::bpmapply
iterator.
- Ensure all outputs of
BiocParallel::bpmapply
are of the same length, within the exact same bins, so that we can return just the bare minimum data needed to create the matrix (1 numeric vector/sample).
- Instead of
rbind
ing the results and then casting them back into a matrix (which is safer bc it can handle vectors of different lengths), simply cbind
all vectors into one matrix directly and name the rows using the predefined genome-wide tiles.
- Because we are no longer
rbind
ing a series of very long tables, this avoids the issue encountered here #103. This means this function is now much more scalable to many hundreds/thousands of samples (cells) even at very small bin sizes (e.g. 100bp).
- A new argument
keep_chr
allows users to specify whether they want to restrict which chromosomes are used during binning. By default, all chromosomes in the reference genome are used (keep_chr=NULL
), but specifying a subset of chromosomes (e.g. paste0("chr",seq_len(12))
) can drastically speed up compute time and reduce memory usage. It can also be useful for removing non-standard chromosomes (e.g. "chr21_gl383579_alt", "chrUns...", "chrRand...").
- As a bonus,
rebin_peaks
now reports the final binned matrix dimensions and a sparsity metric.
compute_corr
:
- Added unit tests at different bin sizes.
- Allow
reference
to be NULL
.
- Updated README to reflect latest vesion of
EpiCompare
with gather_files
.
Bug fixes
- Bumped version to align with Bioc devel (currently 1.1.0).
compute_percentiles
:
- Making default
initial_threshold=0
,
so as not to assume any particular threshold.
rebin_peaks
:
- Addressed error that occurs when there's many samples/cells
with small bins.
plot_precision_recall
: Don't plot the reference as part of the PR curve.
EpiCompare 0.99.21
Bug fixes
- Changed terminology from "epigenetic" to "epigenomic"
- Updated README to include precision_recall_plot and corr_plot
- Removed bugs in html report
- Added example EpiCompare report in inst/report/EpiCompare_example.html
EpiCompare 0.99.20
New features
- Upgraded
liftover_grl
and added genome standardization.
- Enable cross-species liftover from/to mm10 and mm9 --> hg19 and hg38.
- Subfunctionalize
get_chain_file
.
- Add
merge_all
option.
- Support mm10/mm9 as
output_build
options.
- Removed
dplyr
.
- Moved
plyranges
to Suggests.
plot_precision_recall
:
- New exported function to create precision-recall plots from MACS2,
MACS3, HOMER, or SEACR peak files.
- Added unit tests.
- Added to EpiCompare html report.
- Added
EpiCompare(precision_recall_plot=)
param and documented.
- Add ISSUE templates.
- Include code in html report (collapsed by default).
- Add correlation matrix/plot functionality.
- Add
compute_consensus_peaks()
as function for preprocessing peak files.
- Add
group_files()
function to help assign each peakfile to a group based
on substring searches.
EpiCompare
:
- Return paths to HTML reports.
- Automatically open report in browser or rstudio.
- Add Docker vignette and advertise in README.
Bug fixes
- Made
BiocParallel
functions compatible with Windows.
- Organize author fields in DESCRIPTION.
- Fix typos in README.
- Remove threshold=1 from list of thresholds to test in precision-recall curves.
- Set first chunk in EpiCompare.Rmd as
echo=FALSE
instead of include=FALSE
so the output messages will still be printed (without showing the code).
- Remove
here
from Suggests.
- Fix directory creation in
EpiCompare::EpiCompare
.
EpiCompare 0.99.19
Bug fixes
- Simplified loops with
mapply
/lapply
.
New features
EpiCompare
: accepts multiple reference files - creates individual reports
for each reference. Added timing feature.
save_output()
: this function saves all plots and tables generated by EpiCompare.
Also saves interactive heatmaps. Used in EpiCompare.Rmd.
fig_length()
: This function outputs dynamic figure height/width depending
on the number of items. Used in EpiCompare.Rmd.
EpiCompare 0.99.18
Bug fixes
prepare_reference
: Validate reference input before passing to next step.
- Pass named list to
genome_build
to allow for different builds between
reference
and peaklist
.
- Liftover
blacklist
to match GRanges list it's being used to filter in tidy_peakfile
.
- Ensure all names are unique in
peaklist
and reference
.
gather_files
:
- Avoid gathering duplicates peak files from
nf-core/cutandrun
.
- Add progress bar.
- Add report at the end.
- Add extra arg
return_paths
to return only the paths
without actually reading in the files.
New features
- Overhaul how EpiCompare handles genome builds:
- New argument
genome_build_output
allows users to specify
which genome build to standardise all inputs to.
genome_build
can now take a named list to specify different genome builds
for peakfiles
, reference
, and blacklist
.
- Added functions to parse and validate all genome build-related arguments.
- Remove unnecessary deps.
- Use
data.table
to read/write tables.
prepare_peaklist
:
- Simplified code.
- Added arg
remove_empty
to automatically drop any empty elements.
- Embed
check_list_names
within.
plot_chromHMM
:
- Can return data as well with
return_data
.
- Performs liftover on chromHMM data instead of the
peaklist
.
EpiCompare 0.99.17
Bug fixes
- Make
output_dir
creation recursive and without warnings.
- Add new params to Code section of rmarkdown output.
New features
- Add new
peaklist
length check to prepare_peaklist
.
- New check functions:
check_genomebuild
: ensure necessary packages installed and that
"genomebuild" is valid.
check_cell_lines
liftover_grlist
: Dedicated liftover function, exported.
- Document
checkCache
.
get_chromHMM_annotation
can now take a list of cell lines as an argument.
EpiCompare 0.99.16
Bug fixes
- Fix GHA pkgdown building:
EpiCompare 0.99.3
New Features
- New functions with examples/unit tests:
import_narrowPeak
: Import narrowPeak files, with automated header annotation using metadata from ENCODE.\
gather_files
: Automatically peak/picard/bed files and read them in as a list of GRanges
objects.\
write_example_peaks
: Write example peak data to disk.
- Update .gitignore
- Update .Rbuildignore
EpiCompare 0.99.1
New features
- New parameter in EpiCompare:
genome_build
: Specify the genome build, either "hg19" or "hg38". This parameter is also included in plot_chromHMM
, plot_ChIPseeker_annotation
, tss_plot
and plot_enrichment
.
EpiCompare 0.99.0
New Features
EpiCompare
submitted to Bioconductor.