nf-core/smrnaseq
A small-RNA sequencing analysis pipeline
See the advisory entry for more information.
Version history
v2.4.0 - 2024-10-14 - Navy Iron Boxer
- [#349] - Fix MIRTOP_QUANT conda issue - change conda-base to conda-forge channel.
- [#350] - Fix MIRTOP_QUANT conda issue - set python version to 3.7 to fix pysam issue.
- [#361] - Fix [#332] - Fix documentation to use only single-end.
- [#364] - Fix Protocol inheritance issue - fixing protocol inheritance from subworkflow with move to config profile(s) for different protocols.
- [#372] - Fix Plain test profile - Updated default protocol value to “custom”.
- [#374] - Fix default tests so that they do not require additional profiles in CI. Change GitHub CI fail-fast strategy to false.
- [#375] - Test technical repeats - Test merging of technical repeats.
- [#377] - Fix Linting - Fixed linting warnings and updated modules & subworkflows.
- [#378] - Fix
--mirtrace_speciesbug - MakeMIRTRACEprocess conditional. Add mirgenedb test. - [#380] - Fix edgeR_mirBase.R - Fix checking number of samples which causes error in plotMDS. Add nf-tests for local modules using custom R scripts.
- [#381] - Update Convert tests to nf-tests - CI tests to nf-tests.
- [#382] - Add collapse_mirtop.R - Add nf-tests for local modules using custom R scripts.
- [#383] - Fix parameter
--skip_fastpthrows an error - Fix parameter —skip_fastp. - [#384] - Fix filter status bug fix - Fix filter stats module and add filter contaminants test profile.
- [#386] - Fix Nextflex trimming support - Fix Nextflex trimming support.
- [#387] - Add contaminant filter failure because the Docker image for BLAT cannot be pulled - Add nf-test to local module
blat_mirnaand fixes . Adds a small test profile to test contaminant filter results. - [#388] - Fix igenomes fix - Fix workflow scripts so that they can use igenome parameters.
- [#391] - Fix error because of large chromosomes - Change
.baiindex for.csiindex insamtools_indexto fix . - [#392] - Update Reduce tests - Combine and optimize tests, and reduce samplesheets sizes.
- [#397] - Fix contaminant filter failure because of the Docker image for BLAT - Improvements to contaminant filter subworkflow and replacement for nf-core modules.
- [#398] - Update Input channels - Updated channel and params handling through workflows.
- [#405] - Fix Umicollapse algo wrong set - Fix potential bug in Umicollapse (not effective as we do not allow PE data in smrnaseq - but for consistency)
- [#420] - Fix mirTrace produces an error in test nextflex - Allow config mode to be used in mirtrace/qc
- [#425] - Raise minimum required NXF version for pipeline - usage of
arityin some modules now requires this - [#426] - Add nf-core mirtop - replace local for nf-core
mirtop - [#427] - Add nf-core pigz uncompress - replace local
mirdeep_pigz - [#429] - Make saving of intermediate files optional - Allows user to choose whether to save intermediate files or not. Replaces several params that referred to the same such as
params.save_alignedandparams.save_aligned_mirna_quant. - [#430] - Emit a warning if paired-end end data is used - pipeline handles SE data
- [#432] - Update MultiQC and all modules to latest version - Include UMIcollapse module in MultiQC.
- [#435] - Replace local instances of bowtie for nf-core
bowtie2andbowtie1- Additionally adds abioawkmodule that cleans fasta files. - [#438] - Update Mirtop to latest version - Process samples separately and join results with
CSVTK_JOIN. - [#439] - Fix Fix paired end samples processing - Fix paired end sample handling and add test profile.
- [#441] - Migrate local contaminant bowtie to nf-core - Replace local processes with
BOWTIE2_ALIGN. - [#443] - Migrate mirna and genome_quant bowtie to nf-core - Replace local processes with
BOWTIE_ALIGN. - [#447] - Fix Minor fixes and general pipeline cleanup - Update variable and processes names, update channel comments, remove unused modules and params.
- [#448] - Migrate local mirdeep to nf-core mirdeep2 modules and subworkflow and generate test profile for mirdeep2.
- [#452] - Fix Fix ch_bowtie_index channel structure and replace untarfiles with untar replace untarfiles with untar.
- [#457] - QC all input fasta files and clean them.
- [#459] - Update modules and subworkflows and fix linting.
- [#462] - Remove automatic wrapping of fasta files by
seqkit replace. Minor documentation updates. - [#464] - Added proper licences and authorship information to scripts in
binfolder
Software dependencies
| Dependency | Old version | New version |
|---|---|---|
bioawk | - | 1.0 |
bowtie | 1.3.1 | 1.3.0 |
bowtie2 | 2.4.5 | 2.5.2 |
csvtk | - | 0.30 |
gawk | - | 5.3.0 |
mirtop | 0.4.25 | 0.4.28 |
multiqc | 1.21 | 1.25.1 |
samtools | 1.19.2 | 1.21 |
seqkit | 2.6.1 | 2.8.1 |
v2.3.1 - 2024-04-18 - Gray Zinc Dalmation Patch
- [#328] - Fix casting issue in mirtrace module
- [#334] - Fix input channel cardinality in
MIRDEEP2_RUNmodule - [#334] - Fix bowtie conda version in
BOWTIE_MAP_SEQmodule - [#335] - Final fix for casting issue in mirtrace module
- [#337] - Fix three_prime_adapter issue, allow
auto-detectas value - [#342] - Fix phred offset issue, allow specifying phred offset for FASTQ files
- [#343] - Fix mirdeep2 output missing, fix mirdeep2 outputs missing in outdir
v2.3.0 - 2024-02-23 - Gray Zinc Dalmatian
- [#307] - Clean up config file and improve output folder structure
- [#299] - Bugfix for missing inputs in BAM stats (
genome_quant.r) - [#164] - UMI Handling Feature implemented in the pipeline
- [#302] - Merged in nf-core template v2.11.1
- [#294] - Fixed contamination screening issues
- [#309] - Merged in nf-core template v2.12.0
- [#310] - Removed unnecessarily separate mirtrace subworkflow, now using module instead
- [#311] - Fix use of FASTP, set
three_prime_adapterper default - [#314] - Add parameters to control publishing of intermediate results
- [#317] - Fixed issue with bowtie indices directly supplied
- [#318] - Merged in nf-core template v2.13.0 and pinned nf-validator
Parameters
| Old parameter | New parameter |
|---|---|
--with_umi | |
--umitools_extract_method | |
--umitools_method | |
--skip_umi_extract | |
--umitools_bc_pattern | |
--umi_discard_read | |
--save_umi_intermeds | |
--save_aligned | |
--save_aligned_mirna_quant | |
--save_merged |
Software dependencies
| Dependency | Old version | New version |
|---|---|---|
multiqc | 1.15 | 1.20 |
edgeR | 3.36.0 | 4.0.2 |
limma | 3.50.0 | 3.58.1 |
bioconvert | 0.4.3 | 1.1.1 |
mirdeep | 2.0.1 | 2.0.1.3 |
seqkit | 2.3.1 | 2.6.1 |
fastqc | 0.11.4 | 0.12.1 |
samtools | 1.17 | 1.19.2 |
umitools | 1.1.5 | |
umicollapse | 1.0.0 |
v2.2.4 - 2023-11-03
v2.2.2 - 2023-09-05 Carmine Mercury Borzoi
- [#253] - Remove globs from process alias when using ECR containers
- [#237] - Fix illumina protocol clip parameters to default
- Remove public_aws_ecr profile
- [#269] - Updated miRBase URLs with new location (old ones were broken)
Software dependencies
| Dependency | Old version | New version |
|---|---|---|
multiqc | 1.13 | 1.15 |
fastp | 0.23.2 | 0.23.4 |
Enhancements & fixes
Enhancements & fixes
- #220 - Fixed an issue where miRTrace reports fastq basename instead of sample ID
- #208 - Fixed usability of —skip_qc parameter
- #205 - Fix mirTrace Report to be a single report again instead of per sample reports
- #206 - Use % as separator in sed commands to enable conda working properly on OSX and Linux
- #224 - Fix Samplesheet print error
- Updated FASTP module to allow direct addition of adapter_fasta file to it
- Group samples by adapter sequence before running mirtrace
- Remove —skip_qc parameter
v2.1.0 - 2022-10-25 Maroon Tin Dalmatian
Enhancements & fixes
- [#12] - Enabled the use of
MirGeneDBas an alternative database insted ofmiRBase - [#113] - Added a optional contamination filtering step, including MultiQC plot
- [#137] - Fixed issue with mirTop and MultiQC by upgrading to MultiQC V1.13dev
- [#159] - Index files were not collected when
bowtie_indexwas used and thus mapping was failing - [#161] - Trimmed output was not as documented and not correctly published
- [#168] - Removed
mirtrace_protocolas the parameter was redundant andparams.protocolis entirely sufficient - Updated pipeline template to nf-core/tools 2.6.0
- [#188] - Dropped TrimGalore in favor of fastp QC and adapter trimming, improved handling of adapters and trimming parameters
- [#194] - Added default adapters file for FastP improved miRNA adapter trimming
Parameters
| Old parameter | New parameter |
|---|---|
--mirgenedb | |
--mirgenedb_species | |
--mirgenedb_gff | |
--mirgenedb_mature | |
--mirgenedb_hairpin | |
--contamination_filter | |
--rrna | |
--trna | |
--cdna | |
--ncrna | |
--pirna | |
--other_contamination |
v2.0.0 - 2022-05-31 Aqua Zinc Chihuahua
Major enhancements
- Updated pipeline template to nf-core/tools 2.4.1
- [#137] - Update mirtop container to version
0.4.25to fix multiqc error - Port pipeline to the updated Nextflow DSL2 syntax adopted on nf-core/modules
- Bump minimum Nextflow version from
20.04.0->21.10.3 - Point to the proper test data branch
- Software version(s) will now be reported for every module imported during a given pipeline execution
- Updated
nextflow_schema.jsonshould now display correctly on Nextflow Tower - Added mirtop logs to multiqc
- Allow a gene to be associated to a non null number of reads in all samples (in
edgeR_miRBase.rscript)
Other enhancements & fixes
- #134 - Fixed colSum of zero issues for edgeR_miRBase.R script
- #55 - update seqcluster to fix UMI-detecting bug
Parameters
| Old parameter | New parameter |
|---|---|
--conda | --enable_conda |
--clusterOptions |
NB: Parameter has been updated if both old and new parameter information is present. NB: Parameter has been added if just the new parameter information is present. NB: Parameter has been removed if parameter information isn’t present.
Software dependencies
Note, since the pipeline is now using Nextflow DSL2, each process will be run with its own Biocontainer. This means that on occasion it is entirely possible for the pipeline to be using different versions of the same tool. However, the overall software dependency changes compared to the last release have been listed below for reference.
| Dependency | Old version | New version |
|---|---|---|
bioconductor-edger | 3.26.5 | 3.36.0 |
bioconductor-limma | 3.40.2 | 3.50.0 |
mirdeep2 | 2.0.1.2 | 2.0.1.3 |
mirtop | 0.4.23 | 0.4.25 |
multiqc | 1.10.1 | 1.12.0 |
python | 3.7.3 | 3.8.3 |
r-base | 3.6.3 | 4.0.3 |
r-data.table | 1.12.4 | 1.14.2 |
r-gplots | 3.0.1.1 | 3.1.1 |
r-statmod | 1.4.32 | 1.4.36 |
samtools | 1.12 | 1.13 |
seqcluster | 1.2.7 | 1.2.9 |
seqkit | 0.16.0 | 2.0.0 |
trim-galore | 0.6.6 | 0.6.7 |
bioconvert | - | 0.4.3 |
htseq | - | - |
markdown | - | - |
pymdown-extensions | - | - |
pygments | - | - |
r-r.methodss3 | - | - |
NB: Dependency has been updated if both old and new version information is present. NB: Dependency has been added if just the new version information is present. NB: Dependency has been removed if version information isn’t present.
What’s Changed in terms of PRs
- bump version to 1.2.0dev by @KevinMenden in https://github.com/nf-core/smrnaseq/pull/92
- fix errors in miRDeep2 analysis when reads map to unplaced contigs in $refgenome by @Daniel-VM in https://github.com/nf-core/smrnaseq/pull/100
- Allow a gene to have reads in all samples in the edgeR analysis by @sdjebali in https://github.com/nf-core/smrnaseq/pull/93
- DSL2 update, mostly schema and config, a few linting items by @klkeys in https://github.com/nf-core/smrnaseq/pull/111
- DSL2: updated modules by @klkeys in https://github.com/nf-core/smrnaseq/pull/112
- migration to DSL2 by @lpantano in https://github.com/nf-core/smrnaseq/pull/104
- Important! Template update for nf-core/tools v2.1 by @nf-core-bot in https://github.com/nf-core/smrnaseq/pull/101
- Add new version syntax based on yml files to the pipeline by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/119
- fix testdata file by @lpantano in https://github.com/nf-core/smrnaseq/pull/120
- Samplesheet versioning by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/121
- Merge template 2.2 and update to latest DSL2 syntax by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/125
- Important! Template update for nf-core/tools v2.2 by @nf-core-bot in https://github.com/nf-core/smrnaseq/pull/123
- Update modules, bump multiqc version and other minor fixes by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/129
- Fix #134 by @apeltzer in https://github.com/nf-core/smrnaseq/pull/136
- Merging template updates 2.3 by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/141
- Important! Template update for nf-core/tools v2.3.2 by @nf-core-bot in https://github.com/nf-core/smrnaseq/pull/138
- Update publishDir mode by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/142
- Bump mirtop version 0.4.25 by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/143
- Fix seqcluster umi bug by @abartlett004 in https://github.com/nf-core/smrnaseq/pull/144
- Merging template 2.4.0 by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/148
- Important! Template update for nf-core/tools v2.4 by @nf-core-bot in https://github.com/nf-core/smrnaseq/pull/147
- Fix zenodo link and update changelog by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/150
- Fix linting by @JoseEspinosa in https://github.com/nf-core/smrnaseq/pull/157
- Update mirdeep2_run.nf by @wbau in https://github.com/nf-core/smrnaseq/pull/154
- PR for 2.0.0 by @apeltzer in https://github.com/nf-core/smrnaseq/pull/151
New Contributors
- @Daniel-VM made their first contribution in https://github.com/nf-core/smrnaseq/pull/100
- @klkeys made their first contribution in https://github.com/nf-core/smrnaseq/pull/111
- @JoseEspinosa made their first contribution in https://github.com/nf-core/smrnaseq/pull/119
- @abartlett004 made their first contribution in https://github.com/nf-core/smrnaseq/pull/144
- @wbau made their first contribution in https://github.com/nf-core/smrnaseq/pull/154
Full Changelog: https://github.com/nf-core/smrnaseq/compare/1.1.0…2.0.0
v1.1.0 - 2021-05-11
Major changes
:warning: Breaking changes!
This release contains several major (potentially breaking) changes:
- The main input parameter has been changed from
--readsto--inputto standardize the pipeline with other nf-core pipelines - All parameter documentation has moved into a new
nextflow_schema.jsonfile - A
libfolder with groovy helper classes has been added to the pipeline. This includes validation of input parameters using the schema defined in thenextflow_schema.jsonfile
General improvements
- remove spaces in genome headers and replace special nt by N in hairpin file for mirdeep2 to work. [#69]
- Accept custom genome and remove non-canonical letters in the genome. Thanks to @sdjebali. Follow up from [#63]
- Fix error when only one sample is in the input [#31]
- Made
CamelCasepipeline parameterssnake_caseand lower caseclip_R1->clip_r1three_prime_clip_R1->three_prime_clip_r1saveReference->save_referenceskipQC->skip_qcskipFastqc->skip_fastqcskipMultiqc->skip_multiqc
- Update with the latest
TEMPLATEversion for nf-core1.12.1 - Update conda environment with new packages and updates
- Added
--protocol customto allow custom adapter trimming modes [#41]] - Fix error when UMI is on the reads header: [#35]
- Updated
params.mirtrace_speciesto be properly initialised when using--genome, for all iGenomes species - Made
params.matureandparams.hairpindefault to miRBase FTP URL so that the file is automatically downloaded if not provided - Allow
.faor.fa.gzfiles for mature and hairpin FASTA files. - Add full-size benchmark / test dataset to run on AWS for each release (see
test_full.config) - Add
-fflag togunzipcommands to deal with soft-links - Add
--mirtrace_protocolparameter to allow for more flexible selection of this parameter - Added
--trim_galore_max_lengthoption [#77] - Solved memory usage issue for mirtrace in the main process and in the
get_software_versionsprocess [#68] - Removed logging of
single_endparameter and added missing parameters to schema and config files - Added “custom” as option for
--protocolin thenextflow_schema.json
Packaged software updates
fastqc=0.11.8->0.11.9trim-galore=0.6.3->0.6.5bowtie=1.2.2->1.2.3multiqc=1.7->1.9mirtop=0.4.22->0.4.23seqcluster=1.2.5->1.2.7htseq=0.11.2->0.11.3fastx_toolkit=0.0.14->0.0.14seqkit=0.10.1->0.12.0mirtrace=1.0.0->1.0.1- Added
conda-forge::python=3.7.3 - Added
conda-forge::markdown=3.1.1 - Added
conda-forge::pymdown-extensions=6.0 - Added
conda-forge::pygments=2.5.2 - Removed
conda-forge::r-markdown=1.0
v1.0.0 - 2019-09-21
- Add figures to output documentation
- Add samtools stats for genome alignments
- Add seqkit and remove razers
- Add mirtop and razers tools
- Adapt code and docs to nf-core template
- Update tools and Dockerfile/Singularity to match current template
Other
- Add “protocol” with pre-defined settings
- Add miRTrace in the pipeline.
- Switch from SciLifeLab/NGI-smRNAseq to nf-core/smrnaseq.
- Use Bowtie 1 instead of Bowtie 2 for the alignment to host reference genome.
- Add option for sequencing center in BAM file.
Dependency Updates
- openjdk 8.0.144 -> 11.0.1
- fastqc 0.11.7 -> 0.11.8
- trim-galore 0.5.0 -> 0.6.2
- bioconductor-edger 3.20.7 -> 3.26.0
- bioconductor-limma 3.34.9 -> 3.40.0
- conda-forge::r-data.table 1.11.4 -> 1.12.2
- conda-forge::r-gplots 3.0.1 -> 3.0.1.1
- conda-forge::r-r.methodss3 1.7.1 -> 1.7.1
- htseq 0.9.1 -> 0.11.2
- r-markdown 0.9
- Added mirtop 0.4.18a
- Removed razers3 3.5.3
- Added seqkit 0.10.1-1
- Added seqcluster 1.2.5
- conda-forge::r-base=3.5.1 -> 3.6.1
- conda-forge::r-statmod=1.4.30 -> 1.4.32
- conda-forge::r-markdown=0.9 -> 1.0
- trim-galore=0.6.2 -> 0.6.3
- mirtop=0.4.18a -> 0.4.22
- bioconductor-edger=3.26.0 -> 3.26.5
- bioconductor-limma=3.40.0 -> 3.40.2