view hicup_hicup.xml @ 4:bd1594d55a38 draft

planemo upload for repository https://github.com/joachimwolff/galaxytools/tree/hicup/tools/hicup commit 22eec1b3b20b788e762837c02488f332f831fab3
author bgruening
date Fri, 25 May 2018 17:53:14 -0400
parents e96cb39c3f8e
children 6137fb382a02
line wrap: on
line source

<tool id="hicup_hicup" name="Hicup Pipeline" version="@VERSION@.0">
    <description>controls the other programs in the HiCUP pipeline.</description>
    <macros>
        <import>hicup_macros.xml</import>
    </macros>
    <expand macro="requirements_hicup" />

    <command detect_errors="exit_code"><![CDATA[

        ##Dealing with fastq and fastq.gz
        #if $input_first_sequence.is_of_type("fastq.gz", "fastqsanger.gz"):
            ln -s $input_first_sequence dataset1.gz &&
            #set input1='dataset1.gz'
        #else
            ln -s $input_first_sequence dataset1 &&
            #set input1='dataset1'
        #end if
      
        
        #if $input_second_sequence.is_of_type("fastq.gz", "fastqsanger.gz"):
            ln -s $input_second_sequence dataset2.gz &&
            #set input2='dataset2.gz'
        #else
            ln -s $input_second_sequence dataset2 &&
            #set input2='dataset2'
        #end if
        
        BOWTIE_PATH_BASH="\$(which bowtie2)" &&
        #set index_path = ''
        #if str($reference_genome.source) == "history":
            bowtie2-build "$reference_genome.own_file" genome &&
            ln -s "$reference_genome.own_file" genome.fa &&
            #set index_path = 'genome'
        #else:
            #set index_path = $reference_genome.index.fields.path
        #end if
        hicup_digester --re1 '$re1' --genome '$genome'
        #if $advanced_options.re2:
            --re2 '$advanced_options.re2'
        #end if
        #for $file in $input_files_digest:
            $file
        #end for
        && mv *Digest_* digest_file.txt
        && hicup
        --zip
        --threads \${GALAXY_SLOTS:-1}
        --digest digest_file.txt
        --index '$index_path'
        --bowtie2 \$BOWTIE_PATH_BASH
        $advanced_options.nofill --keep

        #if $advanced_options.longest:
            --longest '$advanced_options.longest'
        #end if

        #if $advanced_options.shortest:
            --shortest '$advanced_options.shortest'
        #end if

        $input1 $input2
        
        && ls -al
    ]]></command>
    <inputs>
        <expand macro="input_files" />
        <param name="input_files_digest" type="data" multiple="true" format="fasta" label="Input DNA sequence files that should be digested"/>
        <param argument="--genome" type="text" label="Genome name"
               help="Name of the genome to be digested."/>
        <expand macro="re1" />
        <expand macro="reference_genome_macro" />
        <section name="advanced_options" title="Advanced options">
            <expand macro="re2" />
            <expand macro="filter_longest_shortest" />
            <expand macro="no_fill" />
        </section>
    </inputs>
    <outputs>
        <!-- Regular output of hicup -->
        <data name="hicup_results" format="html" from_work_dir="*.html" label="HiCUP results"/>
        <data name="hicup_report" format="txt" from_work_dir="HiCUP_summary_report*.txt" label="HiCUP report" />
        <data name="dataset_hicup" format="qname_sorted.bam" from_work_dir="*.hicup.*bam" label="HiCUP data result"/>

        <collection name="intermediate_results" label="HiCUP intermediate results" type="list">
            <!-- Output of the truncater step -->
            <data name="hicup_truncater_summary" format="txt" label="hicup_truncater_summary.txt" from_work_dir="hicup_truncater_summary*.txt" />
            <data name="dataset1_trunc" format="fastq.gz" label="Hicup Dataset1 Truncation" from_work_dir="dataset1*.trunc.fastq.gz" />
            <data name="dataset2_trunc" format="fastq.gz" label="Hicup Dataset2 Truncation" from_work_dir="dataset2*.trunc.fastq.gz" />
            <data name="dataset1_truncater_barchart" format="svg" label="Hicup Dataset1 Truncation Barchart.svg" from_work_dir="dataset1*.truncation_barchart.svg" />
            <data name="dataset2_truncater_barchart" format="svg" label="Hicup Dataset2 Truncation Barchart.svg" from_work_dir="dataset2*.truncation_barchart.svg" />
            <!-- Output of the mapper step -->
            <data name="hicup_mapper_summary" format="txt" from_work_dir="hicup_mapper_summary*" label="hicup_mapper_summary.txt"/>
            <data name="result_pair" format="qname_sorted.bam" from_work_dir="*pair.bam" label="pair.bam"/>
            <data name="dataset1_mapper_barchart" format="svg" from_work_dir="dataset1*.mapper_barchart.svg" label="Mapper Dataset1 Barchart.svg" />
            <data name="dataset2_mapper_barchart" format="svg" from_work_dir="dataset2*.mapper_barchart.svg" label="Mapper Dataset2 Barchart.svg" />
            <!-- Output of the filter step -->
            <data name="dataset_filt" format="qname_sorted.bam" from_work_dir="*.filt.bam" label="filt.bam" />
            <data name="hicup_filter_summary" format="txt" from_work_dir="hicup_filter_summary*.txt" label="hicup_filter_summary.txt" />
            <data name="contiguous_filter" format="qname_sorted.bam" from_work_dir="hicup_filter_ditag_rejects*/*contiguous.filter.bam" label="contiguous.filter.bam" />
            <data name="re_ligation_filter" format="qname_sorted.bam" from_work_dir="hicup_filter_ditag_rejects*/*re_ligation.filter.bam" label="re_ligation.filter.bam" />
            <data name="same_dangling_ends_filter" format="qname_sorted.bam" from_work_dir="hicup_filter_ditag_rejects*/*same_dangling_ends.filter.bam" label="same_dangling_ends.filter.bam" />
            <data name="invalid_filter" format="qname_sorted.bam" from_work_dir="hicup_filter_ditag_rejects*/*invalid.filter.bam" label="invalid.filter.bam" />
            <data name="same_circularised_filter" format="qname_sorted.bam" from_work_dir="hicup_filter_ditag_rejects*/*same_circularised.filter.bam" label="same_circularised.filter.bam" />
            <data name="same_internal_filter" format="qname_sorted.bam" from_work_dir="hicup_filter_ditag_rejects*/*same_internal.filter.bam" label="same_internal.filter.bam" />
            <data name="wrong_size_filter" format="qname_sorted.bam" from_work_dir="hicup_filter_ditag_rejects*/*wrong_size.filter.bam" label="wrong_size.filter.bam"/>
            <data name="filter_piechart" format="svg" from_work_dir="*filter_piechart.svg" label="Filter piechart" />
            <data name="ditag_size_distribution" format="svg" from_work_dir="*.ditag_size_distribution.svg" label="Ditag size distribution" />
            <!-- Output of the deduplicator step -->
            <data name="cis_trans_piechart" format="svg" from_work_dir="*deduplicator_cis_trans_piechart.svg" label="Hicup Deduplicator Cis Trans Piechart.svg"/>
            <data name="uniques_barchart" format="svg" from_work_dir="*deduplicator_uniques_barchart.svg" label="Hicup Deduplicator Uniques Barchart.svg" />
            <data name="hicup_deduplicator_summary" format="txt" from_work_dir="hicup_deduplicator_summary*.txt" label="Hicup Deduplicator Summary" />
        </collection>
    </outputs>
    <tests>
         <test>
            <!-- inputs -->
            <param name="input_first_sequence" value="dataset1.fastq" ftype="fastq"/>
            <param name="input_second_sequence" value="dataset2.fastq" ftype="fastq"/>
            <param name="re1" value="A^AGCTT"/>
            <param name="input_files_digest" value="chr21And22FromHg38.fasta"/>
            <param name="genome" value="chr21And22FromHg38"/>
            <conditional name="reference_genome">
                <param name="source" value="history" />
                <param name="own_file" value="chr21And22FromHg38.fasta"/>
            </conditional>

            <!-- outputs -->
            <output name="hicup_results" file="HiCUP_summary_report.html" ftype="html" lines_diff="10000"/>
            <output name="dataset_hicup" file="dataset1_2.hicup.bam" lines_diff="10" ftype="qname_sorted.bam" />
            <output name="hicup_report" file="HiCUP_summary_report.txt" lines_diff="2"/>

            <output_collection name="intermediate_results">
                <!-- truncater step-->
                <element name="hicup_truncater_summary" file="hicup_truncater_summary.txt" lines_diff="8"/>
                <element name="dataset1_trunc" file="dataset1.trunc.fastq.gz" compare="sim_size"/>
                <element name="dataset2_trunc" file="dataset2.trunc.fastq.gz" compare="sim_size"/>
                <element name="dataset1_truncater_barchart" file="dataset1.truncation_barchart.svg" ftype="svg" lines_diff="1000" />
                <element name="dataset2_truncater_barchart" file="dataset2.truncation_barchart.svg" ftype="svg" lines_diff="1000" />

                <!-- mapper step -->
                <element name="hicup_mapper_summary" file="hicup_mapper_summary.txt" lines_diff="4"/>
                <element name="result_pair" file="dataset1_2.pair.bam" lines_diff="8" ftype="qname_sorted.bam"/>
                <element name="dataset1_mapper_barchart" file="dataset1.mapper_barchart.svg" ftype="svg" lines_diff="1000"/>
                <element name="dataset2_mapper_barchart" file="dataset2.mapper_barchart.svg" ftype="svg" lines_diff="1000"/>

                <!-- filter step-->
                <element name="hicup_filter_summary" file="hicup_filter_summary.txt" lines_diff="12"/>
                <element name="dataset_filt" file="dataset1_2.filt.bam" lines_diff="8" ftype="qname_sorted.bam" />
                <element name="contiguous_filter" file="dataset1_2_contiguous.filter.bam" lines_diff="8" ftype="qname_sorted.bam" />
                <element name="re_ligation_filter" file="dataset1_2_re_ligation.filter.bam" lines_diff="8" ftype="qname_sorted.bam" />
                <element name="same_dangling_ends_filter" file="dataset1_2_same_dangling_ends.filter.bam" lines_diff="8" ftype="qname_sorted.bam" />
                <element name="invalid_filter" file="dataset1_2_invalid.filter.bam"  lines_diff="8" ftype="qname_sorted.bam" />
                <element name="same_circularised_filter" file="dataset1_2_same_circularised.filter.bam" lines_diff="8" ftype="qname_sorted.bam" />
                <element name="same_internal_filter" file="dataset1_2_same_internal.filter.bam" lines_diff="8" ftype="qname_sorted.bam" />
                <element name="filter_piechart" file="dataset1_2.pair.bam.filter_piechart.svg" ftype="svg" lines_diff="1000" />
                <element name="ditag_size_distribution" file="dataset1_2.ditag_size_distribution.svg" ftype="svg" lines_diff="1000" />

                <!-- deduplicator step-->
                <element name="cis_trans_piechart" file="dataset1_2.filt.bam.deduplicator_cis_trans_piechart.svg" ftype="svg" lines_diff="1000"/>
                <element name="uniques_barchart" file="dataset1_2.filt.bam.deduplicator_uniques_barchart.svg" ftype="svg" lines_diff="1000"/>
                <element name="hicup_deduplicator_summary" file="hicup_deduplicator_summary.txt" lines_diff="2"/>
            </output_collection>
        </test>
    </tests>
    <help><![CDATA[

    For help please consult the documentation of HiCUP: http://www.bioinformatics.babraham.ac.uk/projects/hicup/overview/

    To get more information about the pipeline visit: http://www.bioinformatics.babraham.ac.uk/projects/hicup/scripts_description/#HiCUP
    ]]></help>
    <expand macro="citation_hicup" />
</tool>