diff --git a/bin/hicpro_merge_validpairs.sh b/bin/hicpro_merge_validpairs.sh index 5f383c534753bf77b05665501453cb9d501bf2c0..09f97277aee9ee4e23199c2b996077db63e30464 100755 --- a/bin/hicpro_merge_validpairs.sh +++ b/bin/hicpro_merge_validpairs.sh @@ -10,8 +10,8 @@ rmDup=0 prefix="" while getopts ":dp:" opt; do case "$opt" in - d) rmDup=1 ;; - p) prefix=$OPTARG ;; + d) rmDup=1 ;; + p) prefix=$OPTARG ;; esac done shift $(( OPTIND - 1 )) @@ -21,11 +21,11 @@ vpairs="$@" if [[ ${rmDup} == 1 ]]; then ## Sort valid pairs and remove read pairs with same starts (i.e duplicated read pairs) sort -S 50% -k2,2V -k3,3n -k5,5V -k6,6n -m ${vpairs} | \ - awk -F"\t" 'BEGIN{c1=0;c2=0;s1=0;s2=0}(c1!=$2 || c2!=$5 || s1!=$3 || s2!=$6){print;c1=$2;c2=$5;s1=$3;s2=$6}' > ${prefix}.allValidPairs + awk -F"\t" 'BEGIN{c1=0;c2=0;s1=0;s2=0}(c1!=$2 || c2!=$5 || s1!=$3 || s2!=$6){print;c1=$2;c2=$5;s1=$3;s2=$6}' > ${prefix}.allValidPairs else cat ${vpairs} > ${prefix}.allValidPairs fi - + echo -e -n "valid_interaction\t" > ${prefix}_allValidPairs.mergestat cat ${vpairs} | wc -l >> ${prefix}_allValidPairs.mergestat echo -e -n "valid_interaction_rmdup\t" >> ${prefix}_allValidPairs.mergestat diff --git a/bin/src/cutsite_trimming.cpp b/bin/src/cutsite_trimming.cpp index 03cb20f3f74ff0282ad6560f029d0a9975fe517b..5cccebf4cd15500d41b746467681c8a218e29ac1 100644 --- a/bin/src/cutsite_trimming.cpp +++ b/bin/src/cutsite_trimming.cpp @@ -1,5 +1,5 @@ // HiC-Pro -// Copyright 2015 Institut Curie +// Copyright 2015 Institut Curie // Author(s): Nicolas Servant // Contact: nicolas.servant@curie.fr // This software is distributed without any guarantee under the terms of the BSD-3 licence @@ -21,8 +21,7 @@ static int usage(int ret=1) return ret; } -static int get_options(int argc, char* argv[], std::string& fastqFile, - std::vector<std::string>& cutSites, std::string& output, bool& rmuntrim) +static int get_options(int argc, char* argv[], std::string& fastqFile, std::vector<std::string>& cutSites, std::string& output, bool& rmuntrim) { prog = argv[0]; if (argc == 1){ @@ -34,84 +33,82 @@ static int get_options(int argc, char* argv[], std::string& fastqFile, if (!strcmp(opt, "--fastq")) { fastqFile = std::string(argv[++ac]); } - else if (!strcmp(opt, "--cutsite")) { - std::string cutSitesSequence; - cutSitesSequence = std::string(argv[++ac]); - size_t pos = cutSitesSequence.find(","); - size_t begin = 0; - while(pos != std::string::npos){ - cutSites.push_back(cutSitesSequence.substr(begin, pos - begin)); - begin = pos + 1; - pos = cutSitesSequence.find(",", begin + 1); - } - cutSites.push_back(cutSitesSequence.substr(begin, pos)); - } - else if (!strcmp(opt, "--out")) { - output = std::string(argv[++ac]); - } - else if (!strcmp(opt, "--rmuntrim")) { - rmuntrim = true; - } + else if (!strcmp(opt, "--cutsite")) { + std::string cutSitesSequence; + cutSitesSequence = std::string(argv[++ac]); + size_t pos = cutSitesSequence.find(","); + size_t begin = 0; + while(pos != std::string::npos){ + cutSites.push_back(cutSitesSequence.substr(begin, pos - begin)); + begin = pos + 1; + pos = cutSitesSequence.find(",", begin + 1); + } + cutSites.push_back(cutSitesSequence.substr(begin, pos)); + } + else if (!strcmp(opt, "--out")) { + output = std::string(argv[++ac]); + } + else if (!strcmp(opt, "--rmuntrim")) { + rmuntrim = true; + } }else { - std::cerr << prog << ": unknown option " << opt << std::endl; - return usage(); - } + std::cerr << prog << ": unknown option " << opt << std::endl; + return usage(); + } } return 0; } -static int trim_fastq(std::string& fastqFile, - std::vector<std::string>& cutSites, - std::string& outFile, bool& rmuntrim){ +static int trim_fastq(std::string& fastqFile, std::vector<std::string>& cutSites, std::string& outFile, bool& rmuntrim){ int trim_count=0; std::string ID; std::ifstream ifs (fastqFile); std::ofstream ofs (outFile); - + if (ifs.is_open()){ while (getline(ifs, ID)) { - std::string seq; - std::string dummy; - std::string qual; - - getline(ifs, seq); - getline(ifs, dummy); - getline(ifs, qual); + std::string seq; + std::string dummy; + std::string qual; + + getline(ifs, seq); + getline(ifs, dummy); + getline(ifs, qual); - bool find_pos = false; - size_t pos = std::string::npos; - for (std::vector<std::string>::iterator it = cutSites.begin(); it != cutSites.end(); ++it){ - size_t tmp_pos = seq.find(*it); - if (tmp_pos != std::string::npos) { - // If find_pos is alread True, there is a problem (there are two cut - // sites in the same read).) - if (find_pos == true){ - if(tmp_pos < pos) { - pos = tmp_pos; - } - } else { - find_pos = true; - pos = tmp_pos; - } - } - } - - if (pos != std::string::npos) { - trim_count++; - ofs << ID << '\n'; - ofs << seq.substr(0, pos) << '\n'; - ofs << "+\n"; - ofs << qual.substr(0, pos) << '\n'; - } else { - if (!rmuntrim){ - ofs << ID << '\n'; - ofs << seq << '\n'; - ofs << "+\n"; - ofs << qual << '\n'; - } - } - find_pos = false; - } + bool find_pos = false; + size_t pos = std::string::npos; + for (std::vector<std::string>::iterator it = cutSites.begin(); it != cutSites.end(); ++it){ + size_t tmp_pos = seq.find(*it); + if (tmp_pos != std::string::npos) { + // If find_pos is alread True, there is a problem (there are two cut + // sites in the same read).) + if (find_pos == true){ + if(tmp_pos < pos) { + pos = tmp_pos; + } + } else { + find_pos = true; + pos = tmp_pos; + } + } + } + + if (pos != std::string::npos) { + trim_count++; + ofs << ID << '\n'; + ofs << seq.substr(0, pos) << '\n'; + ofs << "+\n"; + ofs << qual.substr(0, pos) << '\n'; + } else { + if (!rmuntrim){ + ofs << ID << '\n'; + ofs << seq << '\n'; + ofs << "+\n"; + ofs << qual << '\n'; + } + } + find_pos = false; + } }else{ std::cerr << "Error : Cannot open file : " << fastqFile; } @@ -135,7 +132,7 @@ int main(int argc, char* argv[]) if (fastqFile.empty() || cutSites.size() == 0 || outFile.empty()){ usage(); - exit(ret); + exit(ret); } int trim_count=trim_fastq(fastqFile, cutSites, outFile, rmuntrim); @@ -144,4 +141,3 @@ int main(int argc, char* argv[]) } - diff --git a/conf/igenomes.config b/conf/igenomes.config index 61de40b1236b8be39ac009ff54f46d99ceebeab6..3b50325dd6c5c629fd80c79b540745b8127ad8a9 100644 --- a/conf/igenomes.config +++ b/conf/igenomes.config @@ -17,147 +17,147 @@ params { } 'GRCh38' { fasta = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/WholeGenomeFasta/genome.fa" - bowtie2 = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/Bowtie2Index/" - } - 'GRCm38' { + bowtie2 = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/Bowtie2Index/" + } + 'GRCm38' { fasta = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/Bowtie2Index/" } - 'TAIR10' { + 'TAIR10' { fasta = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Sequence/Bowtie2Index/" - } - 'EB2' { + } + 'EB2' { fasta = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Sequence/Bowtie2Index/" - } - 'UMD3.1' { + } + 'UMD3.1' { fasta = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Sequence/Bowtie2Index/" - } - 'WBcel235' { + } + 'WBcel235' { fasta = "${params.igenomes_base}/Caenorhabditis_elegans/Ensembl/WBcel235/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Caenorhabditis_elegans/Ensembl/WBcel235/Sequence/Bowtie2Index/" - } - 'CanFam3.1' { + } + 'CanFam3.1' { fasta = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Sequence/Bowtie2Index/" - } - 'GRCz10' { + } + 'GRCz10' { fasta = "${params.igenomes_base}/Danio_rerio/Ensembl/GRCz10/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Danio_rerio/Ensembl/GRCz10/Sequence/Bowtie2Index/" - } - 'BDGP6' { + } + 'BDGP6' { fasta = "${params.igenomes_base}/Drosophila_melanogaster/Ensembl/BDGP6/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Drosophila_melanogaster/Ensembl/BDGP6/Sequence/Bowtie2Index/" - } - 'EquCab2' { + } + 'EquCab2' { fasta = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Sequence/Bowtie2Index/" - } - 'EB1' { + } + 'EB1' { fasta = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Sequence/Bowtie2Index/" - } - 'Galgal4' { + } + 'Galgal4' { fasta = "${params.igenomes_base}/Gallus_gallus/Ensembl/Galgal4/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Gallus_gallus/Ensembl/Galgal4/Sequence/Bowtie2Index/" - } - 'Gm01' { + } + 'Gm01' { fasta = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Sequence/Bowtie2Index/" - } - 'Mmul_1' { + } + 'Mmul_1' { fasta = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Sequence/Bowtie2Index/" - } - 'IRGSP-1.0' { + } + 'IRGSP-1.0' { fasta = "${params.igenomes_base}/Oryza_sativa_japonica/Ensembl/IRGSP-1.0/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Oryza_sativa_japonica/Ensembl/IRGSP-1.0/Sequence/Bowtie2Index/" - } - 'CHIMP2.1.4' { + } + 'CHIMP2.1.4' { fasta = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Sequence/Bowtie2Index/" - } - 'Rnor_6.0' { + } + 'Rnor_6.0' { fasta = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_6.0/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_6.0/Sequence/Bowtie2Index/" - } - 'R64-1-1' { + } + 'R64-1-1' { fasta = "${params.igenomes_base}/Saccharomyces_cerevisiae/Ensembl/R64-1-1/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Saccharomyces_cerevisiae/Ensembl/R64-1-1/Sequence/Bowtie2Index/" - } - 'EF2' { + } + 'EF2' { fasta = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Sequence/Bowtie2Index/" - } - 'Sbi1' { + } + 'Sbi1' { fasta = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Sequence/Bowtie2Index/" - } - 'Sscrofa10.2' { + } + 'Sscrofa10.2' { fasta = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Sequence/Bowtie2Index/" - } - 'AGPv3' { + } + 'AGPv3' { fasta = "${params.igenomes_base}/Zea_mays/Ensembl/AGPv3/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Zea_mays/Ensembl/AGPv3/Sequence/Bowtie2Index/" - } - 'hg38' { + } + 'hg38' { fasta = "${params.igenomes_base}/Homo_sapiens/UCSC/hg38/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Homo_sapiens/UCSC/hg38/Sequence/Bowtie2Index/" - } - 'hg19' { + } + 'hg19' { fasta = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Sequence/Bowtie2Index/" - } - 'mm10' { + } + 'mm10' { fasta = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Sequence/Bowtie2Index/" - } - 'bosTau8' { + } + 'bosTau8' { fasta = "${params.igenomes_base}/Bos_taurus/UCSC/bosTau8/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Bos_taurus/UCSC/bosTau8/Sequence/Bowtie2Index/" - } - 'ce10' { + } + 'ce10' { fasta = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Sequence/Bowtie2Index/" - } - 'canFam3' { + } + 'canFam3' { fasta = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Sequence/Bowtie2Index/" - } - 'danRer10' { + } + 'danRer10' { fasta = "${params.igenomes_base}/Danio_rerio/UCSC/danRer10/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Danio_rerio/UCSC/danRer10/Sequence/Bowtie2Index/" - } - 'dm6' { + } + 'dm6' { fasta = "${params.igenomes_base}/Drosophila_melanogaster/UCSC/dm6/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Drosophila_melanogaster/UCSC/dm6/Sequence/Bowtie2Index/" - } - 'equCab2' { + } + 'equCab2' { fasta = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Sequence/Bowtie2Index/" - } - 'galGal4' { + } + 'galGal4' { fasta = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Sequence/Bowtie2Index/" - } - 'panTro4' { + } + 'panTro4' { fasta = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Sequence/Bowtie2Index/" - } - 'rn6' { + } + 'rn6' { fasta = "${params.igenomes_base}/Rattus_norvegicus/UCSC/rn6/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Rattus_norvegicus/UCSC/rn6/Sequence/Bowtie2Index/" - } - 'sacCer3' { + } + 'sacCer3' { fasta = "${params.igenomes_base}/Saccharomyces_cerevisiae/UCSC/sacCer3/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Saccharomyces_cerevisiae/UCSC/sacCer3/Sequence/Bowtie2Index/" - } - 'susScr3' { + } + 'susScr3' { fasta = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Sequence/WholeGenomeFasta/genome.fa" bowtie2 = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Sequence/Bowtie2Index/" - } + } } } diff --git a/conf/modules.config b/conf/modules.config index 32a65a438d07250e8db5020805b34197cbbb1cfc..13eb114c3baf28af2d51080349f299cd50f37025 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -48,8 +48,8 @@ process { path: { "${params.outdir}/hicpro/mapping" }, mode: 'copy', enabled: params.save_aligned_intermediates - ] - ext.prefix = { params.split_fastq ? "${meta.chunk}_${meta.mates}" : "${meta.id}_${meta.mates}" } + ] + ext.prefix = { params.split_fastq ? "${meta.chunk}_${meta.mates}" : "${meta.id}_${meta.mates}" } ext.args = params.bwt2_opts_end2end ?: '' ext.args2 = !params.dnase ? "-F 4" :"" } @@ -68,9 +68,9 @@ process { mode: 'copy', enabled: params.save_aligned_intermediates ] - ext.prefix = { params.split_fastq ? "${meta.chunk}_${meta.mates}_trimmed" : "${meta.id}_${meta.mates}_trimmed" } - ext.args = params.bwt2_opts_trimmed ?: '' - ext.args2 = "" + ext.prefix = { params.split_fastq ? "${meta.chunk}_${meta.mates}_trimmed" : "${meta.id}_${meta.mates}_trimmed" } + ext.args = params.bwt2_opts_trimmed ?: '' + ext.args2 = "" } withName: 'MERGE_BOWTIE2' { @@ -79,20 +79,20 @@ process { mode: 'copy', enabled: params.save_aligned_intermediates ] - ext.prefix = { params.split_fastq ? "${meta.chunk}_${meta.mates}" : "${meta.id}_${meta.mates}" } + ext.prefix = { params.split_fastq ? "${meta.chunk}_${meta.mates}" : "${meta.id}_${meta.mates}" } } withName: 'COMBINE_MATES' { publishDir = [ - path: { "${params.outdir}/hicpro/mapping" }, + path: { "${params.outdir}/hicpro/mapping" }, mode: 'copy', pattern: '*.bam' - ] + ] ext.args = [ "-t", params.keep_multi ? "--multi" : "", params.min_mapq ? "-q ${params.min_mapq}" : "" - ].join(' ').trim() + ].join(' ').trim() ext.prefix = { params.split_fastq ? "${meta.chunk}" : "${meta.id}" } } @@ -103,7 +103,7 @@ process { mode: 'copy', enabled: params.save_pairs_intermediates ] - ext.args = { [ + ext.args = { [ params.min_cis_dist > 0 ? " -d ${params.min_cis_dist}" : '', params.min_insert_size > 0 ? " -s ${params.min_insert_size}" : '', params.max_insert_size > 0 ? " -l ${params.max_insert_size}" : '', @@ -120,7 +120,7 @@ process { mode: 'copy', enabled: params.save_pairs_intermediates ] - ext.args = { params.min_cis_dist > 0 ? " -d ${params.min_cis_dist}" : "" } + ext.args = { params.min_cis_dist > 0 ? " -d ${params.min_cis_dist}" : "" } } withName: 'MERGE_VALID_INTERACTION' { @@ -134,10 +134,10 @@ process { path: { "${params.outdir}/hicpro/valid_pairs" }, mode: 'copy', saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, - pattern: "*Pairs" + pattern: "*Pairs" ] ] - ext.args = { params.keep_dups ? '' : '-d' } + ext.args = { params.keep_dups ? '' : '-d' } } withName: 'MERGE_STATS' { @@ -167,7 +167,7 @@ process { withName: 'ICE_NORMALIZATION' { publishDir = [ - path: { "${params.outdir}/hicpro/matrix/iced" }, + path: { "${params.outdir}/hicpro/matrix/iced" }, mode: 'copy', enabled: params.hicpro_maps ] @@ -189,9 +189,9 @@ process { withName: 'COOLER_MAKEBINS' { publishDir = [ - path: { "${params.outdir}/contact_maps/bins/" }, + path: { "${params.outdir}/contact_maps/bins/" }, saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, - mode: 'copy' + mode: 'copy' ] } @@ -202,7 +202,7 @@ process { mode: 'copy', enabled : params.save_raw_maps ] - ext.args = "pairs -c1 2 -p1 3 -c2 4 -p2 5" + ext.args = "pairs -c1 2 -p1 3 -c2 4 -p2 5" } withName: 'COOLER_BALANCE' { @@ -211,15 +211,15 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, mode: 'copy' ] - ext.args = '--force' + ext.args = '--force' } withName: 'COOLER_DUMP' { publishDir = [ enabled: false - ] - ext.prefix = { "${cool.baseName}" } - ext.args = "--one-based-ids --balanced --na-rep 0" + ] + ext.prefix = { "${cool.baseName}" } + ext.args = "--one-based-ids --balanced --na-rep 0" } withName:'SPLIT_COOLER_DUMP' { @@ -228,14 +228,14 @@ process { path: { "${params.outdir}/contact_maps/txt/" }, mode: 'copy', pattern: "*_raw.txt", - enabled: params.save_raw_maps - ], + enabled: params.save_raw_maps + ], [ path: { "${params.outdir}/contact_maps/txt/" }, - mode: 'copy', - pattern: "*_balanced.txt" + mode: 'copy', + pattern: "*_balanced.txt" ] - ] + ] } withName: 'COOLER_ZOOMIFY' { @@ -255,8 +255,8 @@ process { path: { "${params.outdir}/compartments/" }, saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, mode: 'copy' - ] - ext.args = '--bigwig' + ] + ext.args = '--bigwig' } //******************************** @@ -268,7 +268,7 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, mode: 'copy' ] - ext.args = '15 25 50 --window-pixels' + ext.args = '15 25 50 --window-pixels' } withName: 'HIC_FIND_TADS' { @@ -277,6 +277,6 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, mode: 'copy' ] - ext.args = '--correctForMultipleTesting fdr' + ext.args = '--correctForMultipleTesting fdr' } } diff --git a/conf/test.config b/conf/test.config index 59059aa6a4c826bb9c384a4234d9a2574c92daff..1501b027bf9a0af965f021c6d85604de690834ff 100644 --- a/conf/test.config +++ b/conf/test.config @@ -36,7 +36,7 @@ params { res_tads = '1000' tads_caller = 'insulation,hicexplorer' res_compartments = '2000' - + // Ignore `--input` as otherwise the parameter validation will throw an error schema_ignore_params = 'genomes,digest,input_paths,input' } diff --git a/lib/WorkflowHic.groovy b/lib/WorkflowHic.groovy index be8324b62b86f8dbdef3dcea81c4dda7206aa508..d2fae92e9b13224bd5352df9e769f05bba84386c 100755 --- a/lib/WorkflowHic.groovy +++ b/lib/WorkflowHic.groovy @@ -12,8 +12,8 @@ class WorkflowHic { // digestion parameters if (params.digest && params.digestion && !params.digest.containsKey(params.digestion)) { - log.error "Unknown digestion protocol. Currently, the available digestion options are ${params.digest.keySet().join(", ")}. Please set manually the '--restriction_site' and '--ligation_site' parameters." - System.exit(1) + log.error "Unknown digestion protocol. Currently, the available digestion options are ${params.digest.keySet().join(", ")}. Please set manually the '--restriction_site' and '--ligation_site' parameters." + System.exit(1) } // Check Digestion or DNase Hi-C mode diff --git a/modules/local/cooler/balance.nf b/modules/local/cooler/balance.nf index 37e808d0e5a1909775f9b6039a42eb069df7fe07..d03959a6ed764e79af2377ad0c501f1bc1b92b5b 100644 --- a/modules/local/cooler/balance.nf +++ b/modules/local/cooler/balance.nf @@ -23,7 +23,7 @@ process COOLER_BALANCE { cooler balance \\ $args \\ -p ${task.cpus} \\ - ${cool}${suffix} + ${cool}${suffix} cp ${cool} ${prefix}.${extension} diff --git a/modules/local/cooler/makebins.nf b/modules/local/cooler/makebins.nf index c956a6ae54b80916257a58e1d93c7a7adac98776..09147d45109b01fe256f59fcf7fdafcfaad33960 100644 --- a/modules/local/cooler/makebins.nf +++ b/modules/local/cooler/makebins.nf @@ -5,7 +5,7 @@ process COOLER_MAKEBINS { conda (params.enable_conda ? "bioconda::cooler=0.8.11" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/cooler:0.8.11--pyh3252c3a_0' : - 'quay.io/biocontainers/cooler:0.8.11--pyh3252c3a_0' }" + 'quay.io/biocontainers/cooler:0.8.11--pyh3252c3a_0' }" input: tuple path(chromsizes), val(cool_bin) @@ -19,8 +19,8 @@ process COOLER_MAKEBINS { """ cooler makebins \\ $args \\ - ${chromsizes} \\ - ${cool_bin} > cooler_bins_${cool_bin}.bed + ${chromsizes} \\ + ${cool_bin} > cooler_bins_${cool_bin}.bed cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/local/cooltools/eigs-cis.nf b/modules/local/cooltools/eigs-cis.nf index 6d77a87ecd1bfc0033a936b4ab92a265f17ed877..a63dee2eb39ca6a7e37f06a6d09c39a4971a47e5 100644 --- a/modules/local/cooltools/eigs-cis.nf +++ b/modules/local/cooltools/eigs-cis.nf @@ -1,7 +1,7 @@ /* * cooltools - call_compartments */ - + process CALL_COMPARTMENTS { label 'process_medium' @@ -12,8 +12,8 @@ process CALL_COMPARTMENTS { input: tuple val(meta), path(cool), val(resolution) - path(fasta) - path(chrsize) + path(fasta) + path(chrsize) output: path("*compartments*"), emit: results @@ -24,7 +24,7 @@ process CALL_COMPARTMENTS { def prefix = task.ext.prefix ?: "${meta.id}" """ cooltools genome binnify --all-names ${chrsize} ${resolution} > genome_bins.txt - cooltools genome gc genome_bins.txt ${fasta} > genome_gc.txt + cooltools genome gc genome_bins.txt ${fasta} > genome_gc.txt cooltools eigs-cis ${args} -o ${prefix}_compartments ${cool} cat <<-END_VERSIONS > versions.yml diff --git a/modules/local/cooltools/insulation.nf b/modules/local/cooltools/insulation.nf index dc755acbc1b5bce48eb56afb65587f4772a67484..d6fd194810163729974567bb0c3bdfc2182dd607 100644 --- a/modules/local/cooltools/insulation.nf +++ b/modules/local/cooltools/insulation.nf @@ -1,14 +1,14 @@ /* * Cooltools - diamond-insulation */ - + process INSULATION { label 'process_medium' conda (params.enable_conda ? "bioconda::cooltools=0.5.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/cooltools:0.5.1--py37h37892f8_0' : - 'quay.io/biocontainers/cooltools:0.5.1--py37h37892f8_0' }" + 'quay.io/biocontainers/cooltools:0.5.1--py37h37892f8_0' }" input: tuple val(meta), path(cool) diff --git a/modules/local/hicexplorer/hicFindTADs.nf b/modules/local/hicexplorer/hicFindTADs.nf index 093484c24c99f5d3c07071681c5bd3b7808df992..a6705e28f700cf744b2ef7bebb1f522e035f58f9 100644 --- a/modules/local/hicexplorer/hicFindTADs.nf +++ b/modules/local/hicexplorer/hicFindTADs.nf @@ -1,14 +1,14 @@ /* * hicexplorer - hicFindTADs */ - + process HIC_FIND_TADS { label 'process_medium' conda (params.enable_conda ? "bioconda::hicexplorer=3.7.2" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/hicexplorer:3.7.2--pyhdfd78af_1' : - 'quay.io/biocontainers/hicexplorer:3.7.2--pyhdfd78af_1' }" + 'quay.io/biocontainers/hicexplorer:3.7.2--pyhdfd78af_1' }" input: tuple val(meta), path(cool) @@ -22,9 +22,9 @@ process HIC_FIND_TADS { def prefix = task.ext.prefix ?: "${meta.id}" """ hicFindTADs --matrix ${cool} \ - --outPrefix ${prefix}_hicfindtads \ - ${args} \ - --numberOfProcessors ${task.cpus} + --outPrefix ${prefix}_hicfindtads \ + ${args} \ + --numberOfProcessors ${task.cpus} cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/local/hicexplorer/hicPlotDistVsCounts.nf b/modules/local/hicexplorer/hicPlotDistVsCounts.nf index a426d12ea6583bcb91bf930454dc449824199ae1..4c7d05f40a4d5cfb486b6ea3748f668d2e88398a 100644 --- a/modules/local/hicexplorer/hicPlotDistVsCounts.nf +++ b/modules/local/hicexplorer/hicPlotDistVsCounts.nf @@ -1,7 +1,7 @@ /* * hicexplorer - hicPlotDistVsCounts */ - + process HIC_PLOT_DIST_VS_COUNTS { label 'process_medium' diff --git a/modules/local/hicpro/bowtie2_merge.nf b/modules/local/hicpro/bowtie2_merge.nf index 3ae9428c041228ec793f2511709df485cafb90df..752966dc91b7d95b4f67747a2052e32d3629baee 100644 --- a/modules/local/hicpro/bowtie2_merge.nf +++ b/modules/local/hicpro/bowtie2_merge.nf @@ -1,14 +1,14 @@ process MERGE_BOWTIE2{ tag "$prefix" label 'process_medium' - + conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" - + input: - tuple val(meta), path(bam1), path(bam2) + tuple val(meta), path(bam1), path(bam2) output: tuple val(meta), path("${prefix}_bwt2merged.bam"), emit: bam @@ -20,13 +20,13 @@ process MERGE_BOWTIE2{ tag = meta.mates """ samtools merge -@ ${task.cpus} \\ - -f ${prefix}_bwt2merged.bam \\ - ${bam1} ${bam2} + -f ${prefix}_bwt2merged.bam \\ + ${bam1} ${bam2} samtools sort -@ ${task.cpus} -m 800M \\ - -n \\ - -o ${prefix}_bwt2merged.sorted.bam \\ - ${prefix}_bwt2merged.bam + -n \\ + -o ${prefix}_bwt2merged.sorted.bam \\ + ${prefix}_bwt2merged.bam mv ${prefix}_bwt2merged.sorted.bam ${prefix}_bwt2merged.bam @@ -44,5 +44,5 @@ process MERGE_BOWTIE2{ "${task.process}": samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') END_VERSIONS - """ + """ } diff --git a/modules/local/hicpro/combine_mates.nf b/modules/local/hicpro/combine_mates.nf index e3587c1dde82bb07a52d28899698aea938d916d7..5d92f4b36ac5402ad3d5f4cfa66fac84b74ac4ce 100644 --- a/modules/local/hicpro/combine_mates.nf +++ b/modules/local/hicpro/combine_mates.nf @@ -4,9 +4,9 @@ process COMBINE_MATES { conda (params.enable_conda ? "conda-forge::python=3.9 bioconda::pysam=0.19.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : - 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" - + 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : + 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" + input: tuple val(meta), path(bam) @@ -23,7 +23,7 @@ process COMBINE_MATES { cat <<-END_VERSIONS > versions.yml "${task.process}": - python: \$(echo \$(python --version 2>&1) | sed 's/Python //') + python: \$(echo \$(python --version 2>&1) | sed 's/Python //') END_VERSIONS """ } diff --git a/modules/local/hicpro/dnase_mapping_stats.nf b/modules/local/hicpro/dnase_mapping_stats.nf index bf0da6fb51e20c1f0d5be37425f22f97bb956883..edc40dc26329dee3334b66240a85e8803352032b 100644 --- a/modules/local/hicpro/dnase_mapping_stats.nf +++ b/modules/local/hicpro/dnase_mapping_stats.nf @@ -9,7 +9,7 @@ process MAPPING_STATS_DNASE { input: - tuple val(meta), path(bam) + tuple val(meta), path(bam) output: tuple val(meta), path(bam), emit:bam diff --git a/modules/local/hicpro/get_restriction_fragments.nf b/modules/local/hicpro/get_restriction_fragments.nf index ef56f9d342d35af4d015edf5b95a86ba313d54b5..055db6a3045dee93da371bdc2e2bbb0f8df65cae 100644 --- a/modules/local/hicpro/get_restriction_fragments.nf +++ b/modules/local/hicpro/get_restriction_fragments.nf @@ -4,11 +4,11 @@ process GET_RESTRICTION_FRAGMENTS { conda (params.enable_conda ? "conda-forge::python=3.9 conda-forge::numpy=1.22.3" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : - 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" + 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : + 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" input: - path fasta + path fasta val(res_site) output: @@ -21,7 +21,7 @@ process GET_RESTRICTION_FRAGMENTS { cat <<-END_VERSIONS > versions.yml "${task.process}": - python: \$(echo \$(python --version 2>&1) | sed 's/Python //') + python: \$(echo \$(python --version 2>&1) | sed 's/Python //') END_VERSIONS """ } diff --git a/modules/local/hicpro/get_valid_interaction.nf b/modules/local/hicpro/get_valid_interaction.nf index a2bfb84988072d2dd638a624c53d07e636103a49..2709cdee3530c26820708ef9fd341c424ea14b9a 100644 --- a/modules/local/hicpro/get_valid_interaction.nf +++ b/modules/local/hicpro/get_valid_interaction.nf @@ -4,11 +4,11 @@ process GET_VALID_INTERACTION { conda (params.enable_conda ? "conda-forge::python=3.9 bioconda::pysam=0.19.0 bioconda::bx-python=0.8.13" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : - 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" + 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : + 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam) path(resfrag) output: @@ -24,14 +24,14 @@ process GET_VALID_INTERACTION { def args = task.ext.args ?: '' """ mapped_2hic_fragments.py \\ - -f ${resfrag} \\ - -r ${bam} \\ - --all \\ - ${args} + -f ${resfrag} \\ + -r ${bam} \\ + --all \\ + ${args} cat <<-END_VERSIONS > versions.yml "${task.process}": - python: \$(echo \$(python --version 2>&1) | sed 's/Python //') + python: \$(echo \$(python --version 2>&1) | sed 's/Python //') END_VERSIONS """ } diff --git a/modules/local/hicpro/get_valid_interaction_dnase.nf b/modules/local/hicpro/get_valid_interaction_dnase.nf index 983b85875c169be3351bd1ac3f984795713038ea..08a019f203653b25eaad601026c368e2e283d50c 100644 --- a/modules/local/hicpro/get_valid_interaction_dnase.nf +++ b/modules/local/hicpro/get_valid_interaction_dnase.nf @@ -4,11 +4,11 @@ process GET_VALID_INTERACTION_DNASE { conda (params.enable_conda ? "conda-forge::python=3.9 bioconda::pysam=0.19.0 bioconda::bx-python=0.8.13" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : - 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" - + 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : + 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" + input: - tuple val(meta), path(bam) + tuple val(meta), path(bam) output: tuple val(meta), path("*.validPairs"), emit:valid_pairs @@ -19,12 +19,12 @@ process GET_VALID_INTERACTION_DNASE { def args = task.ext.args ?: '' """ mapped_2hic_dnase.py \\ - -r ${bam} \\ - ${args} + -r ${bam} \\ + ${args} cat <<-END_VERSIONS > versions.yml "${task.process}": - python: \$(echo \$(python --version 2>&1) | sed 's/Python //') + python: \$(echo \$(python --version 2>&1) | sed 's/Python //') END_VERSIONS """ } diff --git a/modules/local/hicpro/hicpro2pairs.nf b/modules/local/hicpro/hicpro2pairs.nf index ddab40eefca7044436c2abc67898d4e9d354686b..4ee35b0c1715ec35adb731738e3fb6f26e9976ab 100644 --- a/modules/local/hicpro/hicpro2pairs.nf +++ b/modules/local/hicpro/hicpro2pairs.nf @@ -9,7 +9,7 @@ process HICPRO2PAIRS { input: tuple val(meta), path(vpairs) - path chrsize + path chrsize output: tuple val(meta), path("*.pairs.gz"), path("*.pairs.gz.px2"), emit: pairs diff --git a/modules/local/hicpro/merge_stats.nf b/modules/local/hicpro/merge_stats.nf index c6cb940759e1bb48416614d2c6f3115865bd782a..743f3740f4a630a506c510cd4879c50844f51b7f 100644 --- a/modules/local/hicpro/merge_stats.nf +++ b/modules/local/hicpro/merge_stats.nf @@ -3,11 +3,11 @@ process MERGE_STATS { conda (params.enable_conda ? "conda-forge::python=3.9" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : - 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" + 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : + 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" input: - tuple val(meta), path(fstat) + tuple val(meta), path(fstat) output: path("${meta.id}/"), emit: mqc @@ -25,7 +25,7 @@ process MERGE_STATS { cat <<-END_VERSIONS > versions.yml "${task.process}": - python: \$(echo \$(python --version 2>&1) | sed 's/Python //') + python: \$(echo \$(python --version 2>&1) | sed 's/Python //') END_VERSIONS """ } diff --git a/modules/local/hicpro/merge_valid_interaction.nf b/modules/local/hicpro/merge_valid_interaction.nf index 371600c8ff4de2591adb92327d82ba9960e63a9b..6da435621a1835e667f8111935c74cd8f6e0c008 100644 --- a/modules/local/hicpro/merge_valid_interaction.nf +++ b/modules/local/hicpro/merge_valid_interaction.nf @@ -4,11 +4,11 @@ process MERGE_VALID_INTERACTION { conda (params.enable_conda ? "conda-forge::gawk=5.1.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ubuntu:20.04' : - 'ubuntu:20.04' }" + 'https://depot.galaxyproject.org/singularity/ubuntu:20.04' : + 'ubuntu:20.04' }" input: - tuple val(meta), path(vpairs) + tuple val(meta), path(vpairs) output: tuple val(meta), path("*.allValidPairs"), emit: valid_pairs @@ -28,7 +28,7 @@ process MERGE_VALID_INTERACTION { cat <<-END_VERSIONS > versions.yml "${task.process}": - sort: \$(echo \$(sort --version 2>&1 | head -1 | awk '{print \$NF}' 2>&1)) + sort: \$(echo \$(sort --version 2>&1 | head -1 | awk '{print \$NF}' 2>&1)) END_VERSIONS """ -} +} diff --git a/modules/local/hicpro/run_ice.nf b/modules/local/hicpro/run_ice.nf index 466cd6b12e6daa9bf632a985586405c4991775e3..e77b5c240934dac3f034939fba2f58c1303e7af2 100644 --- a/modules/local/hicpro/run_ice.nf +++ b/modules/local/hicpro/run_ice.nf @@ -4,11 +4,11 @@ process ICE_NORMALIZATION{ conda (params.enable_conda ? "conda-forge::python=3.9 bioconda::iced=0.5.10 conda-forge::numpy=1.22.3" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : - 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" - + 'https://depot.galaxyproject.org/singularity/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0' : + 'quay.io/biocontainers/mulled-v2-c6ff206325681cbb9c9ef890bb8de554172c0483:713df51cd897ceb893b9a6e6420f527d83c2ed95-0'}" + input: - tuple val(meta), val(res), path(rmaps), path(bed) + tuple val(meta), val(res), path(rmaps), path(bed) output: tuple val(meta), val(res), path("*iced.matrix"), path(bed), emit:maps @@ -25,8 +25,8 @@ process ICE_NORMALIZATION{ cat <<-END_VERSIONS > versions.yml "${task.process}": - python: \$(echo \$(python --version 2>&1) | sed 's/Python //') - iced: \$(python -c "import iced; print(iced.__version__)") + python: \$(echo \$(python --version 2>&1) | sed 's/Python //') + iced: \$(python -c "import iced; print(iced.__version__)") END_VERSIONS """ } diff --git a/modules/local/hicpro/trim_reads.nf b/modules/local/hicpro/trim_reads.nf index a4ba7d3307cd82a65e5c2e0dc2b4563e74bfef89..1585591f702ec578a91ffe05ade933a8fedf04da 100644 --- a/modules/local/hicpro/trim_reads.nf +++ b/modules/local/hicpro/trim_reads.nf @@ -6,9 +6,9 @@ process TRIM_READS { container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/ubuntu:20.04' : 'ubuntu:20.04' }" - + input: - tuple val(meta), path(reads) + tuple val(meta), path(reads) val(motif) output: @@ -19,8 +19,8 @@ process TRIM_READS { """ zcat ${reads} > tmp.fastq cutsite_trimming --fastq tmp.fastq \\ - --cutsite ${motif[0]} \\ - --out ${reads.simpleName}_trimmed.fastq + --cutsite ${motif[0]} \\ + --out ${reads.simpleName}_trimmed.fastq gzip ${reads.simpleName}_trimmed.fastq /bin/rm -f tmp.fastq