Giter VIP home page Giter VIP logo

nf-core / dualrnaseq Goto Github PK

View Code? Open in Web Editor NEW
16.0 112.0 29.0 39.68 MB

Analysis of Dual RNA-seq data - an experimental method for interrogating host-pathogen interactions through simultaneous RNA-seq.

Home Page: https://nf-co.re/dualrnaseq

License: MIT License

Dockerfile 0.23% HTML 0.79% Python 31.18% Nextflow 58.50% Shell 5.04% R 4.27%
rna-seq dualrna-seq host-pathogen readmapping quantification nextflow pipeline workflow nf-core

dualrnaseq's Introduction

nf-core/dualrnaseq

GitHub Actions CI Status GitHub Actions Linting Status Nextflow DOI

install with bioconda Docker Get help on Slack

Dual RNA-seq pipeline

nf-core/dualrnaseq is a bioinformatics pipeline built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible.

Introduction

nf-core/dualrnaseq is specifically used for the analysis of Dual RNA-seq data, interrogating host-pathogen interactions through simultaneous RNA-seq.

This pipeline has been initially tested with eukaryotic host's including Human and Mouse, and pathogens including Salmonella enterica, Orientia tsutsugamushi, Streptococcus penumoniae, Escherichia coli and Mycobacterium leprae. The workflow should work with any eukaryotic and bacterial organisms with an available reference genome and annotation.

Method

The workflow merges host and pathogen genome annotations taking into account differences in annotation conventions, then processes raw data from FastQ inputs (FastQC, BBDuk), quantifies gene expression (STAR and HTSeq; STAR, Salmon and tximport; or Salmon in quasimapping mode and tximport), and summarises the results (MultiQC), as well as generating a number of custom summary plots and separate results tables for the pathogen and host. See the output documentation for more details.

Workflow

The workflow diagram below gives a simplified visual overview of how dualrnaseq has been designed.

nf-core/dualrnaseq

Documentation

The nf-core/dualrnaseq pipeline comes with documentation about the pipeline, found in the docs/ directory:

  1. Installation
  2. Pipeline configuration
  3. Running the pipeline
  4. Output and how to interpret the results
  5. Troubleshooting

Credits

nf-core/dualrnaseq was coded and written by Bozena Mika-Gospodorz and Regan Hayward.

We thank the following people for their extensive assistance in the development of this pipeline:

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

For further information or help, don't hesitate to get in touch on the Slack #dualrnaseq channel (you can join with this invite).

Citations

You can cite the nf-core publication as follows:

The nf-core framework for community-curated bioinformatics pipelines.

Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.

Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x. ReadCube: Full Access Link

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.

dualrnaseq's People

Contributors

apeltzer avatar bozmik avatar lbarquist avatar nf-core-bot avatar reganhayward avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dualrnaseq's Issues

rethink check_replicates process for DSL2

Think if there is a better way of including what the pipeline does in the check_replicates process for the DSL2 pipeline

dualrnaseq/main.nf

Lines 756 to 776 in 3e35f47

process check_replicates {
tag "check_replicates"
label 'process_high'
input:
val(sample_name) from scatter_plots.collect()
output:
stdout repl_scatter_plots_salmon_pathogen
stdout repl_scatter_plots_salmon_host
stdout repl_scatter_plots_salmon_alignment_host
stdout repl_scatter_plots_salmon_alignment_pathogen
stdout repl_scatter_plots_htseq_pathogen
stdout repl_scatter_plots_htseq_host
shell:
'''
python !{workflow.projectDir}/bin/check_replicates.py -s !{sample_name} 2>&1
'''
}

Samplesheet for AWS megatests should be stored in test-datasets repository

as the titel says, the samplesheets for full size tests should be stored in nf-core/test-datasets. If we ever need to move data then releases won't be affected and break

Check Documentation

I have checked the following places for your error:

Description of the bug

Steps to reproduce

Steps to reproduce the behaviour:

  1. Command line:
  2. See error:

Expected behaviour

Log files

Have you provided the following extra information/files:

  • The command used to run the pipeline
  • The .nextflow.log file

System

  • Hardware:
  • Executor:
  • OS:
  • Version

Nextflow Installation

  • Version:

Container engine

  • Engine:
  • version:
  • Image tag:

Additional context

Zenodo DOI Addition

Please add the Zenodo DOI to the main README.md

DOI

