view crispresso2.xml @ 2:eb5dbcfac76b draft default tip

Uploaded
author ieguinoa
date Thu, 05 May 2022 14:45:06 +0000
parents 3ed9b8271977
children
line wrap: on
line source

<tool id="crispresso2" name="CRISPResso2" version="0.1.1" python_template_version="3.5">
    <requirements>
        <requirement type="package" version="2.0.45">crispresso2</requirement>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
        mkdir crispresso_out;
        #if $singlePaired.fastq_r1.is_of_type('fastq.gz', 'fastqsanger.gz'):
            #set $r1 = 'seq_name.fastq.gz'
        #else:
            #set $r1 = 'seq_name.fastq'
        #end if
        ln -s $singlePaired.fastq_r1 $r1;
        mkdir -p '${html_file.files_path}' &&
        #if str($singlePaired.sPaired) == 'paired':
            #if $singlePaired.fastq_r2.is_of_type('fastq.gz', 'fastqsanger.gz'):
                #set $r2 = 'seq_name2.fastq.gz'
            #else:
                #set $r2 = 'seq_name2.fastq'
            #end if
            ln -s $singlePaired.fastq_r2 $r2;
        #end if
        CRISPResso --fastq_r1 $r1
        #if str($singlePaired.sPaired) == 'paired':
            --fastq_r2 $r2
        #end if
        --amplicon_seq '$amplicon_seq' 
        -an '$amplicon_name'
        -n reads
        #if $sgrna_parameters.guide_seq:
            --guide_seq $sgrna_parameters.guide_seq
        #end if
        #if $sgrna_parameters.guide_name:
            --guide_name $sgrna_parameters.guide_name
        #end if
        #if $sgrna_parameters.flexiguide:
            -fg $sgrna_parameters.flexiguide
        #end if
        #if $sgrna_parameters.flexiguide_homology:
            --flexiguide_homology $sgrna_parameters.flexiguide_homology
        #end if
        #if $sgrna_parameters.flexiguide_name:
            --flexiguide_name '$sgrna_parameters.flexiguide_name'
        #end if
        #if $coding_seq:
            --coding_seq '$coding_seq'
        #end if
        $sgrna_parameters.discard_guide_positions_overhanging_amplicon_edge
        $filtering_parameters.split_interleaved_input
        #if $filtering_parameters.min_average_read_quality:
            --min_average_read_quality $filtering_parameters.min_average_read_quality
        #end if
        #if $filtering_parameters.min_single_bp_quality:
            --min_single_bp_quality $filtering_parameters.min_single_bp_quality
        #end if
        #if $filtering_parameters.min_bp_quality_or_N:
            --min_bp_quality_or_N $filtering_parameters.min_bp_quality_or_N
        #end if
        #if $filtering_parameters.min_paired_end_reads_overlap:
            --min_paired_end_reads_overlap $filtering_parameters.min_paired_end_reads_overlap
        #end if
        #if $filtering_parameters.max_paired_end_reads_overlap:
            --max_paired_end_reads_overlap $filtering_parameters.max_paired_end_reads_overlap
        #end if
        #if $window_parameters.cleavage_offset:
            --cleavage_offset '$window_parameters.cleavage_offset'
        #end if
        #if $output_parameters.suppress_report:
            --suppress_report
        #end if
        $filtering_parameters.stringent_flash_merging
        -o '${html_file.files_path}' > $output_log 
        && cp '${html_file.files_path}'/*\.html crispresso.html && cp '${html_file.files_path}'/CRISPResso_on_reads/CRISPResso_quantification_of_editing_frequency.txt $quant_editing_freq
    ]]></command>
    <inputs>
        <conditional name="singlePaired">
            <param name="sPaired" type="select" label="Single-end or paired-end reads">
                <option value="single" selected="true">Single-end</option>
                <option value="paired">Paired-end</option>
            </param>
            <when value="single">
                <param format="fastq,fastq.gz,fastqsanger.gz" name="fastq_r1" type="data" label="FASTQ file"/>
            </when>
            <when value="paired">
                <param format="fastq,fastq.gz,fastqsanger.gz" name="fastq_r1" type="data" label="FASTQ file, forward reads"/>
                <param format="fastq,fastq.gz,fastqsanger.gz" name="fastq_r2" type="data" label="FASTQ file, reverse reads"/>
            </when>
        </conditional>
        <param name="amplicon_seq" type="text" label="Amplicon sequence" help="If submitting more than 1 amplicon, use commas to separate them"/>
        <param name="amplicon_name" type="text" label="Amplicon name" help="--amplicon_name"/>
        <param name="expected_hdr_amplicon_seq" type="text" label="Amplicon sequence expected after HDR" help="--expected_hdr_amplicon_seq"/>
        <param argument="--coding_seq" type="text" value="" label="Subsequence/s of the amplicon sequence covering one or more coding sequences for frameshift analysis" help="--coding_seq"/>
        <section name="sgrna_parameters" expanded="false" title="sgRNA parameters">
            <param argument="--guide_name" type="text" label="sgRNA names" help="if more than one, please separate by commas. (default: sgRNA)"/>
            <param argument="--guide_seq" type="text" value="" label="sgRNA sequence" help="sgRNA sequence, if more than one, please separate by commas"/>
            <param argument="--flexiguide_name" type="text" value="" optional="True" label="Names for the flexiguides" help="Similar to --guide_name"/>
            <param argument="--flexiguide" type="text" value="" label="sgRNA sequence (flexible)" help="The flexiguide sequence will be aligned to the amplicon sequence(s), as long as the guide sequence has homology as set by --flexiguide_homology"/>
            <param argument="--flexiguide_homology" type="integer" value="80" label="Flexiguide homology" help="will yield guides in amplicons with at least this homology to the flexiguide sequence (default:80 meaning 80% homology is required)"/>
            <param name="discard_guide_positions_overhanging_amplicon_edge" truevalue="" falsevalue="--discard_guide_positions_overhanging_amplicon_edge" type="boolean" default="False" label="Discard guide positions overhanging amplicon edge" help="If set, for guides that align to multiple positions, guide positions will be discarded if plotting around those regions would included bp that extend beyond the end of the amplicon"/>
        </section>
        <section name="filtering_parameters" expanded="false" title="Read filtering, trimming, and merging parameters">
            <param name="split_interleaved_input" type="boolean" default="False" truevalue="--split_interleaved_input" falsevalue="" label="Splits a single fastq file containing paired end reads in two files before running CRISPResso"/>
            <param argument="--min_average_read_quality" value="0" type="integer" label="Minimum average quality score (phred33) to keep a read"/>
            <param argument="--min_single_bp_quality" type="integer" value="0" label="Minimum single bp score (phred33) to keep a read"/>
            <param argument="--min_bp_quality_or_N" type="integer" value="0" label="Bases with a quality score (phred33) less than this value will be set to 'N'"/>
            <param argument="--min_paired_end_reads_overlap" type="integer" value="10" label="Minimum overlap length between reads" help="Parameter for the FLASH read merging step. Minimum required overlap length between two reads to provide a confident overlap. (default: 10)" />
            <param argument="--max_paired_end_reads_overlap" type="integer" value="100" label="Maximum overlap length between reads" help="Parameter for the FLASH merging step. Maximum overlap length expected in approximately 90% of read pairs. Please see the FLASH manual for more information. (default: 100)"/>
            <param name="stringent_flash_merging" truevalue="--stringent_flash_merging" falsevalue="" type="boolean" default="False" label="Use stringent parameters for flash merging" help="In the case where flash could merge R1 and R2 reads ambiguously, the expected overlap is calculated as 2*average_read_length - amplicon_length. The flash parameters for --min-overlap and --max-overlap will be set to prefer merged reads with length within 10bp of the expected overlap. These values override the --min_paired_end_reads_overlap or --max_paired_end_reads_overlap CRISPResso parameters"/>
        </section>
        <section name="window_parameters" expanded="false" title="Quantification window parameters">
            <param argument="cleavage_offset" type="integer" optional="True" default="-3" label="Center of quantification window to use within respect to the 3' end of the provided sgRNA sequence." help="-wc or --quantification_window_center or --cleavage_offset (default = -3)"/>
        </section>
        <section name="output_parameters" expanded="false" title="Output parameters">
            <param name="suppress_report" type="boolean" default="False" label="Suppress output report, plots output as .pdf only (not .png)" help="--suppress_report"/>
        </section>
    </inputs>
    <outputs>
        <data format="txt" name="output_log" label="${tool.name} on ${on_string}: log" from_work_dir="Log.final.out"/>
        <data name="html_file" format="html" from_work_dir="crispresso.html" label="WebPage report"/>
        <data format="txt" name="quant_editing_freq" label="CRISPResso_quantification_of_editing_frequency"/>
    </outputs>
    <help><![CDATA[
        TODO: Fill in help.
    ]]></help>
</tool>