Mercurial > repos > iuc > cnvkit_batch
view batch.xml @ 5:80dc747a394d draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/cnvkit commit fc1282ec68b346988203ead860e9b9d6a47e9efb
author | iuc |
---|---|
date | Sat, 01 Mar 2025 12:02:49 +0000 |
parents | 97d2b6742760 |
children |
line wrap: on
line source
<tool id="cnvkit_batch" name="CNVkit Batch" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05"> <description>Run the CNVkit pipeline on one or more BAM files</description> <macros> <import>macros.xml</import> </macros> <expand macro="xrefs"/> <expand macro="creators"/> <expand macro="requirements"/> <command detect_errors="exit_code"><![CDATA[ ln -s '$CNV_reference.input_sample_file' ./tumor.bam && ln -s '$CNV_reference.input_sample_file.metadata.bam_index' ./tumor.bam.bai && #if str($CNV_reference.CNV_reference_availabel) == "yes": ln -s '$CNV_reference.reference' ./reference.cnn && #end if #if str($CNV_reference.CNV_reference_availabel) == "no": #if $CNV_reference.normal ln -s '$CNV_reference.normal' ./normal.bam && ln -s '$CNV_reference.normal.metadata.bam_index' ./normal.bam.bai && #end if #if $CNV_reference.advanced_settings.antitargets ln -s '$CNV_reference.advanced_settings.antitargets' ./antitargets.bed && #end if #if $CNV_reference.advanced_settings.annotate ln -s '$CNV_reference.advanced_settings.annotate' ./annotate.bed && #end if #if $CNV_reference.advanced_settings.access ln -s '$CNV_reference.advanced_settings.access' ./access.bed && #end if ln -s '$CNV_reference.targets' ./capture.bed && #if str($CNV_reference.reference_source.ref_selector) == 'history': ln -s '$CNV_reference.reference_source.fasta' ./genome.fa && samtools faidx ./genome.fa 2>&1 || echo 'Error running samtools faidx for indexing fasta reference for CNVkit' >&2 && #else ln -s '$CNV_reference.reference_source.fasta.fields.path' ./genome.fa && ln -s '${CNV_reference.reference_source.fasta.fields.path}.fai' ./genome.fa.fai && #end if #end if #import os cnvkit.py batch ./tumor.bam #if str($CNV_reference.CNV_reference_availabel) == "no": #if $CNV_reference.normal --normal ./normal.bam #else: --normal #end if --targets ./capture.bed --fasta ./genome.fa #if $CNV_reference.advanced_settings.antitargets --antitargets ./antitargets.bed #end if #if $CNV_reference.advanced_settings.annotate --annotate ./annotate.bed #end if #if $CNV_reference.advanced_settings.access --access ./access.bed #end if #end if #if str($CNV_reference.CNV_reference_availabel) == "yes": --reference ./reference.cnn #end if $output_section.scatter $output_section.diagram --processes \${GALAXY_SLOTS:-4} #if $CNV_reference.advanced_settings.method == "hybrid" #set $method_val = "hybrid" --method '$method_val' #else --method '$CNV_reference.advanced_settings.method' #end if #if $CNV_reference.advanced_settings.segment_method == "cbs" #set $segment_method_val = "cbs" --segment-method '$segment_method_val' #else --segment-method '$CNV_reference.advanced_settings.segment_method' #end if $CNV_reference.advanced_settings.male_reference $CNV_reference.advanced_settings.countreads $CNV_reference.advanced_settings.drop_low_coverage #if str($CNV_reference.CNV_reference_availabel) == "no": $CNV_reference.advanced_settings.short_names #if str($CNV_reference.advanced_settings.target_avg_size) --target-avg-size $CNV_reference.advanced_settings.target_avg_size #end if #if str($CNV_reference.advanced_settings.antitarget_avg_size) --antitarget-avg-size $CNV_reference.advanced_settings.antitarget_avg_size #end if #if str($CNV_reference.advanced_settings.antitarget_min_size) --antitarget-min-size $CNV_reference.advanced_settings.antitarget_min_size #end if $CNV_reference.advanced_settings.cluster #end if ]]></command> <inputs> <conditional name="CNV_reference"> <param name="CNV_reference_availabel" type="select" label="Build or reuse a copy number reference file (.cnn)?" help=""> <option value="no" selected="True">Build a new copy number reference file</option> <option value="yes">Reuse a copy number reference file</option> </param> <when value="no"> <expand macro="create_CNV_reference_file" /> <expand macro="reference_interface" /> <section name="advanced_settings" title="Advanced settings" expanded="false"> <expand macro="advanced_no_reference" /> <expand macro="shared" /> </section> </when> <when value="yes"> <expand macro="reuse_an_existing_cnv_reference_file" /> <section name="advanced_settings" title="Advanced settings" expanded="false"> <expand macro="shared" /> </section> </when> </conditional> <expand macro="output_section" /> </inputs> <outputs> <data name="out_sample_bintest" format="cns" label="${tool.name} on ${on_string}: Sample Bintest" from_work_dir="tumor.bintest.cns" /> <data name="out_sample_antitargetcoverage" format="cnn" label="${tool.name} on ${on_string}: Sample Antitarget Coverage" from_work_dir="tumor.antitargetcoverage.cnn" /> <data name="out_sample_call" format="cns" label="${tool.name} on ${on_string}: Rounded absolute scale copy numbers integer (not log2 ratios)" from_work_dir="tumor.call.cns" /> <data name="out_sample_targetcoverage_cnn" format="cnn" label="${tool.name} on ${on_string}: Sample Target Coverage" from_work_dir="tumor.targetcoverage.cnn" /> <data name="out_sample_cns" format="cns" label="${tool.name} on ${on_string}: CN segmentation calls" from_work_dir="tumor.cns" /> <data name="out_sample_cnr" format="cnr" label="${tool.name} on ${on_string}: Bin-Level log2 Ratios/Coverages" from_work_dir="tumor.cnr" /> <data name="out_capture_antitarget" format="bed" label="${tool.name} on ${on_string}: Capture Antitarget" from_work_dir="capture.antitarget.bed"> <filter>(CNV_reference['CNV_reference_availabel']) == 'no'</filter> </data> <data name="out_control_targetcoverage" format="cnn" label="${tool.name} on ${on_string}: Normal Sample Target Coverage" from_work_dir="normal.targetcoverage.cnn"> <filter>(CNV_reference['CNV_reference_availabel']) == 'no'</filter> </data> <data name="out_control_antitargetcoverage" format="cnn" label="${tool.name} on ${on_string}: Normal Sample Antitarget Coverage" from_work_dir="normal.antitargetcoverage.cnn"> <filter>(CNV_reference['CNV_reference_availabel']) == 'no'</filter> </data> <data name="out_reference_cnn" format="cnn" label="${tool.name} on ${on_string}: Copy Number Reference Profile" from_work_dir="reference.cnn"> <filter>(CNV_reference['CNV_reference_availabel']) == 'no'</filter> </data> <data name="out_capture_target" format="bed" label="${tool.name} on ${on_string}: Capture Target" from_work_dir="capture.target.bed"> <filter>(CNV_reference['CNV_reference_availabel']) == 'no'</filter> </data> <data name="out_reference_target_bed" format="bed" label="${tool.name} on ${on_string}: Reference Target" from_work_dir="reference.target-tmp.bed"> <filter>(CNV_reference['CNV_reference_availabel']) == 'yes'</filter> </data> <data name="out_reference_antitarget_bed" format="bed" label="${tool.name} on ${on_string}: Reference Antitarget" from_work_dir="reference.antitarget-tmp.bed"> <filter>(CNV_reference['CNV_reference_availabel']) == 'yes'</filter> </data> <data name="out_sample_diagram_pdf" format="pdf" label="${tool.name} on ${on_string}: Sample Diagram" from_work_dir="tumor-diagram.pdf"> <filter>output_section['diagram']</filter> </data> <data name="out_sample_scatter_png" format="png" label="${tool.name} on ${on_string}: Sample Scatter pdf plot " from_work_dir="tumor-scatter.png"> <filter>output_section['scatter']</filter> </data> </outputs> <tests> <test expect_num_outputs="13"> <conditional name="CNV_reference"> <conditional name="reference_source"> <param name="ref_selector" value="history"/> <param name="fasta" ftype="fasta" value="genome.fasta" /> </conditional> <param name="CNV_reference_availabel" value="no" /> <param name="input_sample_file" ftype="bam" value="tumor.bam" /> <param name="normal" ftype="bam" value="normal.bam" /> <param name="targets" ftype="bed" value="capture.bed" /> </conditional> <section name="output_section"> <param name="scatter" value="1"/> <param name="diagram" value="1"/> </section> <output name="out_sample_bintest" file="tumor.bintest.cns" /> <output name="out_sample_antitargetcoverage"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_call"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_cnr"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_targetcoverage_cnn"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_cns"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_capture_antitarget" file="capture.antitarget.bed" /> <output name="out_control_targetcoverage" file="normal.targetcoverage.cnn" /> <output name="out_control_antitargetcoverage" file="normal.antitargetcoverage.cnn" /> <output name="out_reference_cnn" file="reference.cnn" ftype="cnn" compare="sim_size"> <assert_contents><has_size value="3000" delta="2000" /></assert_contents> </output> <output name="out_capture_target"> <assert_contents><has_text_matching expression="chrM"/></assert_contents> </output> <output name="out_sample_scatter_png" file="tumor-scatter.png" ftype="png" compare="sim_size"> <assert_contents><has_size value="13000" delta="3000" /></assert_contents> </output> <output name="out_sample_diagram_pdf" file="tumor-diagram.pdf" ftype="pdf" compare="sim_size"> <assert_contents><has_size value="6000" delta="2000" /></assert_contents> </output> </test> <test expect_num_outputs="13"> <conditional name="CNV_reference"> <conditional name="reference_source"> <param name="ref_selector" value="history"/> <param name="fasta" ftype="fasta" value="genome.fasta" /> </conditional> <param name="CNV_reference_availabel" value="no" /> <param name="input_sample_file" ftype="bam" value="tumor.bam" /> <param name="method" value="wgs" /> <param name="targets" ftype="bed" value="capture.bed" /> </conditional> <section name="output_section"> <param name="scatter" value="1"/> <param name="diagram" value="1"/> </section> <output name="out_sample_bintest"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_antitargetcoverage"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_call"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_cnr"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_targetcoverage_cnn"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_cns"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_capture_antitarget" file="capture.antitarget.bed" /> <output name="out_reference_cnn" file="reference.cnn" ftype="cnn" compare="sim_size"> <assert_contents><has_size value="3000" delta="2000" /></assert_contents> </output> <output name="out_capture_target"> <assert_contents><has_text_matching expression="chrM"/></assert_contents> </output> <output name="out_sample_scatter_png" file="tumor-scatter.png" ftype="png" compare="sim_size"> <assert_contents><has_size value="13000" delta="3000" /></assert_contents> </output> <output name="out_sample_diagram_pdf" file="tumor-diagram.pdf" ftype="pdf" compare="sim_size"> <assert_contents><has_size value="6000" delta="2000" /></assert_contents> </output> </test> <test expect_num_outputs="13"> <conditional name="CNV_reference"> <conditional name="reference_source"> <param name="ref_selector" value="cached"/> <param name="fasta" value="test_buildid"/> </conditional> <param name="CNV_reference_availabel" value="no" /> <param name="input_sample_file" ftype="bam" value="tumor.bam" /> <param name="normal" ftype="bam" value="normal.bam" /> <param name="targets" ftype="bed" value="capture.bed" /> </conditional> <section name="output_section"> <param name="scatter" value="1"/> <param name="diagram" value="1"/> </section> <output name="out_sample_bintest" file="tumor.bintest.cns" /> <output name="out_sample_antitargetcoverage"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_call"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_cnr"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_targetcoverage_cnn"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_cns"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_capture_antitarget" file="capture.antitarget.bed" /> <output name="out_control_targetcoverage" file="normal.targetcoverage.cnn" /> <output name="out_control_antitargetcoverage" file="normal.antitargetcoverage.cnn" /> <output name="out_reference_cnn" file="reference.cnn" ftype="cnn" compare="sim_size"> <assert_contents><has_size value="3000" delta="2000" /></assert_contents> </output> <output name="out_capture_target"> <assert_contents><has_text_matching expression="chrM"/></assert_contents> </output> <output name="out_sample_scatter_png" file="tumor-scatter.png" ftype="png" compare="sim_size"> <assert_contents><has_size value="13000" delta="3000" /></assert_contents> </output> <output name="out_sample_diagram_pdf" file="tumor-diagram.pdf" ftype="pdf" compare="sim_size"> <assert_contents><has_size value="6000" delta="2000" /></assert_contents> </output> </test> <test expect_num_outputs="10"> <conditional name="CNV_reference"> <param name="CNV_reference_availabel" value="yes" /> <param name="input_sample_file" ftype="bam" value="tumor.bam" /> <param name="reference" ftype="tabular" value="reference.cnn" /> </conditional> <section name="output_section"> <param name="scatter" value="1"/> <param name="diagram" value="1"/> </section> <output name="out_sample_bintest" file="tumor.bintest.cns" /> <output name="out_sample_antitargetcoverage"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_call"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_cnr"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_targetcoverage_cnn"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_sample_cns"> <assert_contents><has_text text="chromosome"/></assert_contents> </output> <output name="out_reference_target_bed" file="reference.target-tmp.bed" /> <output name="out_reference_antitarget_bed" file="reference.antitarget-tmp.bed" /> <output name="out_sample_diagram_pdf" file="tumor-diagram.pdf" ftype="pdf" compare="sim_size"> <assert_contents><has_size value="6000" delta="2000" /></assert_contents> </output> <output name="out_sample_scatter_png" file="tumor-scatter.png" ftype="png" compare="sim_size"> <assert_contents><has_size value="13000" delta="3000" /></assert_contents> </output> </test> </tests> <help><![CDATA[ CNVkit pipeline for copy-number changes and allelic imbalances detection cnn, cnr and cns are tabuler files extintions: The reference .cnn file has the columns: chromosome, Start, end, gene, GC content of the sequence region (gc), RepeatMasker-masked proportion of the sequence region (rmask), Statistical spread or dispersion (spread), Robust average of coverage depths (log2 ) and Robust average of absolute-scale coverage depths without any bias corrections (depth) Target and antitarget bin-level coverages (.cnn) chromosome, Start, end, gene, log2 and depth Bin-level log2 ratios (.cnr) chromosome, Start, end, gene, log2, depth and proportional weight or reliability (weight) Segmented log2 ratios (.cns) chromosome, Start, end, gene, log2, depth, weight and number of bins covered by the segment (probes) ----- **Bin-level log2 ratios (.cnr)** Tabular file containing normalized log2 ratios for small genomic bins (divided regions of the genome). Used to detect raw copy number variations (CNVs) before segmentation. .. csv-table:: :header-rows: 0 "chromosome","Genomic chromosome (e.g., chr1, chrX)" "start","Start position of the bin." "end","End position of the bin." "gene","Gene name(s) overlapping the bin (if applicable)." "log2","Normalized log2 ratio (sample coverage / reference coverage)." "depth","Average read depth in the bin." "weight","Reliability weight of the bin (higher = more reliable)." ----- **Segmented log2 ratios (.cns)** Tabular file with smoothed, merged segments of stable copy number, derived from the .cnr file. Represents final CNV calls. .. csv-table:: :header-rows: 0 "chromosome","start, end: Genomic coordinates of the segment" "gene","Gene(s) overlapping the segment." "log2","Mean log2 ratio of the segment." "probes","Mean log2 ratio of the segment." "depth","Average read depth." "weight","Reliability weight." "p_value","Statistical confidence (lower = more significant)." ----- **Copy Number Reference Profile (.cnn)** Tabular file defining the reference baseline built from control samples (e.g., normal samples). Used to normalize test samples. .. csv-table:: :header-rows: 0 "chromosome","Genomic chromosome (e.g., chr1, chrX)." "start","Start position of the bin." "end","End position of the bin." "gene","Gene name(s) (if applicable)." "log2","Reference log2 ratio (typically 0 for diploid regions)." "depth","Average read depth across control samples." "spread","Variability (standard deviation) of coverage in controls." ----- **Target and Antitarget Bin-level Coverages (.cnn)** Two intermediate tabular files containing raw coverage counts for target regions (captured regions) and antitarget regions (background). **Target Coverage File (e.g., sample.targetcoverage.cnn):** - **Columns:** chromosome, start, end, gene, reads (raw read count), depth (reads normalized by bin size). - **Purpose:** Captures on-target sequencing depth. ----- **Antitarget Coverage File (e.g., sample.antitargetcoverage.cnn):** - **Columns:** Same as target coverage. - **Purpose:** Estimates off-target background noise (corrects for whole-genome effects like tumor ploidy). ]]></help> <expand macro="citations" /> </tool>