diff 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 diff
--- a/batch.xml	Mon Jan 20 16:42:09 2025 +0000
+++ b/batch.xml	Sat Mar 01 12:02:49 2025 +0000
@@ -13,8 +13,10 @@
             ln -s '$CNV_reference.reference' ./reference.cnn &&
         #end if 
         #if str($CNV_reference.CNV_reference_availabel) == "no":
-            ln -s '$CNV_reference.normal' ./normal.bam &&
-            ln -s '$CNV_reference.normal.metadata.bam_index' ./normal.bam.bai &&
+            #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
@@ -37,7 +39,11 @@
         cnvkit.py batch
             ./tumor.bam
             #if str($CNV_reference.CNV_reference_availabel) == "no":
-                --normal ./normal.bam
+                #if $CNV_reference.normal
+                    --normal ./normal.bam
+                #else:
+                    --normal
+                #end if
                 --targets ./capture.bed
                 --fasta ./genome.fa
                 #if $CNV_reference.advanced_settings.antitargets
@@ -111,28 +117,28 @@
         <expand macro="output_section" />
     </inputs>
     <outputs>
-        <data name="out_sample_bintest" format="tabular" label="${tool.name} on ${on_string}: Sample Bintest" from_work_dir="tumor.bintest.cns" />
-        <data name="out_sample_antitargetcoverage" format="tabular" label="${tool.name} on ${on_string}: Sample Antitarget Coverage" from_work_dir="tumor.antitargetcoverage.cnn" />
-        <data name="out_sample_call" format="tabular" 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="tabular" label="${tool.name} on ${on_string}: Sample Target Coverage" from_work_dir="tumor.targetcoverage.cnn" />
-        <data name="out_sample_cns" format="tabular" label="${tool.name} on ${on_string}: CN segmentation calls" from_work_dir="tumor.cns" />
-        <data name="out_sample_cnr" format="tabular" label="${tool.name} on ${on_string}: Bin-Level log2 Ratios/Coverages" from_work_dir="tumor.cnr" />
+        <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="tabular" label="${tool.name} on ${on_string}: Normal Sample Target Coverage" from_work_dir="normal.targetcoverage.cnn">
+        <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="tabular" label="${tool.name} on ${on_string}: Normal Sample Antitarget Coverage" from_work_dir="normal.antitargetcoverage.cnn">
+        <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="tabular" label="${tool.name} on ${on_string}: Copy Number Reference Profile" from_work_dir="reference.cnn">
+        <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="tabular" label="${tool.name} on ${on_string}: Reference Target" from_work_dir="reference.target-tmp.bed">
+        <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">
@@ -180,7 +186,55 @@
             <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="tabular" compare="sim_size">
+            <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">
@@ -227,7 +281,7 @@
             <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="tabular" compare="sim_size">
+            <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">
@@ -294,7 +348,77 @@
           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>