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