40
|
1 <tool name="Replace SAM/BAM Header" id="picard_ReplaceSamHeader" version="1.106.0">
|
|
2 <!-- taken from https://github.com/najoshi/ucd-biocore-galaxy/blob/master/tools/picard/picard_ReplaceSamHeader.xml -->
|
43
|
3 <requirements><requirement type="package" version="1.106.0">picard</requirement></requirements>
|
40
|
4 <command interpreter="python">
|
|
5 picard_wrapper.py
|
|
6 --input "$inputFile"
|
|
7 -o $outFile
|
|
8 --header-file $headerFile
|
|
9 --output-format $outputFormat
|
|
10 -j "\$JAVA_JAR_PATH/ReplaceSamHeader.jar"
|
|
11 --tmpdir "${__new_file_path__}"
|
|
12 </command>
|
|
13 <inputs>
|
|
14 <param format="bam,sam" name="inputFile" type="data" label="SAM/BAM dataset to replace header in (TARGET)"
|
|
15 help="If empty, upload or import a SAM/BAM dataset." />
|
|
16 <param format="bam,sam" name="headerFile" type="data" label="SAM/BAM to reader header from (SOURCE)"
|
|
17 help="If empty, upload or import a SAM/BAM dataset." />
|
|
18 <param name="outputFormat" type="boolean" checked="True" truevalue="bam" falsevalue="sam" label="Output BAM instead of SAM" help="Uncheck for SAM output" />
|
|
19 </inputs>
|
|
20 <outputs>
|
|
21 <data name="outFile" format="bam" label="${tool.name} on ${on_string}: ${outputFormat} with replaced header">
|
|
22 <change_format>
|
|
23 <when input="outputFormat" value="sam" format="sam" />
|
|
24 </change_format>
|
|
25 </data>
|
|
26 </outputs>
|
|
27 <tests>
|
|
28 <test>
|
|
29 <!-- Command:
|
|
30 java -jar ReplaceSamHeader.jar VALIDATION_STRINGENCY=LENIENT I=test-data/picard_input_tiny_coord.bam HEADER=test-data/picard_RSH_input1.bam O=picard_RSH_output1.sam
|
|
31 picard_RSH_input1.bam can be made from picard_RSH_input1.sam
|
|
32 -->
|
|
33 <param name="inputFile" value="picard_input_tiny_coord.bam" ftype="bam" />
|
|
34 <param name="headerFile" value="picard_RSH_input1.bam" ftype="bam" />
|
|
35 <param name="outputFormat" value="False" />
|
|
36 <output name="outFile" file="picard_RSH_output1.sam" ftype="sam" />
|
|
37 </test>
|
|
38 <test>
|
|
39 <!-- Command:
|
|
40 java -jar ReplaceSamHeader.jar VALIDATION_STRINGENCY=LENIENT I=test-data/picard_input_tiny_coord.sam HEADER=test-data/picard_RSH_input1.bam O=picard_RSH_output2.sam
|
|
41 picard_RSH_input1.bam can be made from picard_RSH_input1.sam
|
|
42 -->
|
|
43 <param name="inputFile" value="picard_input_tiny_coord.sam" ftype="sam" />
|
|
44 <param name="headerFile" value="picard_RSH_input1.bam" ftype="bam" />
|
|
45 <param name="outputFormat" value="False" />
|
|
46 <output name="outFile" file="picard_RSH_output2.sam" ftype="sam" />
|
|
47 </test>
|
|
48 <test>
|
|
49 <!-- Command:
|
|
50 java -jar ReplaceSamHeader.jar VALIDATION_STRINGENCY=LENIENT I=test-data/picard_input_tiny_coord.sam HEADER=test-data/picard_RSH_input1.sam O=picard_RSH_output2.bam
|
|
51 -->
|
|
52 <param name="inputFile" value="picard_input_tiny_coord.sam" ftype="sam" />
|
|
53 <param name="headerFile" value="picard_RSH_input1.sam" ftype="sam" />
|
|
54 <param name="outputFormat" value="True" />
|
|
55 <output name="outFile" file="picard_RSH_output2.bam" ftype="bam" />
|
|
56 </test>
|
|
57 </tests>
|
|
58 <help>
|
|
59
|
|
60
|
|
61 .. class:: infomark
|
|
62
|
|
63 **Purpose**
|
|
64
|
|
65 Replace Sam Header with the header from another sam file. The tool does not do any
|
|
66 significant validation, so it's up to the user to make sure that the elements in
|
|
67 the header are relevant and that the new header has all the required things.
|
|
68
|
|
69 Replace the SAMFileHeader in a SAM file with the given header. Validation is
|
|
70 minimal. It is up to the user to ensure that all the elements referred to in the
|
|
71 SAMRecords are present in the new header. Sort order of the two input files must
|
|
72 be the same.
|
|
73
|
|
74 **Picard documentation**
|
|
75
|
|
76 This is a Galaxy wrapper for ReplaceSamHeader, a part of the external package Picard-tools_.
|
|
77
|
|
78 .. _Picard-tools: http://www.google.com/search?q=picard+samtools
|
|
79
|
|
80 ------
|
|
81
|
|
82 .. class:: infomark
|
|
83
|
|
84 **Inputs and outputs**
|
|
85
|
|
86 Either a sam file or a bam file is required as the file whose header will be replaced.
|
|
87 The header file is also required and can also be either sam or bam (it does not have
|
|
88 to be the same type as the other file). In both cases, if a bam file is used, it must
|
|
89 be coordinate-sorted. Galaxy currently coordinate-sorts all bam files.
|
|
90
|
|
91 The tool will output either bam (the default) or sam. Bam is recommended since it is smaller.
|
|
92
|
|
93 .. class:: warningmark
|
|
94
|
|
95 **Warning on SAM/BAM quality**
|
|
96
|
|
97 Many SAM/BAM files produced externally and uploaded to Galaxy do not fully conform to SAM/BAM specifications. Galaxy deals with this by using the **LENIENT**
|
|
98 flag when it runs Picard, which allows reads to be discarded if they're empty or don't map. This appears
|
|
99 to be the only way to deal with SAM/BAM that cannot be parsed.
|
|
100
|
|
101
|
|
102
|
|
103 </help>
|
|
104 </tool>
|