nf-core/smrnaseq
A small-RNA sequencing analysis pipeline
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_species
bug - MakeMIRTRACE
process conditional. Add mirgenedb test. ](https://github.com/nf-core/smrnaseq/issues/348)>) - MakeMIRTRACE
process 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_fastp
throws 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_mirna
and 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
.bai
index for.csi
index insamtools_index
to 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
arity
in 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_aligned
andparams.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
bowtie2
andbowtie1
- Additionally adds abioawk
module 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
bin
folder
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_RUN
module - [#334] - Fix bowtie conda version in
BOWTIE_MAP_SEQ
module - [#335] - Final fix for casting issue in mirtrace module
- [#337] - Fix three_prime_adapter issue, allow
auto-detect
as 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_adapter
per 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
MirGeneDB
as 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_index
was used and thus mapping was failing - [#161] - Trimmed output was not as documented and not correctly published
- [#168] - Removed
mirtrace_protocol
as the parameter was redundant andparams.protocol
is 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.25
to 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.json
should 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.r
script)
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 #92
- fix errors in miRDeep2 analysis when reads map to unplaced contigs in $refgenome by @Daniel-VM in #100
- Allow a gene to have reads in all samples in the edgeR analysis by @sdjebali in #93
- DSL2 update, mostly schema and config, a few linting items by @klkeys in #111
- DSL2: updated modules by @klkeys in #112
- migration to DSL2 by @lpantano in #104
- Important! Template update for nf-core/tools v2.1 by @nf-core-bot in #101
- Add new version syntax based on yml files to the pipeline by @JoseEspinosa in #119
- fix testdata file by @lpantano in #120
- Samplesheet versioning by @JoseEspinosa in #121
- Merge template 2.2 and update to latest DSL2 syntax by @JoseEspinosa in #125
- Important! Template update for nf-core/tools v2.2 by @nf-core-bot in #123
- Update modules, bump multiqc version and other minor fixes by @JoseEspinosa in #129
- Fix #134 by @apeltzer in #136
- Merging template updates 2.3 by @JoseEspinosa in #141
- Important! Template update for nf-core/tools v2.3.2 by @nf-core-bot in #138
- Update publishDir mode by @JoseEspinosa in #142
- Bump mirtop version 0.4.25 by @JoseEspinosa in #143
- Fix seqcluster umi bug by @abartlett004 in #144
- Merging template 2.4.0 by @JoseEspinosa in #148
- Important! Template update for nf-core/tools v2.4 by @nf-core-bot in #147
- Fix zenodo link and update changelog by @JoseEspinosa in #150
- Fix linting by @JoseEspinosa in #157
- Update mirdeep2_run.nf by @wbau in #154
- PR for 2.0.0 by @apeltzer in #151
New Contributors
- @Daniel-VM made their first contribution in #100
- @klkeys made their first contribution in #111
- @JoseEspinosa made their first contribution in #119
- @abartlett004 made their first contribution in #144
- @wbau made their first contribution in #154
Full Changelog: 1.1.0…2.0.0
v1.1.0 - 2021-05-11
Major changes
⚠️ Breaking changes!
This release contains several major (potentially breaking) changes:
- The main input parameter has been changed from
--reads
to--input
to standardize the pipeline with other nf-core pipelines - All parameter documentation has moved into a new
nextflow_schema.json
file - A
lib
folder with groovy helper classes has been added to the pipeline. This includes validation of input parameters using the schema defined in thenextflow_schema.json
file
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
CamelCase
pipeline parameterssnake_case
and lower caseclip_R1
->clip_r1
three_prime_clip_R1
->three_prime_clip_r1
saveReference
->save_reference
skipQC
->skip_qc
skipFastqc
->skip_fastqc
skipMultiqc
->skip_multiqc
- Update with the latest
TEMPLATE
version for nf-core1.12.1
- Update conda environment with new packages and updates
- Added
--protocol custom
to allow custom adapter trimming modes [#41]] - Fix error when UMI is on the reads header: [#35]
- Updated
params.mirtrace_species
to be properly initialised when using--genome
, for all iGenomes species - Made
params.mature
andparams.hairpin
default to miRBase FTP URL so that the file is automatically downloaded if not provided - Allow
.fa
or.fa.gz
files for mature and hairpin FASTA files. - Add full-size benchmark / test dataset to run on AWS for each release (see
test_full.config
) - Add
-f
flag togunzip
commands to deal with soft-links - Add
--mirtrace_protocol
parameter to allow for more flexible selection of this parameter - Added
--trim_galore_max_length
option [#77] - Solved memory usage issue for mirtrace in the main process and in the
get_software_versions
process [#68] - Removed logging of
single_end
parameter and added missing parameters to schema and config files - Added “custom” as option for
--protocol
in thenextflow_schema.json
Packaged software updates
fastqc=0.11.8
->0.11.9
trim-galore=0.6.3
->0.6.5
bowtie=1.2.2
->1.2.3
multiqc=1.7
->1.9
mirtop=0.4.22
->0.4.23
seqcluster=1.2.5
->1.2.7
htseq=0.11.2
->0.11.3
fastx_toolkit=0.0.14
->0.0.14
seqkit=0.10.1
->0.12.0
mirtrace=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