view macros.xml @ 24:f7e2f1eb3a16 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/multiqc commit dffbb5d421a5a5773bcb7f05933b12c45461bb58
author iuc
date Mon, 02 Sep 2024 14:22:54 +0000
parents abfd8a6544d7
children
line wrap: on
line source

<macros>
    <token name="@TOOL_VERSION@">1.24.1</token>
    <token name="@VERSION_SUFFIX@">0</token>
    <xml name="bio_tools">
        <xrefs>
            <xref type="bio.tools">multiqc</xref>
        </xrefs>
    </xml>
    <xml name="requirements">
        <requirements>
            <requirement type="package" version="@TOOL_VERSION@">multiqc</requirement>
        </requirements>
    </xml>
    <xml name="citations">
        <citations>
            <citation type="doi">10.1101/gr.244293.118</citation>
        </citations>
    </xml>
    <xml name="configfile">
        <configfiles>
            <configfile name="multiqc_config">
<![CDATA[
custom_data:
#for $i, $repeat in enumerate( $results )
    #if str($repeat.software_cond.software) == "custom_content"
    section_$i:
        file_format: 'tsv'
        section_name: '$repeat.software_cond.section_name'
        title: '$repeat.software_cond.title'
        description: '$repeat.software_cond.description'
        plot_type: '$repeat.software_cond.plot_type'
        pconfig:
            id: 'section_${i}_${repeat.software_cond.plot_type}'
            ylab: '$repeat.software_cond.ylab'
            xlab: '$repeat.software_cond.xlab'
    #end if
#end for
sp:
#for $i, $repeat in enumerate( $results )
    #if str($repeat.software_cond.software) == "custom_content"
    section_$i:
        fn: 'file_${i}_*'
    #end if
#end for
        ]]></configfile>
        </configfiles>
    </xml>
    <token name="@ESCAPE_IDENTIFIER@">
        <![CDATA[
        #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier))
    ]]></token>
    <token name="@CHECK_LN_FILE@">
        <![CDATA[
        #if $file_path in $file_paths
            #set $file_path += '_' + str($file_paths.count($file_path))
        #end if
        #set $file_paths += [$file_path]
        grep -q '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" &&
        ln -s '$file' '$file_path'  &&
    ]]></token>
    <token name="@CREATE_REPEAT_DIR_1@">
        <![CDATA[
        #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j))
        mkdir '$repeat_dir' &&
    ]]></token>
    <token name="@CREATE_REPEAT_DIR_2@">
        <![CDATA[
        #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + '_' + str($j))
        mkdir '$repeat_dir' &&
    ]]></token>
    <token name="@LN_FILES@">
        <![CDATA[
        #set file_paths = []
        #for $file in $repeat.software_cond.input:
            @ESCAPE_IDENTIFIER@
            #set file_path = os.path.join($software_dir, str($identifier))
            @CHECK_LN_FILE@
        #end for
    ]]></token>
    <token name="@LN_2_FILES@">
        <![CDATA[
        #set file_paths = []
        @CREATE_REPEAT_DIR_1@
        #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))
            @CHECK_LN_FILE@
        #end for
    ]]></token>
    <token name="@LN_3_FILES@">
        <![CDATA[
        #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))
            @CHECK_LN_FILE@
        #end for
    ]]></token>
    <!-- is currently not used -->
    <xml name="element_assert" token_name="" token_lines="" token_columns="" token_text="">
        <element name="@NAME@">
            <assert_contents>
                <has_n_columns n="@COLUMNS@"/>
                <has_n_lines n="@LINES@"/>
                <has_text text="@TEXT@"/>
                <yield/>
            </assert_contents>
        </element>
    </xml>
    <xml name="general_tests">
        <!--Test 01-->
        <test expect_num_outputs="3">
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="cutadapt"/>
                    <param name="input" value="cutadapt.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="fastp"/>
                    <param name="input" value="fastp1.json.txt,fastp2.json.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="fastqc"/>
                    <repeat name="output">
                        <param name="type" value="data"/>
                        <param name="input" value="fastqc_1.txt,fastqc_2.txt"/>
                    </repeat>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="flexbar"/>
                    <param name="input" value="flexbar.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="slamdunk"/>
                    <param name="input" value="slamdunk_summary.txt,slamdunk_reads1_overallrates.csv,slamdunk_reads2_overallrates.csv"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="sortmerna"/>
                    <param name="input" value="sortmerna.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="trimmomatic"/>
                    <param name="input" value="trimmomatic.txt"/>
                </conditional>
            </repeat>
            <param name="title" value="Title of the report"/>
            <param name="comment" value="Commment for the report"/>
            <param name="flat" value="true"/>
            <param name="export" value="true"/>
            <output name="html_report">
                <assert_contents>
                    <has_text text="Title of the report"/>
                    <has_text text="Commment for the report"/>
                    <has_text text="cutadapt_trimmed_sequences_plot"/>
                    <has_text text="All-in-one FASTQ preprocessor"/>
                    <has_text text="fastqc_seq_heatmap_key_t"/>
                    <has_text text="flexbar_plot"/>
                    <has_text text="Slamdunk"/>
                    <has_text text="sortmerna-detailed-plot"/>
                    <has_text text="trimmomatic_plot"/>
                </assert_contents>
            </output>
            <output name="stats">
                <assert_contents>
                    <has_text text="dataset_33"/>
                    <has_text text="R1_fq"/>
                    <has_text text="poulet5_1"/>
                    <has_text text="result_right"/>
                    <has_text text="bwa-mem-fastq1_fq"/>
                    <has_text text="25839_merged"/>
                    <has_text text="Slamdunk_mqc_generalstats_slamdunk_retained"/>
                    <has_text text="C2"/>
                    <has_n_lines n="11"/>
                    <has_n_columns n="22"/>
                </assert_contents>
            </output>
            <output_collection name="plots" type="list" count="29"/>
        </test>
        <!--Test 02-->
        <test expect_num_outputs="2">
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="bismark"/>
                    <repeat name="output">
                        <param name="type" value="align"/>
                        <param name="input" value="bismark.txt"/>
                    </repeat>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="bowtie2"/>
                    <param name="input" value="bowtie2_1.txt,bowtie2_2.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="hisat2"/>
                    <param name="input" value="hisat2_1.txt,hisat2_2.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="hicexplorer"/>
                    <param name="input" value="hicexplorer1.log,hicexplorer1.log,hicexplorer2.log"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="kallisto"/>
                    <param name="input" value="kallisto_1.txt,kallisto_2.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="macs2"/>
                    <param name="input" value="macs_1.txt,macs_2.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="star"/>
                    <repeat name="output">
                        <conditional name="type">
                            <param name="type" value="log"/>
                            <param name="input" value="star_log.txt"/>
                        </conditional>
                    </repeat>
                    <repeat name="output">
                        <conditional name="type">
                            <param name="type" value="genecounts"/>
                            <param name="input" value="star_counts.txt"/>
                        </conditional>
                    </repeat>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="tophat"/>
                    <param name="input" value="tophat.txt"/>
                </conditional>
            </repeat>
            <output name="html_report">
                <assert_contents>
                    <has_text text="bismark-alignment"/>
                    <has_text text="bowtie2_se_plot"/>
                    <has_text text="mqc-module-section-bowtie2"/>
                    <has_text text="hisat2_se_plot"/>
                    <has_text text="MACS2"/>
                    <has_text text="star_alignment_plot"/>
                    <has_text text="tophat_alignment"/>
                    <has_text text="hicexplorer"/>
                    <has_text text="hicexplorer1_log_1"/>
                </assert_contents>
            </output>
            <output name="stats">
                <assert_contents>
                    <has_text text="bismark_txt_SE_report"/>
                    <has_text text="bowtie2_1_txt"/>
                    <has_text text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R2"/>
                    <has_text text="treat2"/>
                    <has_text text="hicexplorer_3_hicexplorer2_log_small_test_rf"/>
                    <has_text text="hisat2_2_txt"/>
                    <has_text text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R1"/>
                    <has_text text="treat2"/>
                    <has_text text="Cutadapt"/>
                    <has_text text="star_log_txt"/>
                    <has_text text="tophat_txtalign"/>
                    <has_n_lines n="17"/>
                    <has_n_columns n="23"/>
                </assert_contents>
            </output>
        </test>
        <!--Test 03-->
        <test expect_num_outputs="2">
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="bamtools"/>
                    <param name="input" value="bamtools.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="bcftools"/>
                    <param name="input" value="bcftools.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="busco"/>
                    <param name="input" value="busco.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="deeptools"/>
                    <repeat name="output">
                        <param name="type" value="bamPEFragmentSize"/>
                        <param name="input" value="deeptools_bamPEFragmentSize.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="estimateReadFiltering"/>
                        <param name="input" value="deeptools_estimateReadFiltering.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="plotCoverageStdout"/>
                        <param name="input" value="deeptools_plotCoverageStdout.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="plotCoverageOutRawCounts"/>
                        <param name="input" value="deeptools_plotCoverageOutRawCounts.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="plotEnrichment"/>
                        <param name="input" value="deeptools_plotEnrichment.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="plotFingerprintOutRawCounts"/>
                        <param name="input" value="deeptools_plotFingerprintOutRawCounts.txt"/>
                    </repeat>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="featureCounts"/>
                    <param name="input" value="featureCounts.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="gatk"/>
                    <repeat name="output">
                        <param name="type" value="base_recalibrator"/>
                        <param name="input" value="gatk_BaseRecalibrator.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="varianteval"/>
                        <param name="input" value="gatk_varianteval.txt"/>
                    </repeat>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="htseq"/>
                    <param name="input" value="htseq.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="picard"/>
                    <repeat name="output">
                        <param name="type" value="gcbias"/>
                        <param name="input" value="picard_collectGcBias.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="insertsize"/>
                        <param name="input" value="picard_CollectInsertSizeMetrics.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="markdups"/>
                        <param name="input" value="picard_MarkDuplicates.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="basedistributionbycycle"/>
                        <param name="input" value="picard_CollectBaseDistributionByCycle.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="rnaseqmetrics"/>
                        <param name="input" value="picard_CollectRnaSeqMetrics.txt"/>
                    </repeat>
                    <repeat name="output">
                        <param name="type" value="alignment_metrics"/>
                        <param name="input" value="picard_CollectAlignmentSummaryMetrics.txt"/>
                    </repeat>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="prokka"/>
                    <param name="input" value="prokka_1.txt,prokka_2.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="qualimap"/>
                    <param name="input" value="genome_results.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="quast"/>
                    <param name="input" value="quast.tsv"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="rseqc"/>
                    <repeat name="output">
                        <conditional name="type">
                            <param name="type" value="read_gc"/>
                            <param name="input" value="rseqc.txt"/>
                        </conditional>
                    </repeat>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="samblaster"/>
                    <param name="input" value="samblaster.txt"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="samtools"/>
                    <repeat name="output">
                        <conditional name="type">
                            <param name="type" value="stats"/>
                            <param name="input" value="samtools_stats.txt"/>
                        </conditional>
                    </repeat>
                    <repeat name="output">
                        <conditional name="type">
                            <param name="type" value="flagstat"/>
                            <param name="input" value="samtools_flagstat.txt"/>
                        </conditional>
                    </repeat>
                    <repeat name="output">
                        <conditional name="type">
                            <param name="type" value="idxstats"/>
                            <param name="input" value="samtools_idxstats.txt"/>
                        </conditional>
                    </repeat>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="snpeff"/>
                    <param name="input" value="snpeff.csv" ftype="csv"/>
                </conditional>
            </repeat>
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="vcftools"/>
                    <repeat name="output">
                        <conditional name="type">
                            <param name="type" value="tstv_by_qual"/>
                            <param name="input" value="vcftools.txt"/>
                        </conditional>
                    </repeat>
                    <param name="input" value="vcftools.txt"/>
                </conditional>
            </repeat>
            <output name="html_report">
                <assert_contents>
                    <has_text text="bamtools-stats"/>
                    <has_text text="bcftools_stats_indel-lengths"/>
                    <has_text text="busco-lineage-fungi_odb9"/>
                    <has_text text="deeptools"/>
                    <has_text text="featureCounts_assignment_plot"/>
                    <has_text text="gatk_varianteval_variant_plot"/>
                    <has_text text="htseq_assignment_plot"/>
                    <has_text text="picard_alignment_readlength"/>
                    <has_text text="picard-rna-assignment"/>
                    <has_text text="picard-markduplicates"/>
                    <has_text text="picard-insertsize"/>
                    <has_text text="picard-gcbias"/>
                    <has_text text="prokka_plot"/>
                    <has_text text="qualimap"/>
                    <has_text text="samblaster_duplicates"/>
                    <has_text text="quast-stats"/>
                    <has_text text="samtools-flagstat-dp"/>
                    <has_text text="snpeff"/>
                </assert_contents>
            </output>
            <output name="stats">
                <assert_contents>
                    <has_text text="bamtools_txt"/>
                    <has_text text="Test1"/>
                    <has_text text="Prokka_mqc_generalstats_prokka_contigs"/>
                    <has_text text="5: TopHat on data 1, data 14, and data 13"/>
                    <has_text text="gatk_varianteval_txt"/>
                    <has_text text="x_bam"/>
                    <has_text text="htseq_txt"/>
                    <has_text text="picard_CollectRnaSeqMetrics_bam"/>
                    <has_text text="dataset_114"/>
                    <has_text text="Helicobacter pylori"/>
                    <has_text text="Sample2"/>
                    <has_text text="14892_1#15"/>
                    <has_text text="samtools_flagstat_txt"/>
                    <has_text text="mapped_passed"/>
                    <has_text text="stats_mqc_generalstats_samtools_stats_error_rate"/>
                    <has_text text="samtools_stats_txt"/>
                    <has_text text="snpeff_csv"/>
                    <has_text text="Bamtools"/>
                    <has_n_lines n="22"/>
                    <has_n_columns n="46"/>
                </assert_contents>
            </output>
        </test>
        <!--Test 04-->
        <test expect_num_outputs="2">
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="custom_content"/>
                    <param name="cc_select" value="manual"/>
                    <param name="plot_type" value="linegraph"/>
                    <param name="section_name" value="BPC"/>
                    <param name="description" value="Sum of intensity (Y) of the most intense peaks at each retention time(X)"/>
                    <param name="xlab" value="Retention Time"/>
                    <param name="ylab" value="Base Peak Intensity"/>
                    <param name="input" value="cc_ko15.bpc.tab,cc_wt15.bpc.tab"/>
                </conditional>
            </repeat>
            <output name="html_report" ftype="html">
                <assert_contents>
                    <has_size value="4594258" delta="500"/>
                </assert_contents>
            </output>
            <!--output name="stats" ftype="tabular">
                Not created anymore. Proper test needed.
                <assert_contents>
                    <has_n_lines n="2" />
                </assert_contents>
            </output-->
        </test>
        <!--Test 05-->
        <test expect_num_outputs="3">
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="fastqc"/>
                    <repeat name="output">
                        <param name="type" value="data"/>
                        <param name="input" value="fastqc_1.txt,fastqc_2.txt"/>
                    </repeat>
                </conditional>
            </repeat>
            <param name="title" value="Title of the report"/>
            <param name="comment" value="Commment for the report"/>
            <param name="flat" value="true"/>
            <param name="export" value="true"/>
            <output name="html_report">
                <assert_contents>
                    <has_text text="Title of the report"/>
                    <has_text text="Commment for the report"/>
                    <has_text text="fastqc_seq_heatmap_key_t"/>
                </assert_contents>
            </output>
            <output name="stats" ftype="tabular">
                <assert_contents>
                    <has_text text="poulet5_2"/>
                    <has_text text="FastQC"/>
                    <has_n_lines n="3"/>
                    <has_n_columns n="7"/>
                </assert_contents>
            </output>
            <output_collection name="plots" type="list" count="7">
                <element name="fastqc_per_base_sequence_quality_plot" file="mqc_fastqc_per_base_sequence_quality_plot_1.txt">
                    <assert_contents>
                        <has_size size="2877" delta="200"/>
                    </assert_contents>
                </element>
            </output_collection>
        </test>
        <!--Test 06-->
        <test expect_num_outputs="2">
            <repeat name="results">
                <conditional name="software_cond">
                    <param name="software" value="pycoqc"/>
                    <param name="input" value="pycoqc.json"/>
                </conditional>
            </repeat>
            <param name="title" value="Title of the report"/>
            <param name="comment" value="Commment for the report"/>
            <!-- <param name="flat" value="true"/> -->
            <output name="html_report">
                <assert_contents>
                    <has_text text="Title of the report"/>
                    <has_text text="Commment for the report"/>
                    <has_text text="General Statistics"/>
                    <has_text text="pycoqc_count_plot"/>
                    <has_text text="pycoqc_read_len_plot"/>
                    <has_text text="pycoqc_read_qual_plot"/>
                </assert_contents>
            </output>
            <output name="stats" ftype="tabular">
                <assert_contents>
                    <has_text text="pycoQC_mqc_generalstats_pycoqc_passed_median_read_length"/>
                    <has_text text="pycoqc_json"/>
                </assert_contents>
            </output>
        </test>
    </xml>
</macros>