[![DOI](https://zenodo.org/badge/309982089.svg)](https://zenodo.org/badge/latestdoi/309982089)

`TEMPLATE` branch is dirty

At some point, commits from dev have been merged into the TEMPLATE branch. This makes the TEMPLATE branch "dirty" and will make the automated template synchronisation pull requests super difficult to merge.

Docs on how to fix this are here: https://nf-co.re/developers/sync#fixing-a-broken-template-branch - please do in conversation with me / other core-team members on Slack though. If I find time I will try to sort this out myself in the coming days.

feature names hardcoded in extract_annotations_from_gff.py

Description of the bug

I'm not sure if this is a bug or by design. There are parameters to override the default feature names in the host and pathogen annotations, but I'm not sure if they are being used in all parts of the pipeline. For instance, I get failures when running the step which calls extract_annotations_from_gff.py because it cannot find any features. When I look in the script I can see that 'gene_type', 'gene_id', 'gene_name', and 'transcript_name' are hardcoded, and thus the parameters which I specify to override these feature names are not used in this script. If I manually edit this file to use the corresponding feature names, it works.

Steps to reproduce

Use a reference annotation from Ensembl such as Saccharomyces_cerevisiae.R64-1-1.34.gff3 or Schizosaccharomyces_pombe.ASM294v2.51.gff3 which does not contain the default feature names.

Expected behaviour

I expect the feature names I specify when running the pipeline to override the default names, but the names in this script are hardcoded.

Are there plans to port the workflow to DSL2?

Currently, this pipeline will not run on the latest version of Nextflow. The error message " Nextflow DSL1 is no longer supported โ€” Update your script to DSL2, or use Nextflow 22.10.x or earlier", appears.

Parsing multiple gff features not working

This line doesn't seem to be parsing gff features correctly when more than one feature is given to the -gene_feature_gff_to_create_transcriptome_pathogen flag:

gene_features = [feature.replace('[' , '').replace(']','').replace(',','') for feature in args.gene_feature]

In my case, I'm getting the error "No features matched the input criteria of: ['genencRNARiboswitchthree_prime_utrfive_prime_utrIntron'] and locus_tag"

Possibly, the same applies to -gene_attribute_gff_to_create_transcriptome_pathogen and the respective host flags, but I didn't check those.

Create STAR_HTSEQ subworkflow + HTSEQ module

nf-core/dualrnaseq feature request

Create the STAR_HTSEQ subworkflow + HTSEQ module as a part of moving this pipeline to the DSL2.

Is your feature request related to a problem? Please describe

Describe the solution you'd like

Describe alternatives you've considered

Additional context

Pipeline needs updating to the latest template version

The pipeline is now getting a bit behind the nf-core template. It needs to be updated before any further development work can be done on the pipeline.

First, the TEMPLATE branch needs to be fixed - #13

Then a new automated sync PR needs to be created, as fixing #13 will remove the commits in #12 (closing new preemptively).

Again, I will try to have a go at fixing this stuff up myself in the coming days. At least opening the PR anyway, I will see about resolving the merge conflicts. If they're not too bad then I will try.

Update salmon index and salmon quantification process from DSL1 process to DSL2 module

nf-core/dualrnaseq feature request

Migrate salmon index and salmon quantification from DSL1 to DSL2.

Is your feature request related to a problem? Please describe

Dual RNA-seq pipeline uses DSL1. As a part of DSL2 migration effort salmon index and quantification must be migrated to DSL2.

Describe the solution you'd like

Salmon index and quantification are already publicly available nf-core modules. These were integrated to the pipeline.

Describe alternatives you've considered

Since there are nf-core salmon modules, there are not better solutions than to integrate them to the pipeline.

Additional context

salmon quantification is not executed for all samples

Check Documentation

I have checked the following places for your error:

Description of the bug

Steps to reproduce

Steps to reproduce the behaviour:

  1. Command line:
  2. See error:

Expected behaviour

Log files

Have you provided the following extra information/files:

  • The command used to run the pipeline
  • The .nextflow.log file

System

  • Hardware:
  • Executor:
  • OS:
  • Version

Nextflow Installation

  • Version:

Container engine

  • Engine:
  • version:
  • Image tag:

Additional context

Create COMBINE_QUANTIFICATION_RESULTS modules

Is your feature request related to a problem? Please describe

Describe the solution you'd like

This is about creating common module that will use /bin/collect_quantification_data.py and possibly replace following modules

  • combine_quantification_tables_salmon
  • combine_host_quant_gene_level_salmon
  • combine_annotations_quant_gene_level_salmon
  • combine_host_quant_gene_level_salmon_alignment
  • combine_quantification_tables_salmon_alignment_mode

Describe alternatives you've considered

Additional context

Output separate coverage files for host and pathogen

Pretty much as the title says. The current output when setting --outWigType is a unique coverage file for the merged host-pathogen genome. This is not ideal for visualization, therefore getting separate files would be of great help.

seaborn version incompats.

Is your feature request related to a problem? Please describe

Seaborn v11.2 has totally dropped the JointGrid.annotate() method after previous version threw warnings saying it would be deprecated which causes an issue with the scatter_plots.py script in the bin directory.

Describe the solution you'd like

A way of inserting the Pearson's R value text into the top left corner of the scatterplots that also works on Seaborn v.0.11.2 and also on legacy v0.9.0.

Describe alternatives you've considered

Use Matplotlib's Axes text() feature, which Seaborn allows, though a simple top left positioning requires some "chewing" and Pearson's r has to be precalculated because this method does not accept a function, and has no convenient positioning via loc as annotate() used to.

The following could possibly do it (at line 35 bin/scatter_plots.py)

    pearr = stats.pearsonr(TPMs.rep1,TPMs.rep2)
    st=f"Pearson's r = {pearr[0]:.4f}"
    g1.ax_joint.text(0.05, 0.95, st, fontsize=15, transform=g1.ax_joint.transAxes, verticalalignment='top')

Additional context

Proof of concept:

#!/usr/bin/env python3
# This works for both Seaborn v0.9.0 and v0.11.2
import seaborn as sns
from scipy import stats
import matplotlib.pyplot as plt

tips = sns.load_dataset("tips")

g = sns.JointGrid(x="total_bill", y="tip", data=tips)
g = g.plot_joint(plt.scatter, color="g", s=40, edgecolor="white")
g = g.plot_marginals(sns.distplot, kde=False, color="g")

# OK here is the deprecated annotate function, This will only work in v0.9.0 with deprecation warning.
# g = g.annotate(stats.pearsonr, template="{stat}: {val:.4f}", stat="Pearson's r", loc="upper left", fontsize=15)
# alternative requires a few more lines:
pearr= stats.pearsonr(tips.total_bill, tips.tip) # precalc
st=f"Pearson's r = {pearr[0]:.4f}" # stringify
g.ax_joint.text(0.05, 0.95, st, fontsize=15, transform=g.ax_joint.transAxes, verticalalignment='top')
g.savefig("d09.pdf", format="pdf")

A new module to combine the host ambig and unique counts

nf-core/dualrnaseq feature request

Create a new module to combine the host ambig and unique counts.

Is your feature request related to a problem? Please describe

Describe the solution you'd like

Move host_comb_ambig_uniq_alignment_based process as a separate nf-core module (DSL1 --> DSL2).

Describe alternatives you've considered

Additional context

Update Cutadapt process to DSL2

nf-core/dualrnaseq feature request

Hi there!

Is your feature request related to a problem? Please describe

As part of translating the pipeline from DSL to DSL2, the process Cutadapt needs to be converted to DSL2.

Describe the solution you'd like

Using code from nf-core Modules repository

Describe alternatives you've considered

Additional context

Workflow does not start due to error

Check Documentation

I have checked the following places for your error:

Description of the bug

Steps to reproduce

Steps to reproduce the behaviour:

  1. Command line:
  2. See error:

Log files

Jul-20 15:28:18.394 [main] DEBUG nextflow.cli.Launcher - $> nextflow run nf-core/dualrnaseq -r 1.0.0 -profile docker --input '/mnt/f/tes/.fastq.gz' --single_end = true --fasta_host /mnt/c/Linux/references/GRCh38_latest.fa --fasta_pathogen /mnt/c/Linux/references/NC_045512_2.fasta --gff_host /mnt/c/Linux/references/GRCh38_latest_genomic.gff --gff_pathogen /mnt/c/Linux/references/NC_045512_2_genomic.gff --run_star --outdir /mnt/c/Linux/tesr
Jul-20 15:28:18.474 [main] INFO nextflow.cli.CmdRun - N E X T F L O W ~ version 21.04.2
Jul-20 15:28:19.193 [main] DEBUG nextflow.scm.AssetManager - Git config: /home/rui/.nextflow/assets/nf-core/dualrnaseq/.git/config; branch: master; remote: origin; url: https://github.com/nf-core/dualrnaseq.git
Jul-20 15:28:19.211 [main] DEBUG nextflow.scm.AssetManager - Git config: /home/rui/.nextflow/assets/nf-core/dualrnaseq/.git/config; branch: master; remote: origin; url: https://github.com/nf-core/dualrnaseq.git
Jul-20 15:28:19.346 [main] INFO nextflow.cli.CmdRun - Launching nf-core/dualrnaseq [voluminous_lovelace] - revision: d8dcd8a [1.0.0]
Jul-20 15:28:19.761 [main] DEBUG nextflow.config.ConfigBuilder - Found config base: /home/rui/.nextflow/assets/nf-core/dualrnaseq/nextflow.config
Jul-20 15:28:19.762 [main] DEBUG nextflow.config.ConfigBuilder - Parsing config file: /home/rui/.nextflow/assets/nf-core/dualrnaseq/nextflow.config
Jul-20 15:28:19.768 [main] DEBUG nextflow.config.ConfigBuilder - Applying config profile: docker
Jul-20 15:28:19.979 [main] INFO org.pf4j.DefaultPluginStatusProvider - Enabled plugins: []
Jul-20 15:28:19.980 [main] INFO org.pf4j.DefaultPluginStatusProvider - Disabled plugins: []
Jul-20 15:28:19.983 [main] INFO org.pf4j.DefaultPluginManager - PF4J version 3.4.1 in 'deployment' mode
Jul-20 15:28:20.143 [main] DEBUG nextflow.config.ConfigBuilder - In the following config snippet the attribute params.genomes_ignore is empty:
genome_host=false
genome_pathogen=false
input='/mnt/f/tes/
.fastq.gz'
single_end='='
outdir='/mnt/c/Linux/tesr'
publish_dir_mode='copy'
run_cutadapt=false
a='AGATCGGAAGAGCACACGTCTGAACTCCAGTCA'
A='AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT'
quality_cutoff='10'
cutadapt_params=''
run_bbduk=false
minlen='18'
qtrim='r'
trimq='10'
ktrim='r'
k='17'
mink='11'
hdist='1'
adapters=/home/rui/.nextflow/assets/nf-core/dualrnaseq/assets/adapters.fa
bbduk_params=''
skip_fastqc=false
fastqc_params=''
libtype=''
generate_salmon_uniq_ambig=false
incompatPrior=0.0
gene_attribute_gff_to_create_transcriptome_host='transcript_id'
gene_feature_gff_to_create_transcriptome_host=['exon', 'tRNA']
gene_attribute_gff_to_create_transcriptome_pathogen='locus_tag'
gene_feature_gff_to_create_transcriptome_pathogen=['gene', 'sRNA', 'tRNA', 'rRNA']
read_transcriptome_fasta_host_from_file=false
read_transcriptome_fasta_pathogen_from_file=false
run_salmon_selective_alignment=false
kmer_length=21
writeUnmappedNames=false
softclipOverhangs=false
dumpEq=false
writeMappings=false
keepDuplicates=false
salmon_sa_params_index=''
salmon_sa_params_mapping=''
run_star=true
outSAMunmapped='Within'
outSAMattributes='Standard'
outFilterMultimapNmax=999
outFilterType='BySJout'
alignSJoverhangMin=8
alignSJDBoverhangMin=1
outFilterMismatchNmax=999
outFilterMismatchNoverReadLmax=1
alignIntronMin=20
alignIntronMax=1000000
alignMatesGapMax=1000000
limitBAMsortRAM=0
winAnchorMultimapNmax=999
sjdbOverhang=100
outWigType='None'
outWigStrand='Stranded'
star_index_params=''
star_alignment_params=''
quantTranscriptomeBan='Singleend'
star_salmon_index_params=''
star_salmon_alignment_params=''
run_salmon_alignment_based_mode=false
salmon_alignment_based_params=''
run_htseq_uniquely_mapped=false
stranded='yes'
max_reads_in_buffer=30000000
minaqual=10
gene_feature_gff_to_quantify_host=['exon', 'tRNA']
gene_feature_gff_to_quantify_pathogen=['gene', 'sRNA', 'tRNA', 'rRNA']
host_gff_attribute='gene_id'
pathogen_gff_attribute='locus_tag'
htseq_params=''
mapping_statistics=false
rna_classes_to_replace_host=/home/rui/.nextflow/assets/nf-core/dualrnaseq/data/RNA_classes_to_replace.tsv
custom_config_version='master'
fasta_host='/mnt/c/Linux/references/GRCh38_latest.fa'
fasta_pathogen='/mnt/c/Linux/references/NC_045512_2.fasta'
gff_host='/mnt/c/Linux/references/GRCh38_latest_genomic.gff'
gff_pathogen='/mnt/c/Linux/references/NC_045512_2_genomic.gff'
custom_config_base=https://raw.githubusercontent.com/nf-core/configs/master
hostnames=['binac':['.binac.uni-tuebingen.de'], 'cbe':['.cbe.vbc.ac.at'], 'cfc':['.hpc.uni-tuebingen.de'], 'crick':['.thecrick.org'], 'icr_davros':['.davros.compute.estate'], 'imperial':['.hpc.ic.ac.uk'], 'imperial_mb':['.hpc.ic.ac.uk'], 'genotoul':['.genologin1.toulouse.inra.fr', '.genologin2.toulouse.inra.fr'], 'genouest':['.genouest.org'], 'uppmax':['.uppmax.uu.se'], 'utd_ganymede':['ganymede.utdallas.edu'], 'utd_sysbio':['sysbio.utdallas.edu']]
config_profile_description=false
config_profile_contact=false
config_profile_url=false
name=false
multiqc_config=false
email=false
email_on_fail=false
max_multiqc_email_size=25 MB
plaintext_email=false
monochrome_logs=false
help=false
tracedir=/mnt/c/Linux/tesr/pipeline_info
max_memory=128 GB
max_cpus=16
max_time=10d
genomes {
GRCh38 {
fasta_host='path_to_references/human/GRCh38.genome.fa'
gff_host='path_to_references/human/GRCh38.annotation.gff3'
gff_host_tRNA='path_to_references/human/GRCh38.gencode.tRNAs.gff3'
transcriptome_host='path_to_references/human/GRCh38.gencode.transcripts.fa'
}
SL1344 {
fasta_pathogen='path_to_references/Salmonella/SL1344.fasta'
gff_pathogen='path_to_references/Salmonella/SL1344.gff'
}
My_Bacteria {
fasta_pathogen='path_to_references/My_Bacteria/My_Bacteria.fasta'
gff_pathogen='path_to_references/My_Bacteria/My_Bacteria.gff'
}
}

Jul-20 15:28:20.147 [main] ERROR nextflow.cli.Launcher - Unknown config attribute params.genomes_ignore -- check config file: /home/rui/.nextflow/assets/nf-core/dualrnaseq/nextflow.config
nextflow.exception.ConfigParseException: Unknown config attribute params.genomes_ignore -- check config file: /home/rui/.nextflow/assets/nf-core/dualrnaseq/nextflow.config
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:72)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:263)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:277)
at nextflow.config.ConfigBuilder.validate(ConfigBuilder.groovy:444)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:212)
at nextflow.config.ConfigBuilder.validate(ConfigBuilder.groovy:451)
at nextflow.config.ConfigBuilder.validate(ConfigBuilder.groovy:431)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:194)
at nextflow.config.ConfigBuilder.merge0(ConfigBuilder.groovy:405)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:203)
at nextflow.config.ConfigBuilder.buildConfig0(ConfigBuilder.groovy:354)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:194)
at nextflow.config.ConfigBuilder.buildGivenFiles(ConfigBuilder.groovy:312)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
at nextflow.config.ConfigBuilder.buildConfigObject(ConfigBuilder.groovy:729)
at nextflow.config.ConfigBuilder.build(ConfigBuilder.groovy:742)
at nextflow.cli.CmdRun.run(CmdRun.groovy:272)
at nextflow.cli.Launcher.run(Launcher.groovy:475)
at nextflow.cli.Launcher.main(Launcher.groovy:657)

System

  • Hardware:
  • Executor:
  • OS:
  • Version

Nextflow Installation

  • Version:

Container engine

  • Engine:
  • version:
  • Image tag:

Additional context

Update extract_annotations_* to DSL2

nf-core/dualrnaseq feature request

Update extract_annotations to DSL2

Is your feature request related to a problem? Please describe

As part of translating the pipeline from DSL1 to DSL2, the processes family extract_annotations_* needs to be converted to DSL2.

Describe the solution you'd like

Create a new module for that

Describe alternatives you've considered

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.