@@ -227,6 +227,20 @@ if( params.bt2_index && params.mapper == 'bowtie2' ){
227227 bwa_index_bwamem = Channel . empty()
228228}
229229
230+ // Adapter removal adapter-list setup
231+ if ( ! params. clip_adapters_list ) {
232+ Channel
233+ .fromPath(" $projectDir /assets/nf-core_eager_dummy2.txt" , checkIfExists : true )
234+ .ifEmpty { exit 1 , " [nf-core/eager] error: adapters list file not found. Please check input. Supplied: --clip_adapters_list '${ params.clip_adapters_list} '." }
235+ .into {ch_adapterlist}
236+ } else {
237+ Channel
238+ .fromPath(" ${ params.clip_adapters_list} " , checkIfExists : true )
239+ .ifEmpty { exit 1 , " [nf-core/eager] error: adapters list file not found. Please check input. Supplied: --clip_adapters_list '${ params.clip_adapters_list} '." }
240+ .into {ch_adapterlist}
241+ }
242+
243+
230244// SexDetermination channel set up and bedfile validation
231245if (! params. sexdeterrmine_bedfile) {
232246 ch_bed_for_sexdeterrmine = Channel . fromPath(" $projectDir /assets/nf-core_eager_dummy.txt" )
@@ -765,25 +779,27 @@ process adapter_removal {
765779
766780 input:
767781 tuple samplename, libraryid, lane, seqtype, organism, strandedness, udg, file(r1), file(r2) from ch_fastp_for_adapterremoval
782+ path adapterlist from ch_adapterlist. collect(). dump(tag : " Adapter list" )
768783
769784 output:
770785 tuple samplename, libraryid, lane, seqtype, organism, strandedness, udg, path(" output/*{combined.fq,.se.truncated,pair1.truncated}.gz" ) into ch_output_from_adapterremoval_r1
771786 tuple samplename, libraryid, lane, seqtype, organism, strandedness, udg, path(" output/*pair2.truncated.gz" ) optional true into ch_output_from_adapterremoval_r2
772787 tuple samplename, libraryid, lane, seqtype, organism, strandedness, udg, path(" output/*.settings" ) into ch_adapterremoval_logs
773-
788+
774789 when:
775790 ! params. skip_adapterremoval
776791
777792 script:
778- base = " ${ r1.baseName} _L${ lane} "
793+ def base = " ${ r1.baseName} _L${ lane} "
794+ def adapters_to_remove = ! params. clip_adapters_list ? " --adapter1 ${ params.clip_forward_adaptor} --adapter2 ${ params.clip_reverse_adaptor} " : " --adapter-list ${ adapterlist} "
779795 // This checks whether we skip trimming and defines a variable respectively
780796 def preserve5p = params. preserve5p ? ' --preserve5p' : ' ' // applies to any AR command - doesn't affect output file combination
781797
782798 if ( seqtype == ' PE' && ! params. skip_collapse && ! params. skip_trim && ! params. mergedonly && ! params. preserve5p ) {
783799 """
784800 mkdir -p output
785801
786- AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} --collapse ${ preserve5p} --trimns --trimqualities --adapter1 ${ params.clip_forward_adaptor } --adapter2 ${ params.clip_reverse_adaptor } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
802+ AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} --collapse ${ preserve5p} --trimns --trimqualities ${ adapters_to_remove } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
787803
788804 cat *.collapsed.gz *.collapsed.truncated.gz *.singleton.truncated.gz *.pair1.truncated.gz *.pair2.truncated.gz > output/${ base} .pe.combined.tmp.fq.gz
789805
@@ -797,7 +813,7 @@ process adapter_removal {
797813 """
798814 mkdir -p output
799815
800- AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} --collapse ${ preserve5p} --trimns --trimqualities --adapter1 ${ params.clip_forward_adaptor } --adapter2 ${ params.clip_reverse_adaptor } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
816+ AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} --collapse ${ preserve5p} --trimns --trimqualities ${ adapters_to_remove } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
801817
802818 cat *.collapsed.gz *.singleton.truncated.gz *.pair1.truncated.gz *.pair2.truncated.gz > output/${ base} .pe.combined.tmp.fq.gz
803819
@@ -810,7 +826,7 @@ process adapter_removal {
810826 } else if ( seqtype == ' PE' && ! params. skip_collapse && ! params. skip_trim && params. mergedonly && ! params. preserve5p ) {
811827 """
812828 mkdir -p output
813- AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} --collapse ${ preserve5p} --trimns --trimqualities --adapter1 ${ params.clip_forward_adaptor } --adapter2 ${ params.clip_reverse_adaptor } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
829+ AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} --collapse ${ preserve5p} --trimns --trimqualities ${ adapters_to_remove } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
814830
815831 cat *.collapsed.gz *.collapsed.truncated.gz > output/${ base} .pe.combined.tmp.fq.gz
816832
@@ -823,7 +839,7 @@ process adapter_removal {
823839 } else if ( seqtype == ' PE' && ! params. skip_collapse && ! params. skip_trim && params. mergedonly && params. preserve5p ) {
824840 """
825841 mkdir -p output
826- AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} --collapse ${ preserve5p} --trimns --trimqualities --adapter1 ${ params.clip_forward_adaptor } --adapter2 ${ params.clip_reverse_adaptor } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
842+ AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} --collapse ${ preserve5p} --trimns --trimqualities ${ adapters_to_remove } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
827843
828844 cat *.collapsed.gz > output/${ base} .pe.combined.tmp.fq.gz
829845
@@ -864,15 +880,15 @@ process adapter_removal {
864880 } else if ( seqtype == ' PE' && params. skip_collapse && ! params. skip_trim ) {
865881 """
866882 mkdir -p output
867- AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} ${ preserve5p} --trimns --trimqualities --adapter1 ${ params.clip_forward_adaptor } --adapter2 ${ params.clip_reverse_adaptor } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
883+ AdapterRemoval --file1 ${ r1} --file2 ${ r2} --basename ${ base} .pe --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} ${ preserve5p} --trimns --trimqualities ${ adapters_to_remove } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
868884
869885 mv ${ base} .pe.pair*.truncated.gz *.settings output/
870886 """
871887 } else if ( seqtype != ' PE' && ! params. skip_trim ) {
872888 // SE, collapse not possible, trim reads only
873889 """
874890 mkdir -p output
875- AdapterRemoval --file1 ${ r1} --basename ${ base} .se --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} ${ preserve5p} --trimns --trimqualities --adapter1 ${ params.clip_forward_adaptor } --adapter2 ${ params.clip_reverse_adaptor } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
891+ AdapterRemoval --file1 ${ r1} --basename ${ base} .se --gzip --threads ${ task.cpus} --qualitymax ${ params.qualitymax} ${ preserve5p} --trimns --trimqualities ${ adapters_to_remove } --minlength ${ params.clip_readlength} --minquality ${ params.clip_min_read_quality} --minadapteroverlap ${ params.min_adap_overlap}
876892 mv *.settings *.se.truncated.gz output/
877893 """
878894 } else if ( seqtype != ' PE' && params. skip_trim ) {
0 commit comments