Mercurial > repos > nml > quasitools
diff distance.xml @ 4:8cdffc02d2e2 draft
planemo upload for repository https://github.com/phac-nml/quasitools commit 19e0f266ee455b82432e2d7b987b35de8c7a14d5
author | nml |
---|---|
date | Wed, 25 Apr 2018 10:38:00 -0400 |
parents | |
children | b69e898b8109 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distance.xml Wed Apr 25 10:38:00 2018 -0400 @@ -0,0 +1,127 @@ +<tool id="distance" name="Quasispecies Distance" version="0.1.0"> + <description>Calculate the evolutionary distance between viral quasispecies.</description> + <requirements> + <requirement type="package" version="0.3.1">quasitools</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + + #for $bam_file in $bam_files + ln -s $bam_file '${bam_file.name}' && + ln -s $bam_file.metadata.bam_index '${bam_file.name}.bai' && + #end for + + quasitools distance $ref_file + + #for $bam_file in $bam_files + '${bam_file.name}' + #end for + + -o matrix.csv + + $normalize + + #if $low_coverage.coverage_selector == 'keep': + -k + #else if $low_coverage.coverage_selector == 'remove': + -r + #else if $low_coverage.coverage_selector == 'truncate': + -t + #end if + + #if $select_range.manual_input == 'select_range': + -s $select_range.start + -e $select_range.end + #end if + + $output_similarity + + ]]></command> + <inputs> + <param name="ref_file" type="data" format="fasta" optional="false" label="Reference file" /> + <param name="bam_files" type="data" format="bam" optional="false" multiple="true" label="BAM files" min="2" help="At least two BAM files are required to perform quasispecies distance comparison."/> + <param name="normalize" type="boolean" truevalue="-n" falsevalue="-dn" checked="True" label="Normalize pileups" help="Normalize read count data so that the read counts per 4-tuple (A, C, T, G) sum to one."/> + <param name="output_similarity" type="boolean" truevalue="-os" falsevalue="-od" checked="False" label="Output cosine similarity instead of angular cosine distance." help="Cosine similarity is not a distance metric." /> + <conditional name="low_coverage"> + <param name="coverage_selector" type="select" label="Choose how to treat zero coverage positions."> + <option value="remove" selected = "true">Remove all zero coverage positions.</option> + <option value="keep">Keep all zero coverage positions.</option> + <option value="truncate">Truncate zero coverage positions at start and end of pileup.</option> + </param> + <when value="remove"> + </when> + <when value="keep"> + </when> + <when value="truncate"> + </when> + </conditional> + <conditional name="select_range"> + <param name="manual_input" type="select" label="Select pileup range." help="Currently only supports selection of custom start and end position for one single reference."> + <option value="keep_range" selected = "true">Use original pileup for distance calculation.</option> + <option value="select_range">Manually select pileup's start and end position for distance calculation.</option> + </param> + <when value="select_range"> + <param name="start" type="integer" optional="false" min="1" value="1" label="Select one-indexed start base position." help="Positions before start position will be ignored in the distance calculation." /> + <param name="end" type="integer" optional="false" min="1" value="1" label="Select one-indexed end base position." help="Positions after end position will be ignored in the distance calculation." /> + </when> + <when value="keep_range"> + </when> + </conditional> + </inputs> + <outputs> + <data format="csv" name="matrix" from_work_dir="matrix.csv" /> + </outputs> + <tests> + <test> + <param name="ref_file" value="hxb2_pol.fas" /> + <param name="bam_files" value="quasi1.bam,quasi2.bam" /> + <param name="normalize" value="-n" /> + <param name="coverage_selector" value="truncate" /> + <param name="manual_input" value="keep_range" /> + <param name="output_similarity" value="-od" /> + <output name="matrix" ftype="csv" > + <assert_contents> + <has_text_matching expression="Quasispecies"/> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[ + +Quasispecies Distance +===================== + +Determines the evolutionary distance between viral quasispecies. +Uses the angular cosine distance function by default. + +------ +Inputs +------ + +1. FASTA Consensus file +2. Two or more BAM files (otherwise tool will throw an error) + +---------- +Parameters +---------- +1. Normalize pileup (True or False) +2. Select custom start and end position. Currently only supports selection of custom start and end position for one single reference. +3. Choose how to treat zero coverage regions (keep, remove all, or truncate) + +------- +Outputs +------- + +CSV containing distance matrix. + + ]]></help> + <citations> + <citation type="bibtex"> + @misc{GitHubquasitoolsdistance, + title = {quasitools distance}, + publisher = {phac-nml}, + journal = {GitHub repository}, + url = {https://github.com/phac-nml/quasitools}, + } + </citation> + </citations> +</tool>