Miscellaneous |
Version lineage of this tool (guids ordered most recent to oldest) |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.27+galaxy3 (this tool) |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.27+galaxy2 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.27+galaxy1 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.27+galaxy0 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.24.1+galaxy0 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy0 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.9+galaxy1 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.9 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.8+galaxy2 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.8+galaxy1 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.8+galaxy0 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.7.1 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.7 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.6 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.5.2 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.5.1 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.5.0 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.3.1 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.2.1 |
toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.2.0 |
multiqc |
Requirements (dependencies defined in the <requirements> tag set) |
name | version | type |
multiqc | 1.27 | package |
Additional information about this tool |
#import re #import os die() { echo "$@" 1>&2 ; exit 1; } && mkdir multiqc_WDir && #set $configfile="F" #for $i, $repeat in enumerate( $results ) #set software_dir = os.path.join('multiqc_WDir', str($repeat.software_cond.software) + '_' + str($i)) mkdir $software_dir && #if str($repeat.software_cond.software) == "bamtools" #set $pattern = "Stats for BAM file\(s\)" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "bcftools" #set $pattern = "This file was produced by bcftools stats" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "bismark" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #if str($repeat2.type) == "align" #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '_SE_report.txt') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "dedup" #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '_deduplication_report.txt') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "meth_extract" #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '_splitting_report.txt') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "m_bias" #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '_M-bias.txt') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "bam2nuc" #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '.nucleotide_stats.txt') ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "bowtie2" #set $pattern = "% overall alignment rate" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "busco" ## Searches for files "short_summary_[samplename].txt" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, 'short_summary_' + str($identifier)) ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "cutadapt" #set $pattern = "This is cutadapt" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier) + '.txt') ln -s '$file' '$file_path' && ## replace header for old cutadapt release sed -i.old 's/You are running/This is/' '$file_path' && grep -q "$pattern" '$file_path' || die "'$pattern' or 'You are running cutadapt' not found in the file" && #end for #elif str($repeat.software_cond.software) == "deeptools" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #if str($repeat2.type) == "bamPEFragmentSize" #set $pattern = "Frag." #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "estimateReadFiltering" #set $pattern = "Internally-determined Duplicate" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "plotCoverageStdout" #set $pattern = "sample" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "plotCoverageOutRawCounts" #set $pattern = "#plotCoverage --outRawCounts" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "plotEnrichment" #set $pattern = "featureReadCount" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "plotFingerprintOutRawCounts" #set $pattern = "#plotFingerprint --outRawCounts" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "fastp" #set $pattern = "report_title" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier) + 'fastp.json') ln -s '$file' '$file_path' && grep -q "$pattern" '$file_path' || die "'$pattern' or 'report_title' not found in the file" && #end for #elif str($repeat.software_cond.software) == "fastqc" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #if str($repeat2.type) == "data" #for $k, $file in enumerate($repeat2.input) #set file_dir = os.path.join($repeat_dir, 'file_' + str($k)) #set file_path = os.path.join($file_dir, 'fastqc_data.txt') mkdir '$file_dir' && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "theoretical_gc" #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '_fastqc_theoretical_gc') ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "featureCounts" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_prefix = os.path.join($software_dir, str($identifier)) if grep -qw Status '$file'; then ln -s '$file' '${file_prefix}.summary'; else echo -e 'Status\t${identifier}' > '${file_prefix}.summary'; cat '$file' >> '${file_prefix}.summary'; fi && #end for #elif str($repeat.software_cond.software) == "flexbar" #set $pattern = "flexible barcode and adapter removal" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "gatk" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #if str($repeat2.type) == "varianteval" #set $pattern = "#:GATKTable:TiTvVariantEvaluator" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "base_recalibrator" #set $pattern = "#:GATKTable:Arguments:Recalibration" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "hicup" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, 'HiCUP_summary_report_' + str($identifier)) ln -s '${file}' '$file_path' && #end for #elif str($repeat.software_cond.software) == "hisat2" #set $pattern = "HISAT2 summary stats:" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "hicexplorer" #set $pattern = "Min rest. site distance" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "htseq" #set $pattern = "__too_low_aQual" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "kallisto" #set $pattern = "finding pseudoalignments for the reads" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "macs2" #set $pattern = "# This file is generated by MACS" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier) + '_peaks.xls') grep -q "$pattern" $file || die "'$pattern' not found in the file" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "picard" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #if str($repeat2.type) == "alignment_metrics" #set $pattern = "picard.analysis.AlignmentSummaryMetrics" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "basedistributionbycycle" #set $pattern = "picard.analysis.BaseDistributionByCycleMetrics" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "gcbias" #set $pattern = "picard.analysis.GcBias" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "hsmetrics" #set $pattern = "picard.analysis.directed.HsMetrics" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "insertsize" #set $pattern = "picard.analysis.InsertSizeMetrics" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "markdups" #set $pattern = "MarkDuplicates" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "oxogmetrics" #set $pattern = "picard.analysis.CollectOxoGMetrics" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "pcr_metrics" #set $pattern = "picard.analysis.directed.TargetedPcrMetrics" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "rnaseqmetrics" #set $pattern = "Collect" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "rrbs_metrics" #set $pattern = "picard.analysis.RrbsSummaryMetrics" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "wgs_metrics" #set $pattern = "picard.analysis.CollectWgsMetrics$WgsMetrics" #set file_paths = [] #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) mkdir '$repeat_dir' && #for $file in $repeat2.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "prokka" #set $pattern = "contigs:" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "pycoqc" #set $pattern = "\"pycoqc\":" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "qualimap" #for $file in $repeat.software_cond.input #if re.search("genome_results", str($file.element_identifier)) sample="\$(grep 'bam file = ' $file | sed 's/bam file = //g' | sed 's: ::g')" && dir_name="$software_dir/\${sample}" && mkdir -p \${dir_name} && filepath_1="\${dir_name}/genome_results.txt" && ln -sf '$file' \${filepath_1} && #elif re.search("coverage_histogram", str($file.element_identifier)) nested_dir_name="\${dir_name}/raw_data_qualimapReport/" && mkdir -p \${nested_dir_name} && filepath_2="\${nested_dir_name}/coverage_histogram.txt" && ln -sf '$file' \${filepath_2} && #elif re.search("gc-content_distribution", str($file.element_identifier)) nested_dir_name="\${dir_name}/raw_data_qualimapReport/" && mkdir -p \${nested_dir_name} && filepath_3="\${nested_dir_name}/mapped_reads_gc-content_distribution.txt" && ln -sf '$file' \${filepath_3} && #else #pass #end if #end for #elif str($repeat.software_cond.software) == "quast" #for $k, $file in enumerate($repeat.software_cond.input) #set file_dir = os.path.join($software_dir, 'file_' + str($k)) #set file_path = os.path.join($file_dir, 'report.tsv') mkdir '$file_dir' && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "rsem" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier) + '.cnt') ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "rseqc" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + '_' + str($j)) mkdir '$repeat_dir' && #if str($repeat2.type.type) == "bam_stat" #set $pattern = "Proper-paired reads map to different chrom:" #set file_paths = [] #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "gene_body_coverage" #for $k, $file in enumerate($repeat2.type.input) #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.geneBodyCoverage.txt') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "inner_distance" #for $k, $file in enumerate($repeat2.type.input) #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.inner_distance_freq.txt') ln -s '${file}' '$file_path' && #end for #elif str($repeat2.type.type) == "junction_annotation" #set $pattern = "Partial Novel Splicing Junctions:" #set file_paths = [] #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "read_gc" #for $k, $file in enumerate($repeat2.type.input) #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.GC.xls') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "junction_saturation" #for $k, $file in enumerate($repeat2.type.input) #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.junctionSaturation_plot.r') ln -s '${file}' '$file_path' && #end for #elif str($repeat2.type.type) == "read_distribution" #set $pattern = "Group Total_bases Tag_count Tags/Kb" #set file_paths = [] #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "read_duplication_pos" #for $k, $file in enumerate($repeat2.type.input) #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.pos.DupRate.xls') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "infer_experiment" #set $pattern = "Fraction of reads explained by" #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) grep -q "$pattern" $file || die "'$pattern' not found in the file" && ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "salmon" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + '_' + str($j)) mkdir '$repeat_dir' && #if str($repeat2.type.type) == "meta" #for $k, $file in enumerate($repeat2.type.input) #set file_dir = os.path.join($repeat_dir, 'file_' + str($k)) #set file_path = os.path.join($file_dir, 'meta_info.json') mkdir '$file_dir' && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "fld" #for $k, $file in enumerate($repeat2.type.input) #set file_dir = os.path.join($repeat_dir, 'file_' + str($k)) #set file_path = os.path.join($file_dir,'flenDist.txt') mkdir '$file_dir' && ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "samblaster" #set $pattern = "samblaster: Version" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "samtools" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + '_' + str($j)) mkdir '$repeat_dir' && #if str($repeat2.type.type) == "stats" #set $pattern = "This file was produced by samtools stats" #set file_paths = [] #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "flagstat" #set $pattern = "in total \(QC-passed reads \+ QC-failed reads\)" #set file_paths = [] #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "idxstats" #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '_idxstat') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "rmdup" #set $pattern = "\[bam_rmdup" #set file_paths = [] #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "slamdunk" #set $pattern = "# slamdunk" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "snpeff" #set $pattern = "SnpEff_version" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "sortmerna" #set $pattern = "Minimal SW score based on E-value" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #else if str($repeat.software_cond.software) == "star": #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + '_' + str($j)) mkdir '$repeat_dir' && #if str($repeat2.type.type) == "log" #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '_Log.final.out') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type.type) == "genecounts" #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '_ReadsPerGene.out.tab') ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "tophat" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier) + 'align_summary.txt') ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "trimmomatic" #set $pattern = "Trimmomatic" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "vcftools" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + '_' + str($j)) mkdir '$repeat_dir' && #if str($repeat2.type.type) == "relatedness2" #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '.relatedness2') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "tstv_by_count" #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '.TsTv.count') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "tstv_by_qual" #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '.TsTv.qual') ln -s '$file' '$file_path' && #end for #elif str($repeat2.type) == "tstv_summary" #for $file in $repeat2.type.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($repeat_dir, str($identifier) + '.TsTv.summary') ln -s '$file' '$file_path' && #end for #end if #end for #elif str($repeat.software_cond.software) == "kraken" #set $pattern = "^\s{0,2}(\d{1,3}\.\d{1,2})\t(\d+)\t(\d+)\t((\d+)\t(\d+)\t)?([URDKPCOFGS-]\d{0,2})\t(\d+)(\s+)[root|unclassified]" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "diamond" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, 'diamond.log') ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "bakta" #set $pattern = "Bakta:" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier) + '.txt') ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "freyja" #set $pattern = "summarized\t\[" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier) + '.tsv') ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "checkm" #set $pattern = ".*Bin Id(?:\t| {3,})Marker lineage(?:\t| {3,})# genomes(?:\t| {3,})# markers(?:\t| {3,})# marker sets.*" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, 'output_file') ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "pairtools" #set $pattern = "total_single_sided_mapped" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pzq "(?s)(?=.*total_single_sided_mapped\t)(?=.*cis\t)(?=.*trans\t)(?=.*pair_types/)" $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "porechop" #set $pattern = "Looking for known adapter sets" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "snippy" #set $pattern = "snippy|ID\tLENGTH\tALIGNED\tUNALIGNED\tVARIANT\tHET\tMASKED\tLOWCOV" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "metaphlan" #set $pattern = "#clade_name\tNCBI_tax_id\trelative_abundance\t" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier) + '.txt') ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "bbduk" #set $pattern = "Executing jgi\.BBDuk" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "megahit" #set $pattern = " - MEGAHIT v" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "nonpareil" #set $pattern = "LRstar" #for $file in $repeat.software_cond.input #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier) + '.json') ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "gtdbtk" #set $pattern = "user_genome\tclassification\tclosest_genome_reference\tclosest_genome_reference_radius\tclosest_genome_taxonomy\tclosest_genome_ani" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #elif str($repeat.software_cond.software) == "sambamba" #set $pattern = "finding positions of the duplicate reads in the file" #set file_paths = [] #for $file in $repeat.software_cond.input: #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) #set file_path = os.path.join($software_dir, str($identifier)) #if $file_path in $file_paths #set $file_path += '_' + str($file_paths.count($file_path)) #end if #set $file_paths += [$file_path] grep -Pq '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && ln -s '$file' '$file_path' && #end for #else if str($repeat.software_cond.software) == "custom_content": #set $configfile = "T" #for $j, $file in enumerate( $repeat.software_cond.input ) #set file_path = os.path.join($software_dir, 'file_' + str($i) + '_' + str($j)) ln -s '$file' '$file_path' && more $file && #end for #end if #end for #if str($image_content_input) != "None" #for $file in $image_content_input #set identifier = re.sub('[^\s\w\-\.]', '_', str($file.element_identifier)) #set file_parts = str($file.element_identifier).rsplit('.', 1) #set file_path = os.path.join('multiqc_WDir/', file_parts[0] + '_mqc.' + str($file.ext)) ln -s '$file' '$file_path' && #end for #end if multiqc multiqc_WDir --filename 'report' #if str($title) --title '$title' #end if #if str($comment) --comment '$comment' #end if $flat $export #if $configfile == "T" --config '$multiqc_config' #end if && mkdir -p ./plots && ls -l ./report_data/ && ##cat ./report_data/multiqc_busco.txt && cp ./report_data/*plot*.txt ./plots/ | true ## don't fail if no plot files are generated
Functional tests |
name | inputs | outputs | required files |
Test-1 |
results_0|software_cond|input: cutadapt.txt results_0|software_cond|software: cutadapt results_1|software_cond|input: ['fastp1.json.txt', 'fastp2.json.txt'] results_1|software_cond|software: fastp results_2|software_cond|output_0|type: data results_2|software_cond|output_0|input: ['fastqc_1.txt', 'fastqc_2.txt'] results_2|software_cond|software: fastqc results_3|software_cond|input: flexbar.txt results_3|software_cond|software: flexbar results_4|software_cond|input: ['slamdunk_summary.txt', 'slamdunk_reads1_overallrates.csv', 'slamdunk_reads2_overallrates.csv'] results_4|software_cond|software: slamdunk results_5|software_cond|input: sortmerna.txt results_5|software_cond|software: sortmerna results_6|software_cond|input: trimmomatic.txt results_6|software_cond|software: trimmomatic title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
cutadapt.txt fastp1.json.txt fastp2.json.txt fastqc_1.txt fastqc_2.txt flexbar.txt slamdunk_summary.txt slamdunk_reads1_overallrates.csv slamdunk_reads2_overallrates.csv sortmerna.txt trimmomatic.txt value |
Test-2 |
results_0|software_cond|output_0|type: align results_0|software_cond|output_0|input: bismark.txt results_0|software_cond|software: bismark results_1|software_cond|input: ['bowtie2_1.txt', 'bowtie2_2.txt'] results_1|software_cond|software: bowtie2 results_2|software_cond|input: ['hisat2_1.txt', 'hisat2_2.txt'] results_2|software_cond|software: hisat2 results_3|software_cond|input: ['hicexplorer1.log', 'hicexplorer1.log', 'hicexplorer2.log'] results_3|software_cond|software: hicexplorer results_4|software_cond|input: ['kallisto_1.txt', 'kallisto_2.txt'] results_4|software_cond|software: kallisto results_5|software_cond|input: ['macs_1.txt', 'macs_2.txt'] results_5|software_cond|software: macs2 results_6|software_cond|output_0|type|input: star_log.txt results_6|software_cond|output_0|type|type: log results_6|software_cond|output_1|type|input: star_counts.txt results_6|software_cond|output_1|type|type: genecounts results_6|software_cond|software: star results_7|software_cond|input: tophat.txt results_7|software_cond|software: tophat |
name: value name: value |
bismark.txt bowtie2_1.txt bowtie2_2.txt hisat2_1.txt hisat2_2.txt hicexplorer1.log hicexplorer2.log kallisto_1.txt kallisto_2.txt macs_1.txt macs_2.txt star_log.txt star_counts.txt tophat.txt value |
Test-3 |
results_0|software_cond|input: bamtools.txt results_0|software_cond|software: bamtools results_1|software_cond|input: bcftools.txt results_1|software_cond|software: bcftools results_2|software_cond|input: busco.txt results_2|software_cond|software: busco results_3|software_cond|output_0|type: bamPEFragmentSize results_3|software_cond|output_0|input: deeptools_bamPEFragmentSize.txt results_3|software_cond|output_1|type: estimateReadFiltering results_3|software_cond|output_1|input: deeptools_estimateReadFiltering.txt results_3|software_cond|output_2|type: plotCoverageStdout results_3|software_cond|output_2|input: deeptools_plotCoverageStdout.txt results_3|software_cond|output_3|type: plotCoverageOutRawCounts results_3|software_cond|output_3|input: deeptools_plotCoverageOutRawCounts.txt results_3|software_cond|output_4|type: plotEnrichment results_3|software_cond|output_4|input: deeptools_plotEnrichment.txt results_3|software_cond|output_5|type: plotFingerprintOutRawCounts results_3|software_cond|output_5|input: deeptools_plotFingerprintOutRawCounts.txt results_3|software_cond|software: deeptools results_4|software_cond|input: featureCounts.txt results_4|software_cond|software: featureCounts results_5|software_cond|output_0|type: base_recalibrator results_5|software_cond|output_0|input: gatk_BaseRecalibrator.txt results_5|software_cond|output_1|type: varianteval results_5|software_cond|output_1|input: gatk_varianteval.txt results_5|software_cond|software: gatk results_6|software_cond|input: htseq.txt results_6|software_cond|software: htseq results_7|software_cond|output_0|type: gcbias results_7|software_cond|output_0|input: picard_collectGcBias.txt results_7|software_cond|output_1|type: insertsize results_7|software_cond|output_1|input: picard_CollectInsertSizeMetrics.txt results_7|software_cond|output_2|type: markdups results_7|software_cond|output_2|input: picard_MarkDuplicates.txt results_7|software_cond|output_3|type: basedistributionbycycle results_7|software_cond|output_3|input: picard_CollectBaseDistributionByCycle.txt results_7|software_cond|output_4|type: rnaseqmetrics results_7|software_cond|output_4|input: picard_CollectRnaSeqMetrics.txt results_7|software_cond|output_5|type: alignment_metrics results_7|software_cond|output_5|input: picard_CollectAlignmentSummaryMetrics.txt results_7|software_cond|software: picard results_8|software_cond|input: ['prokka_1.txt', 'prokka_2.txt'] results_8|software_cond|software: prokka results_9|software_cond|input: genome_results.txt results_9|software_cond|software: qualimap results_10|software_cond|input: quast.tsv results_10|software_cond|software: quast results_11|software_cond|output_0|type|input: rseqc.txt results_11|software_cond|output_0|type|type: read_gc results_11|software_cond|software: rseqc results_12|software_cond|input: samblaster.txt results_12|software_cond|software: samblaster results_13|software_cond|output_0|type|input: samtools_stats.txt results_13|software_cond|output_0|type|type: stats results_13|software_cond|output_1|type|input: samtools_flagstat.txt results_13|software_cond|output_1|type|type: flagstat results_13|software_cond|output_2|type|input: samtools_idxstats.txt results_13|software_cond|output_2|type|type: idxstats results_13|software_cond|software: samtools results_14|software_cond|input: snpeff.csv results_14|software_cond|software: snpeff results_15|software_cond|output_0|type|input: vcftools.txt results_15|software_cond|output_0|type|type: tstv_by_qual results_15|software_cond|software: vcftools |
name: value name: value |
bamtools.txt bcftools.txt busco.txt deeptools_bamPEFragmentSize.txt deeptools_estimateReadFiltering.txt deeptools_plotCoverageStdout.txt deeptools_plotCoverageOutRawCounts.txt deeptools_plotEnrichment.txt deeptools_plotFingerprintOutRawCounts.txt featureCounts.txt gatk_BaseRecalibrator.txt gatk_varianteval.txt htseq.txt picard_collectGcBias.txt picard_CollectInsertSizeMetrics.txt picard_MarkDuplicates.txt picard_CollectBaseDistributionByCycle.txt picard_CollectRnaSeqMetrics.txt picard_CollectAlignmentSummaryMetrics.txt prokka_1.txt prokka_2.txt genome_results.txt quast.tsv rseqc.txt samblaster.txt samtools_stats.txt samtools_flagstat.txt samtools_idxstats.txt snpeff.csv vcftools.txt value |
Test-4 |
results_0|software_cond|plot_type: linegraph results_0|software_cond|section_name: BPC results_0|software_cond|description: Sum of intensity (Y) of the most intense peaks at each retention time(X) results_0|software_cond|xlab: Retention Time results_0|software_cond|ylab: Base Peak Intensity results_0|software_cond|input: ['cc_ko15.bpc.tab', 'cc_wt15.bpc.tab'] results_0|software_cond|software: custom_content |
name: value |
cc_ko15.bpc.tab cc_wt15.bpc.tab value |
Test-5 |
results_0|software_cond|output_0|type: data results_0|software_cond|output_0|input: ['fastqc_1.txt', 'fastqc_2.txt'] results_0|software_cond|software: fastqc title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
fastqc_1.txt fastqc_2.txt value |
Test-6 |
results_0|software_cond|input: pycoqc.json results_0|software_cond|software: pycoqc title: Title of the report comment: Commment for the report |
name: value name: value |
pycoqc.json value |
Test-7 |
results_0|software_cond|input: bcftools.txt results_0|software_cond|software: bcftools title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
bcftools.txt value |
Test-8 |
results_0|software_cond|input: ['bowtie2_1.txt', 'bowtie2_2.txt'] results_0|software_cond|software: bowtie2 title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
bowtie2_1.txt bowtie2_2.txt value |
Test-9 |
results_0|software_cond|output_0|type: data results_0|software_cond|output_0|input: ['fastqc_1.txt', 'fastqc_2.txt'] results_0|software_cond|software: fastqc title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
fastqc_1.txt fastqc_2.txt value |
Test-10 |
results_0|software_cond|input: trimmomatic.txt results_0|software_cond|software: trimmomatic title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
trimmomatic.txt value |
Test-11 |
results_0|software_cond|input: flexbar.txt results_0|software_cond|software: flexbar title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
flexbar.txt value |
Test-12 |
results_0|software_cond|input: ['fastp1.json.txt', 'fastp2.json.txt'] results_0|software_cond|software: fastp title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
fastp1.json.txt fastp2.json.txt value |
Test-13 |
results_0|software_cond|output_0|type: align results_0|software_cond|output_0|input: bismark.txt results_0|software_cond|software: bismark title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
bismark.txt value |
Test-14 |
results_0|software_cond|output_0|type|input: junction_annotation.txt results_0|software_cond|output_0|type|type: junction_annotation results_0|software_cond|output_1|type|input: junction_saturation.txt results_0|software_cond|output_1|type|type: junction_saturation results_0|software_cond|software: rseqc title: Title of the report comment: Commment for the report flat: True export: True |
name: value |
junction_annotation.txt junction_saturation.txt value |
Test-15 |
results_0|software_cond|output_0|type|input: star_log.txt results_0|software_cond|output_0|type|type: log results_0|software_cond|output_1|type|input: star_counts.txt results_0|software_cond|output_1|type|type: genecounts results_0|software_cond|software: star title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
star_log.txt star_counts.txt value |
Test-16 |
results_0|software_cond|input: cutadapt.txt results_0|software_cond|software: cutadapt title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
cutadapt.txt value |
Test-17 |
results_0|software_cond|output_0|type|input: samtools_stats.txt results_0|software_cond|output_0|type|type: stats results_0|software_cond|output_1|type|input: samtools_flagstat.txt results_0|software_cond|output_1|type|type: flagstat results_0|software_cond|output_2|type|input: samtools_idxstats.txt results_0|software_cond|output_2|type|type: idxstats results_0|software_cond|software: samtools title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
samtools_stats.txt samtools_flagstat.txt samtools_idxstats.txt value |
Test-18 |
results_0|software_cond|input: busco.txt results_0|software_cond|software: busco title: Title of the report comment: Commment for the report flat: True export: True |
name: value |
busco.txt value |
Test-19 |
results_0|software_cond|input: featureCounts.txt results_0|software_cond|software: featureCounts title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
featureCounts.txt value |
Test-20 |
results_0|software_cond|output_0|type: gcbias results_0|software_cond|output_0|input: picard_collectGcBias.txt results_0|software_cond|output_1|type: insertsize results_0|software_cond|output_1|input: picard_CollectInsertSizeMetrics.txt results_0|software_cond|output_2|type: markdups results_0|software_cond|output_2|input: picard_MarkDuplicates.txt results_0|software_cond|output_3|type: basedistributionbycycle results_0|software_cond|output_3|input: picard_CollectBaseDistributionByCycle.txt results_0|software_cond|output_4|type: rnaseqmetrics results_0|software_cond|output_4|input: picard_CollectRnaSeqMetrics.txt results_0|software_cond|output_5|type: alignment_metrics results_0|software_cond|output_5|input: picard_CollectAlignmentSummaryMetrics.txt results_0|software_cond|software: picard title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
picard_collectGcBias.txt picard_CollectInsertSizeMetrics.txt picard_MarkDuplicates.txt picard_CollectBaseDistributionByCycle.txt picard_CollectRnaSeqMetrics.txt picard_CollectAlignmentSummaryMetrics.txt value |
Test-21 |
results_0|software_cond|input: genome_results.txt results_0|software_cond|software: qualimap title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
genome_results.txt value |
Test-22 |
results_0|software_cond|output_0|type: base_recalibrator results_0|software_cond|output_0|input: gatk_BaseRecalibrator.txt results_0|software_cond|output_1|type: varianteval results_0|software_cond|output_1|input: gatk_varianteval.txt results_0|software_cond|software: gatk title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
gatk_BaseRecalibrator.txt gatk_varianteval.txt value |
Test-23 |
results_0|software_cond|input: bamtools.txt results_0|software_cond|software: bamtools title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
bamtools.txt value |
Test-24 |
results_0|software_cond|input: pycoqc.json results_0|software_cond|software: pycoqc title: Title of the report comment: Commment for the report |
name: value name: value |
pycoqc.json value |
Test-25 |
results_0|software_cond|input: kraken_test0_report.tab results_0|software_cond|software: kraken title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
kraken_test0_report.tab value |
Test-26 |
results_0|software_cond|input: diamond.log results_0|software_cond|software: diamond title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
diamond.log value |
Test-27 |
results_0|software_cond|input: bakta.txt results_0|software_cond|software: bakta title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
bakta.txt value |
Test-28 |
results_0|software_cond|input: freyja.tsv results_0|software_cond|software: freyja title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
freyja.tsv value |
Test-29 |
results_0|software_cond|input: checkm.tabular results_0|software_cond|software: checkm title: Title of the report comment: Commment for the report flat: True export: True |
name: value |
checkm.tabular value |
Test-30 |
results_0|software_cond|input: output_dedup_pairs.stats results_0|software_cond|software: pairtools title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
output_dedup_pairs.stats value |
Test-31 |
results_0|software_cond|input: porechop.log results_0|software_cond|software: porechop image_content_input: test_image.png title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
porechop.log test_image.png value |
Test-32 |
results_0|software_cond|input: snippy.txt results_0|software_cond|software: snippy title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
snippy.txt value |
Test-33 |
results_0|software_cond|input: metaphlan.txt results_0|software_cond|software: metaphlan title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
metaphlan.txt value |
Test-34 |
results_0|software_cond|input: bbduk.txt results_0|software_cond|software: bbduk title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
bbduk.txt value |
Test-35 |
results_0|software_cond|input: megahit.txt results_0|software_cond|software: megahit title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
megahit.txt value |
Test-36 |
results_0|software_cond|input: nonpareil.json results_0|software_cond|software: nonpareil title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
nonpareil.json value |
Test-37 |
results_0|software_cond|input: gtdbtk.tsv results_0|software_cond|software: gtdbtk title: Title of the report comment: Commment for the report flat: True export: True |
name: value |
gtdbtk.tsv value |
Test-38 |
results_0|software_cond|input: sambamba.txt results_0|software_cond|software: sambamba title: Title of the report comment: Commment for the report flat: True export: True |
name: value name: value |
sambamba.txt value |