Mercurial > repos > iuc > crossmap_bam
changeset 1:8e5feca6a518 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/crossmap commit e365f2835488e73b870c73502c24ff23d28b76a5
author | iuc |
---|---|
date | Fri, 20 Oct 2017 02:48:57 -0400 |
parents | d04d5afec2e0 |
children | 083774cc8472 |
files | crossmap_bam.xml dump2/.gitignore dump2/out.bam.bam dump2/out.bam.unmap.bam dump2/out2.bam dump2/out2.sorted.bam dump2/out2.sorted.bam.bai dump2/out2.sorted.bam.bam dump2/output2.bam dump2/output2.unmap.bam macros.xml test-data/cached_locally/aToB.over.chain test-data/cached_locally/liftOver.loc test-data/test_bam_01_output_a.bam test-data/test_bam_01_output_a.unmap.bam test-data/test_bed_01_output_a__only_fails.bed test-data/test_bed_02_output_a__only_fails.bed tool_data_table_conf.xml.test |
diffstat | 13 files changed, 628 insertions(+), 100 deletions(-) [+] |
line wrap: on
line diff
--- a/crossmap_bam.xml Tue Sep 26 05:44:53 2017 -0400 +++ b/crossmap_bam.xml Fri Oct 20 02:48:57 2017 -0400 @@ -7,70 +7,38 @@ <expand macro="stdio"/> <expand macro="version_command"/> <command><![CDATA[ - #if $input_file.extension == "bam": - #set $input_file = "input.sam" - samtools view -h '${seq_source.input}' > '${input_file}' && - #else: - #set $input_file = "input.bam" - ln -s '${seq_source.input}' '${input_file}' - #end if - CrossMap.py - bam +CrossMap.py bam +'${chain_source.input_chain}' +$optional_tags - "$chain_source.input_chain" - $optional_tags - - -m $insert_size - -s $insert_size_stdev - -t $insert_size_fold +-m $insert_size +-s $insert_size_stdev +-t $insert_size_fold - '${input_file}' - '${output}' +'${input}' +'${output}' - && samtools sort "${output}.sam" > '${output}' - && samtools sort "${output}.unmap.sam" > '${output_unmapped}' +&& mv '${output}.sorted.bam' '${output}' ]]></command> - <inputs> - <conditional name="seq_source"> - <expand macro="source" /> - <when value="cached"> - <param type="data" format="bam" name="input" label="BAM file"> - <validator type="unspecified_build"/> - <!-- Gives error in tests - <validator type="dataset_metadata_in_file" filename="liftOver.loc" metadata_name="dbkey" metadata_column="0" message="LiftOver mapping (chain file) is not available for the specified build."/> - --> - </param> - <param name="input_chain" type="select" label="Lift Over To"> - <options from_file="liftOver.loc"> - <column name="name" index="1"/> - <column name="value" index="2"/> - <column name="dbkey" index="0"/> - <filter type="data_meta" ref="input" key="dbkey" column="0"/> - </options> - </param> - </when> - <when value="history"> - <param type="data" format="bam" name="input" label="BAM/SAM file"/> - <param type="data" format="csv" name="input_chain" label="LiftOver chain file"/> - </when> - </conditional> + <param name="input" type="data" format="bam" label="BAM file"/> + <expand macro="chain" /> - <param name="optional_tags" type="boolean" truevalue="-a" falsevalue="" label="Add optional BAM/SAM Headers" argument="-a"/> + + <param name="optional_tags" argument="-a" type="boolean" truevalue="-a" falsevalue="" label="Add optional BAM Headers"/> - <param name="insert_size" type="float" value="200.0" label="Insert size" argument="-m" help="Average insert size of pair-end sequencing (bp) [default=200.0]"/> - <param name="insert_size_stdev" type="float" value="30.0" label="Insert size std. dev" argument="-s" help="Stanadard deviation of insert size. [default=30.0]"/> - <param name="insert_size_fold" type="float" value="3.0" label="Insert size std. dev foldchange" argument="-t" help="A mapped pair is considered as 'proper pair' if both ends mapped to different strand and the distance between them is less then '-t' * stdev from the mean. [default=3.0]"/> -</inputs> + <param name="insert_size" argument="-m" type="float" value="200.0" label="Insert size" help="Average insert size of pair-end sequencing (bp)"/> + <param name="insert_size_stdev" argument="-s" type="float" value="30.0" label="Insert size std. dev" help="Stanadard deviation of insert size"/> + <param name="insert_size_fold" argument="-t" type="float" value="3.0" label="Insert size std. dev foldchange" help="A mapped pair is considered as 'proper pair' if both ends mapped to different strand and the distance between them is less then '-t' * stdev from the mean"/> + </inputs> <outputs> - <data format="bam" name="output" label="${tool.name} on ${on_string}" /> - <data format="bam" name="output_unmapped" label="${tool.name} (unmapped) on ${on_string}" /> + <data name="output" format="bam" label="${tool.name} on ${on_string}" /> + <!-- CrossMap 0.2.5 does not produce output_unmapped --> </outputs> <tests> - <!-- BAM/SAM --> <test> <param name="index_source" value="history"/> <param name="input" value="test_bam_01_input_a.bam" ftype="bam"/> @@ -78,57 +46,77 @@ <param name="include_fails" value="False"/> <output name="output" file="test_bam_01_output_a.bam" compare="diff" lines_diff="8"/> - <output name="output_unmapped" file="test_bam_01_output_a.unmap.bam" compare="diff" lines_diff="8"/> + </test> + <test> + <param name="index_source" value="cached"/> + + <param name="input" value="test_bam_01_input_a.bam" ftype="bam"/> + <param name="include_fails" value="False"/> + + <output name="output" file="test_bam_01_output_a.bam" compare="diff" lines_diff="8"/> </test> </tests> <help><![CDATA[ @HELP_GENERAL@ -SAM / BAM +BAM --------- - CrossMap updates chromosomes, genome coordinates, header sections, and all - SAM flags accordingly. The program version (of CrossMap) is inserted into the - header section, along with the names of the original BAM file and the chain - file. For pair-end sequencing, insert size is also recalculated. +CrossMap updates chromosomes, genome coordinates, header sections, and all +BAM flags accordingly. The program version (of CrossMap) is inserted into the +header section, along with the names of the original BAM file and the chain +file. For pair-end sequencing, insert size is also recalculated. - **Optional tags** +**Optional tags** - Q - QC. QC failed. +Q + QC. QC failed. - N - Unmapped. Originally unmapped or originally mapped but failed to liftover to new assembly. +N + Unmapped. Originally unmapped or originally mapped but failed to liftover to new assembly. - M - Multiple mapped. Alignment can be liftover to multiple places. +M + Multiple mapped. Alignment can be liftover to multiple places. - U - Unique mapped. Alignment can be liftover to only 1 place. +U + Unique mapped. Alignment can be liftover to only 1 place. - **Tags for pair-end sequencing include:** +**Tags for pair-end sequencing include:** - QF = QC failed - NN = both read1 and read2 unmapped - NU = read1 unmapped, read2 unique mapped - NM = read1 unmapped, multiple mapped - UN = read1 uniquely mapped, read2 unmap - UU = both read1 and read2 uniquely mapped - UM = read1 uniquely mapped, read2 multiple mapped - MN = read1 multiple mapped, read2 unmapped - MU = read1 multiple mapped, read2 unique mapped - MM = both read1 and read2 multiple mapped +QF + QC failed +NN + both read1 and read2 unmapped +NU + read1 unmapped, read2 unique mapped +NM + read1 unmapped, multiple mapped +UN + read1 uniquely mapped, read2 unmap +UU + both read1 and read2 uniquely mapped +UM + read1 uniquely mapped, read2 multiple mapped +MN + read1 multiple mapped, read2 unmapped +MU + read1 multiple mapped, read2 unique mapped +MM + both read1 and read2 multiple mapped - **Tags for single-end sequencing include** +**Tags for single-end sequencing include** - QF = QC failed - SN = unmaped - SM = multiple mapped - SU = uniquely mapped +QF + QC failed +SN + unmaped +SM + multiple mapped +SU + uniquely mapped -See `the manual <http://crossmap.sourceforge.net/#convert-bam-sam-format-files>`__ for more details -]]></help> + ]]></help> <citations> <citation type="doi">10.1093/bioinformatics/btt730</citation>
--- a/dump2/.gitignore Tue Sep 26 05:44:53 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -*
--- a/macros.xml Tue Sep 26 05:44:53 2017 -0400 +++ b/macros.xml Fri Oct 20 02:48:57 2017 -0400 @@ -2,12 +2,11 @@ <macros> <xml name="requirements"> <requirements> - <requirement type="package" version="324">ucsc-wigtobigwig</requirement> - <requirement type="package" version="0.2.2">crossmap</requirement> + <requirement type="package" version="0.2.5">crossmap</requirement> <yield/> </requirements> </xml> - <token name="@WRAPPER_VERSION@">0.2.2</token> + <token name="@WRAPPER_VERSION@">0.2.5</token> <xml name="stdio"> <stdio> <regex match="Aborted (core dumped)" source="stdout" level="fatal"/> @@ -16,7 +15,9 @@ </stdio> </xml> <xml name="version_command"> - <version_command>CrossMap.py 2>&1 | head -n 1 | grep -E --only-matching 'CrossMap.*'</version_command> + <version_command><![CDATA[ +CrossMap.py 2>&1 | head -n 1 | grep -E --only-matching 'CrossMap.*' + ]]></version_command> </xml> <xml name="chain"> <conditional name="chain_source"> @@ -26,25 +27,18 @@ </param> <when value="cached"> <param name="input_chain" type="select" label="Lift Over To"> - <options from_file="liftOver.loc"> - <column name="dbkey" index="0"/><!-- species/build 'from' --> - <column name="name" index="1"/><!-- species/build 'to' --> - <column name="value" index="2"/><!-- path of chain file --> + <options from_data_table="liftOver"> + <!-- <filter type="data_meta" ref="input" key="dbkey" column="0"/> + --> </options> </param> </when> <when value="history"> - <param type="data" format="csv" name="input_chain" label="LiftOver chain file"/> + <param name="input_chain" type="data" format="csv" label="LiftOver chain file"/> </when> </conditional> </xml> - <xml name="source"> - <param name="index_source" type="select" label="Source for Input Data"> - <option value="cached">Local data (in galaxy)</option> - <option value="history">From History</option> - </param> - </xml> <token name="@HELP_GENERAL@"> CrossMap --------
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/cached_locally/aToB.over.chain Fri Oct 20 02:48:57 2017 -0400 @@ -0,0 +1,498 @@ +chain 21270171362 chr1 249250621 + 10000 249233096 chr1 247249719 + 0 247199719 2 +619 137 0 +166661 50000 50000 +40302 50000 50000 +153649 50000 50000 +1098479 1 1 +47 1 1 +73 117 114 +773 1 1 +43 1 1 +864369 2 2 +51 3 0 +104 13694 13694 +104 0 3 +51 2 2 +134936 50000 50000 +1161048 150000 60000 +1440092 27273 50000 +7590365 50000 50000 +116914 100000 50000 +237250 50000 50000 +3518496 50000 50000 +12702424 150000 50000 +16145012 0 1 +7772 1 0 +4705841 0 1 +52977198 50000 50000 +157344 21065 50000 +16604841 50000 50000 +189539 150000 50000 +398739 21050000 20290000 +195588 50000 50000 +186739 150000 50000 +175055 50000 50000 +201709 100000 50000 +126477 130183 50000 +381 0 3 +315 0 2 +62 1 1 +45 1 0 +19 0 1 +8 1 1 +1158 1 0 +314 12 13 +2849 3 0 +5615 1 1 +37 1 1 +3172 6 4 +190 1 1 +34 1 1 +380 0 1 +2099 3 0 +765 2 2 +366 0 4 +1186 1 0 +460 0 1 +1242 28 28 +574 1 1 +21 1 1 +1460 1 1 +105 1 1 +701 3 0 +239 0 1 +970 11 11 +2365 1 1 +21 1 1 +384 8 8 +996 2 0 +10383 2 0 +713 0 1 +5188 1 1 +30 1 1 +1233 1 0 +132 1 1 +44 1 1 +1123 22 22 +1810 1 0 +512 1 1 +39 1 1 +1096 0 16 +743 1 0 +9028 0 1 +2506 0 6 +8446 2 0 +5505 0 3 +7541 1 0 +109864 50000 50000 +78698 50000 50000 +127263 50000 50000 +170669 50000 50000 +38311 100000 100000 +1022394 50000 50000 +281532 289973 50000 +1648 1539 0 +76 3225 3 +1018 34 34 +1716 2 0 +159 4 0 +1600 0 6 +1385 1 0 +2066 1 1 +32 1 3 +1556908 150000 50000 +185320 150000 50000 +172789 50000 50000 +220313 50000 50000 +455185 50000 50000 +22047237 1 0 +34365824 150000 50000 +259514 150000 50000 +17265625 50000 50000 +11394365 50000 50000 +13665999 150000 50000 +174886 + +chain 22466185064 chr2 243199373 + 10000 243102476 chr2 242951149 + 0 242751149 1 +1201236 0 1 +2057 1 1 +26 1 1 +4043 22 0 +82 7 101 +33 84 0 +26 1 23 +67 48 0 +176 318 0 +40 92 0 +33 0 74 +62 0 6 +22 0 118 +387 2446 0 +843 2450 0 +167 2304 0 +21342 1 1 +50 4 0 +2040 0 4 +9053 2 0 +88 3 53 +1078 0 1 +4122 1 0 +1608 28 1 +4029 0 9 +967 4547 1000 +420 27 0 +2237126 0 1 +2458 17 17 +4595 4 0 +3531 14 14 +3954 51129 50000 +1426129 160449 100025 +11087286 0 3 +773 103977 50000 +1576 0 1 +240 0 1 +318 2 0 +255 0 16 +2851 10 10 +1404 1 1 +27 1 1 +703 13 0 +375 0 1 +4783388 35000 25000 +848 0 2 +1225 0 2 +391 1 0 +3653 1 1 +28 1 1 +49 0 4 +4514 0 9 +9628 1 9 +1483 7 7 +1990 0 1 +1949 1 0 +2716230 1 0 +7799848 851 851 +38932068 5 9 +9477928 0 3 +7529698 72396 0 +1891551 294073 150000 +17672 1 0 +5792 1 0 +9017 0 266 +2944 0 1 +9388 2 0 +37828 4 0 +23436 0 4 +290931 1273578 1000000 +731068 3000000 3000000 +2558421 0 1 +1197 10 0 +685 42 46 +2309 0 1 +1332 22 23 +344 0 1 +1645 4 4 +4093 25 25 +2446 1 0 +6329 1 0 +769 0 1 +873 7 0 +1299 0 1 +8250 15 15 +4291 10626 12548 +1063 103 0 +75 0 218 +5897 1 1 +33 1 1 +9905 51 37 +1711 1 1 +45 1 1 +1597 4 4 +61 1 1 +869 13 0 +1633 15 15 +1179 3 0 +2819 0 2 +156 88 465 +100 0 25 +4753 0 8 +4903 6 6 +3847 0 2 +108126 0 145 +3542 1 0 +10276 0 1 +402 1 1 +47 1 1 +63 2 0 +583 1 1 +34 1 1 +8974 0 46 +379 1 1 +70 1 1 +2474 0 102 +1756 0 1 +8426 0 1 +11986570 151150 142000 +14207 1 1 +49 1 1 +1781 0 12 +409 1 0 +1874 1 1 +33 1 1 +4795 2 0 +3686 1 1 +15 1 1 +164 2 0 +7287 5 5 +702023 72796 150000 +69 1 0 +1598 0 1 +1340 0 1 +1030 0 4 +1166 10 10 +6406 1 1 +34 1 1 +3283 2 4 +496 1 23 +25 10 0 +40 1 1 +21282 2 1 +1406 0 44 +937 17 0 +18255 1 0 +172366 0 281526 +40517 0 406 +58864 1 2 +1843 0 2 +14994 0 1 +12992 2 0 +2571146 1 0 +35688061 108224 100000 +29671719 1 0 +39665349 1 0 +14876089 64197 20000 +401 0 3 +1831 1 1 +61 1 1 +654 11 1 +127 0 28 +116 25 29 +74 9 9 +3247 2 0 +1355 1 0 +816 1 0 +21 3 0 +526 1 1 +60 1 1 +773 1 0 +1494 1 0 +1683 1 0 +21 1 1 +596 1 0 +1582 1 0 +425 0 3 +1139 0 8 +138 144 813 +71 1 0 +385638 1 1 +219 1 1 +51 7 7 +54 15205 15205 +54 7 7 +51 1 1 +110 1 1 +5198249 0 1 +115 80 0 +60 40 0 +80 100 20 +442 1 1 +35 1 1 +119 9 129 +14 0 40 +61 1 1 +85 0 40 +1331 0 1 +1194 12 14 +1773 0 5 +1623 1 1 +25 1 1 +2422 21 22 +2315 0 1 +31 1 1 +1508 0 3 +50 0 4 +970 6 6 +7234 4 0 +1228 1 0 +1233 8 1 +4207 1 1 +41 1 1 +1715 50 50 +1532 0 2 +1714 2 0 +2299 2 0 +2143 1 1 +18 1 1 +917 1 0 +1082 1 1 +49 1 1 +9098 0 4 +5529 0 1 +3266 0 8 +894 6 0 +1440 1 1 +2095 2 0 +4179 18 13 +1785 0 1 +1674 0 6 +1217 32348 33000 +287 17 23 +40 173 0 +20 161 0 +13 66 0 +12 71 1 +12548 30000 30000 +952154 41011 25000 +1914 1 0 +225 1 1 +57 1 1 +2910 0 1 +471 1 0 +1956 1 1 +43 1 1 +991 0 92 +2863 3 0 +1838 306 0 +1006 30 0 +206 1 1 +27 0 3 +221 17 17 +1525 8 0 +413 1 1 +32 2 2 +1573 12 12 +2258676 + +chain 18404394637 chr3 198022430 + 60000 197962430 chr3 199501827 + 35000 199446827 3 +13552792 0 1 +585083 0 1 +2092 1 2 +71 0 1 +31067262 0 1 +90 1 0 +5628461 0 15 +788 1 0 +3676 0 2 +35 1 1 +4682 1 0 +1295 0 5 +437 53 42 +326 0 2 +3309 1 1 +40 1 1 +998 0 3 +3584 5 0 +930 5 7 +845 1 1 +28 2 1 +303 0 1 +507 0 5 +5088 1 0 +2185 10046 10048 +949 4 4 +35 1 1 +2874 0 1 +6717 0 1 +2823 1 0 +703 0 4 +5143 1 0 +2490 10 10 +162 7 7 +6308 0 15 +15177535 152352 260003 +2532 1 0 +1633 2 2 +24207544 3000000 4400000 +60453436 0 4 +40076813 20999 20000 +8195 1 1 +44 1 1 +1408 1 1 +33 1 1 +172 3 4 +25 1 1 +538 13 13 +173 1 1 +27 1 1 +636 1 1 +28 1 1 +470 3 3 +112 1 1 +375 1 1 +26 26 0 +115 78 0 +52 23 0 +104 26 0 +15 231 0 +56 1 1 +20 1 1 +815 16 16 +484 1 1 +49 18 0 +509 4 3 +23 1 1 +391 1 1 +44 1 1 +1278 0 4 +32 1 1 +263 4 0 +27 1 1 +2416 0 2 +3184 43 43 +1150 13 13 +736 1 1 +47 1 1 +1416 1 1 +20 1 1 +1020 1 1 +25 1 1 +482 5 0 +716 1 0 +1697 1 1 +29 1 1 +1270261 23108 27000 +40930 1 0 +17455 1 1 +28 4 4 +43 0 491 +1679 1 1 +33 7 5 +29 1 3 +54863 53 16 +7653 2 2 +29 2 2 +15 0 30 +180 0 75 +215 45 0 +360 915 0 +6188 96 0 +17 288 0 +1388 1 1 +37 1 1 +7956 0 1 +374 0 1 +2442058 + +chain 310844 chr4 191154276 + 9241835 9252105 chr4 191273063 + 8941714 8947231 850 +2726 14 14 +243 9 9 +78 4 4 +157 213 211 +265 85 85 +524 4751 0 +379 283 283 +539 + +chain 9105 chr4 191154276 + 8982741 8983189 chr10 135374737 - 120304868 120305301 22041837 +59 380 365 +9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/cached_locally/liftOver.loc Fri Oct 20 02:48:57 2017 -0400 @@ -0,0 +1,32 @@ +#This is a sample file distributed with Galaxy that is used by the +#liftOver tools. The liftOver.loc file has this format (white space +#characters are TAB characters): +# +#<FromSpecies> <ToSpecies> <PathToChainFile> +# +#So, for example, if you had the chain file to convert from anoCar1 to galGal3 +#located at /depot/data2/galaxy/anoCar1/liftOver/anoCar1ToGalGal3.over.chain, +#then the liftOver.loc entry would look like this: +# +#<FromSpecies> <ToSpecies> <PathToChainFile> +#<dbkey> <name> <value> +# +#anoCar1 galGal3 /depot/data2/galaxy/anoCar1/liftOver/anoCar1ToGalGal3.over.chain +# +#and your /depot/data2/galaxy/anoCar1/liftOver directory would +#contain all of your "chain" files (e.g.): +# +#-rw-rw-r-- 1 gua110 galaxy 24046079 2008-01-16 14:20 anoCar1ToGalGal3.over.chain +#-rw-rw-r-- 1 gua110 galaxy 13216668 2008-01-16 14:20 anoCar1ToGasAcu1.over.chain +#-rw-rw-r-- 1 gua110 galaxy 29597067 2008-01-16 14:20 anoCar1ToHg18.over.chain +#...etc... +# +#Your liftOver.loc file should include an entry per line for each build you can +#convert. For example: +# +#anoCar1 galGal3 /depot/data2/galaxy/anoCar1/liftOver/anoCar1ToGalGal3.over.chain +#anoCar1 gasAcu1 /depot/data2/galaxy/anoCar1/liftOver/anoCar1ToGasAcu1.over.chain +#anoCar1 hg18 /depot/data2/galaxy/anoCar1/liftOver/anoCar1ToHg18.over.chain +#...etc... + +A B ${__HERE__}/aToB.over.chain
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/test_bed_02_output_a__only_fails.bed Fri Oct 20 02:48:57 2017 -0400 @@ -0,0 +1,5 @@ +chr1 100 10000 +chr2 100 10000 +chr3 100 10000 +chr4 8941700 8947200 +chr5 1 100000000
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_data_table_conf.xml.test Fri Oct 20 02:48:57 2017 -0400 @@ -0,0 +1,12 @@ +<tables> + <!-- Locations of all fasta files under genome directory --> + <table name="all_fasta" comment_char="#"> + <columns>value, dbkey, name, path</columns> + <file path="${__HERE__}/test-data/cached_locally/all_fasta.loc" /> + </table> + <!-- Locations of all liftOver files --> + <table name="liftOver" comment_char="#"> + <columns>dbkey, name, value</columns> + <file path="${__HERE__}/test-data/cached_locally/liftOver.loc" /> + </table> +</tables>