Mercurial > repos > iuc > jvarkit_wgscoverageplotter
comparison jvarkit_wgscoverageplotter.xml @ 0:cf2d9bf2d7ad draft
"planemo upload for repository https://github.com/galaxyproject/iuc/tree/master/tools/jvarkit commit ee258cf884aa478b4ce4f978c4239f237c813701"
| author | iuc |
|---|---|
| date | Thu, 11 Feb 2021 08:00:09 +0000 |
| parents | |
| children | 1eac3ae5d8c7 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:cf2d9bf2d7ad |
|---|---|
| 1 <tool id="jvarkit_wgscoverageplotter" name="BAM Coverage Plotter" version="@TOOL_VERSION@+galaxy0"> | |
| 2 <description>Plot read coverage across a genomic contig</description> | |
| 3 <macros> | |
| 4 <token name="@TOOL_VERSION@">20201223</token> | |
| 5 </macros> | |
| 6 <requirements> | |
| 7 <requirement type="package" version="@TOOL_VERSION@">jvarkit-wgscoverageplotter</requirement> | |
| 8 <requirement type="package" version="1.11">samtools</requirement> | |
| 9 <requirement type="package" version="7.0.10_62">imagemagick</requirement> | |
| 10 </requirements> | |
| 11 <command detect_errors="exit_code"><![CDATA[ | |
| 12 #set include_regex = str($adv.include_contig_regex).strip() | |
| 13 #set exclude_regex = str($adv.skip_contig_regex).strip() | |
| 14 #set alignment_name = str($alignment_file.element_identifier) | |
| 15 #if str($reference.source) == "history" | |
| 16 ln -s '$reference.hist_genome' reference.fasta && | |
| 17 samtools faidx reference.fasta && | |
| 18 #else | |
| 19 #set ref_path = str($reference.cached_genome.fields.path) | |
| 20 #set ref_index_path = str($reference.cached_genome.fields.path) + '.fai' | |
| 21 ln -s '$ref_path' reference.fasta && | |
| 22 ln -s '$ref_index_path' reference.fasta.fai && | |
| 23 #end if | |
| 24 samtools view -H '$alignment_file' |grep -E '^(@HD|@SQ)' >reference.dict && | |
| 25 cat reference.dict && | |
| 26 ln -s '$alignment_file' '$alignment_name' && | |
| 27 ln -s '${alignment_file.metadata.bam_index}' '${alignment_name}.bai' && | |
| 28 wgscoverageplotter.sh | |
| 29 --reference reference.fasta | |
| 30 --dimension '$dimension' | |
| 31 --output plot.svg | |
| 32 $adv.disable_paired_overlap | |
| 33 #if $include_regex | |
| 34 -I '$include_regex' | |
| 35 #end if | |
| 36 #if $exclude_regex | |
| 37 -X '$exclude_regex' | |
| 38 #end if | |
| 39 --mapq $adv.min_mapq | |
| 40 --max-depth $adv.max_depth | |
| 41 $adv.clip | |
| 42 --min-contig-length '$adv.min_contig_length' | |
| 43 --percentile $adv.percentile | |
| 44 $adv.points | |
| 45 #if str($adv.sample_filter.filter_by_sample) == "true" | |
| 46 --samples '$adv.sample_filter.samples' | |
| 47 --partition '$adv.sample_filter.partition' | |
| 48 #end if | |
| 49 '$alignment_name' && | |
| 50 #if str($format) == "SVG" | |
| 51 mv plot.svg '$plot_output' | |
| 52 #else | |
| 53 convert plot.svg '$format:$plot_output' | |
| 54 #end if | |
| 55 ]]> | |
| 56 </command> | |
| 57 <inputs> | |
| 58 <conditional name="reference"> | |
| 59 <param name="source" type="select" | |
| 60 label="Will you select a reference genome from your history or use a built-in genome?"> | |
| 61 <option value="cached">Use a built-in genome</option> | |
| 62 <option value="history" selected="true">Use a genome from my history</option> | |
| 63 </param> | |
| 64 <when value="cached"> | |
| 65 <!-- NOTE: wgscoverageplotter requires the genome to be both indexed (with samtools index) | |
| 66 and also have a dictionary (from picard CreateSequenceDictionary). since there is no | |
| 67 way to specify both of these requirements, we take the indexed genome and build a dictionary --> | |
| 68 <param name="cached_genome" type="select" | |
| 69 label="Reference genome" | |
| 70 help="The FASTA reference genome that reads were mapped against."> | |
| 71 <options from_data_table="fasta_indexes" /> | |
| 72 </param> | |
| 73 </when> | |
| 74 <when value="history"> | |
| 75 <param name="hist_genome" type="data" format="fasta" | |
| 76 label="Reference genome" | |
| 77 help="The FASTA reference genome that reads were mapped against."/> | |
| 78 </when> | |
| 79 </conditional> | |
| 80 <param name="alignment_file" type="data" format="bam" label="BAM alignment" /> | |
| 81 <param argument="--dimension" value="1000x500" type="text" label="Image dimensions" /> | |
| 82 <param name="format" type="select" label="Output format" help="Note that SVG might not display correctly on all Galaxy servers"> | |
| 83 <option value="PNG" selected="true">PNG</option> | |
| 84 <option value="SVG">SVG</option> | |
| 85 </param> | |
| 86 <section name="adv" title="Advanced options" expanded="false"> | |
| 87 <param argument="--disable-paired-overlap" | |
| 88 name="disable_paired_overlap" | |
| 89 type="boolean" truevalue="--disable-paired-overlap" | |
| 90 falsevalue="" label="Count overlapping bases with mate for paired-end" /> | |
| 91 <param argument="--include-contig-regex" name="include_contig_regex" type="text" label="Only keep chromosomes matching this regular expression." /> | |
| 92 <param argument="--mapq" name="min_mapq" type="integer" value="1" label="Minimum mapping quality" /> | |
| 93 <param argument="--max-depth" | |
| 94 name="max_depth" | |
| 95 type="integer" | |
| 96 label="y-axis (depth) limit of the plot" | |
| 97 value="-1" | |
| 98 help="The special value '-1' will first compute the average depth and the set the max depth to 2*average" /> | |
| 99 <param argument="--clip" | |
| 100 type="boolean" | |
| 101 label="Clip the plot at the y-axis limit" | |
| 102 help="Default is to let the coverage plot exceed the y-axis limit" | |
| 103 truevalue="--clip" | |
| 104 falsevalue="" /> | |
| 105 <param argument="--min-contig-length" | |
| 106 name="min_contig_length" | |
| 107 type="text" | |
| 108 label="Skip chromosomes shorter than" | |
| 109 value="0" | |
| 110 help="A distance specified as a positive integer."> | |
| 111 <validator type="regex" message="A positive integer optionally followed by the suffixes b,bp,k,kb,m,mb is required">[0-9,]+(bp|b|kb|k|mb|m)?$</validator> | |
| 112 </param> | |
| 113 <param argument="--percentile" type="select" label="How to bin the coverage under one pixel"> | |
| 114 <option value="median" selected="true">median</option> | |
| 115 <option value="average">average</option> | |
| 116 <option value="min">min</option> | |
| 117 <option value="max">max</option> | |
| 118 </param> | |
| 119 <param argument="--points" | |
| 120 type="boolean" | |
| 121 label="Plot coverage using points instead of areas" | |
| 122 truevalue="--points" | |
| 123 falsevalue="" | |
| 124 /> | |
| 125 <param argument="--skip-contig-regex" | |
| 126 name="skip_contig_regex" | |
| 127 type="text" | |
| 128 label="Skip chromosomes matching this regular expression" /> | |
| 129 <conditional name="sample_filter"> | |
| 130 <param name="filter_by_sample" type="select" label="Filter by sample"> | |
| 131 <option value="true">Yes</option> | |
| 132 <option value="false" selected="true">No</option> | |
| 133 </param> | |
| 134 <when value="true"> | |
| 135 <param argument="--samples" | |
| 136 type="text" | |
| 137 label="Limit to these read groups" | |
| 138 help="See also --partition. Multiple read groups can be separated with commas."> | |
| 139 <validator type="expression" message="If a filter is being used, this field cannot be blank">len(str(value).strip()) > 0</validator> | |
| 140 </param> | |
| 141 <param argument="--partition" type="select" label="How to interpret identifiers in --samples" help="Partitions are modelled on the GATK logic as described here: https://gatk.broadinstitute.org/hc/en-us/articles/360051307491-DepthOfCoverage-BETA-#--partition-type"> | |
| 142 <option value="sample" selected="true">sample</option> | |
| 143 <option value="readgroup">readgroup</option> | |
| 144 <option value="library">library</option> | |
| 145 <option value="platform">platform</option> | |
| 146 <option value="sample_by_platform">sample_by_platform</option> | |
| 147 <option value="sample_by_platform_by_center">sample_by_platform_by_center</option> | |
| 148 <option value="any">any</option> | |
| 149 </param> | |
| 150 </when> | |
| 151 <when value="false"> | |
| 152 </when> | |
| 153 </conditional> | |
| 154 </section> | |
| 155 </inputs> | |
| 156 <outputs> | |
| 157 <data format="png" name="plot_output"> | |
| 158 <change_format> | |
| 159 <when input="format" value="SVG" format="svg" /> | |
| 160 </change_format> | |
| 161 </data> | |
| 162 </outputs> | |
| 163 <tests> | |
| 164 <test> | |
| 165 <conditional name="reference"> | |
| 166 <param name="source" value="history" /> | |
| 167 <param name="hist_genome" ftype="fasta" value="reference.fasta" /> | |
| 168 </conditional> | |
| 169 <param name="alignment_file" ftype="bam" value="sars_cov2_trimmed_cut.bam" /> | |
| 170 <output name="plot_output"> | |
| 171 <assert_contents> | |
| 172 <has_size value="26303" delta="15000" /> | |
| 173 </assert_contents> | |
| 174 </output> | |
| 175 </test> | |
| 176 <test> | |
| 177 <conditional name="reference"> | |
| 178 <param name="source" value="history" /> | |
| 179 <param name="hist_genome" ftype="fasta" value="reference.fasta" /> | |
| 180 </conditional> | |
| 181 <param name="alignment_file" ftype="bam" value="sars_cov2_trimmed_cut.bam" /> | |
| 182 <param name="format" value="SVG" /> | |
| 183 <output name="plot_output"> | |
| 184 <assert_contents> | |
| 185 <has_size value="7805" delta="2000"/> | |
| 186 </assert_contents> | |
| 187 </output> | |
| 188 </test> | |
| 189 <test> | |
| 190 <conditional name="reference"> | |
| 191 <param name="source" value="history" /> | |
| 192 <param name="hist_genome" ftype="fasta" value="reference.fasta" /> | |
| 193 </conditional> | |
| 194 <param name="alignment_file" ftype="bam" value="sars_cov2_trimmed_cut.bam" /> | |
| 195 <section name="adv"> | |
| 196 <param name="max_depth" value="50" /> | |
| 197 </section> | |
| 198 <output name="plot_output"> | |
| 199 <assert_contents> | |
| 200 <has_size value="25410" delta="15000" /> | |
| 201 </assert_contents> | |
| 202 </output> | |
| 203 </test> | |
| 204 <test> | |
| 205 <conditional name="reference"> | |
| 206 <param name="source" value="cached" /> | |
| 207 <param name="cached_genome" value="sars-cov-2-fragment" /> | |
| 208 </conditional> | |
| 209 <param name="alignment_file" ftype="bam" value="sars_cov2_trimmed_cut.bam" /> | |
| 210 <output name="plot_output"> | |
| 211 <assert_contents> | |
| 212 <has_size value="26303" delta="15000" /> | |
| 213 </assert_contents> | |
| 214 </output> | |
| 215 </test> | |
| 216 | |
| 217 </tests> | |
| 218 <help><![CDATA[ | |
| 219 | |
| 220 **WGSCoveragePlotter from the jvarkit toolkit** | |
| 221 | |
| 222 WGSCoveragePlotter_ is a tool to plot the coverage of aligned reads across a genomic contig. It takes | |
| 223 as input a BAM file and a genomic contig in FASTA format and produces an image in either PNG or SVG format | |
| 224 showing the depth of read coverage across the contig. | |
| 225 | |
| 226 .. _WGSCoveragePlotter: http://lindenb.github.io/jvarkit/WGSCoveragePlotter.html | |
| 227 ]]> | |
| 228 </help> | |
| 229 <citations> | |
| 230 <citation type="doi">10.6084/m9.figshare.1425030</citation> | |
| 231 </citations> | |
| 232 </tool> |
