0
|
1 <tool name="ReorderSam" id="picard_ReorderSam" version="1.135">
|
|
2 <description>reorder reads to match ordering in reference sequences</description>
|
|
3 <macros>
|
|
4 <import>picard_macros.xml</import>
|
|
5 </macros>
|
|
6 <expand macro="requirements" />
|
|
7 <command>
|
|
8 @java_options@
|
|
9 #set $picard_dict = "localref.dict"
|
|
10 #set $ref_fasta = "localref.fa" ## This is done because picards "likes" .fa extension
|
|
11
|
|
12 ln -s "${reference_source.ref_file}" "${ref_fasta}" &&
|
|
13
|
|
14 #if str( $reference_source.reference_source_selector ) == "history":
|
|
15
|
|
16 java -jar \$JAVA_JAR_PATH/picard.jar CreateSequenceDictionary REFERENCE="${ref_fasta}" OUTPUT="${picard_dict}"
|
|
17 QUIET=true
|
|
18 VERBOSITY=ERROR
|
|
19
|
|
20 &&
|
|
21
|
|
22 #else:
|
|
23
|
|
24 #set $ref_fasta = str( $reference_source.ref_file.fields.path )
|
|
25
|
|
26 #end if
|
|
27
|
|
28 java -jar \$JAVA_JAR_PATH/picard.jar
|
|
29 ReorderSam
|
|
30 INPUT="${inputFile}"
|
|
31 OUTPUT="${outFile}"
|
|
32 REFERENCE="${ref_fasta}"
|
|
33 ALLOW_INCOMPLETE_DICT_CONCORDANCE="${allow_incomplete_dict_concordance}"
|
|
34 ALLOW_CONTIG_LENGTH_DISCORDANCE="${allow_contig_length_discordance}"
|
|
35
|
|
36 VALIDATION_STRINGENCY="${validation_stringency}"
|
|
37 QUIET=true
|
|
38 VERBOSITY=ERROR
|
|
39
|
|
40 </command>
|
|
41
|
|
42 <inputs>
|
|
43
|
|
44 <conditional name="reference_source">
|
|
45 <param name="reference_source_selector" type="select" label="Load reference genome from">
|
|
46 <option value="cached">Local cache</option>
|
|
47 <option value="history">History</option>
|
|
48 </param>
|
|
49 <when value="cached">
|
|
50 <param name="ref_file" type="select" label="Use dictionary from the list" help="Select genome from the list">
|
|
51 <options from_data_table="picard_indexes">
|
|
52 <filter type="sort_by" column="2" />
|
|
53 <validator type="no_options" message="No indexes are available" />
|
|
54 </options>
|
|
55 <validator type="no_options" message="A built-in dictionary is not available for the build associated with the selected input file"/>
|
|
56 </param>
|
|
57 </when>
|
|
58 <when value="history">
|
|
59 <param name="ref_file" type="data" format="fasta" label="Use the following dataset to create dictionary" help="You can upload a FASTA sequence to the history from which Picard will automatically generate dictionary using CreateSequenceDictionary command" />
|
|
60 </when>
|
|
61 </conditional>
|
|
62
|
|
63 <param format="sam,bam" name="inputFile" type="data" label="Select SAM/BAM dataset or dataset collection" help="If empty, upload or import a SAM/BAM dataset"/>
|
|
64 <param name="allow_incomplete_dict_concordance" type="boolean" label="If true, then allows only a partial overlap of the BAM contigs with the new reference sequence contigs" help="ALLOW_INCOMPLETE_DICT_CONCORDANCE; By default, this tool requires a corresponding contig in the new reference for each read contig; default=False"/>
|
|
65 <param name="allow_contig_length_discordance" type="boolean" label="If true, then permits mapping from a read contig to a new reference contig with the same name but a different length" help="ALLOW_CONTIG_LENGTH_DISCORDANCE; HIGHLY DANGEROUS! Only use if you know what you are doing; default=False"/>
|
|
66 <expand macro="VS" />
|
|
67
|
|
68 </inputs>
|
|
69 <outputs>
|
|
70 <data name="outFile" format="bam" label="${tool.name} on ${on_string}: Reordered BAM"/>
|
|
71 </outputs>
|
|
72 <tests>
|
|
73 <test>
|
|
74 <param name="reference_source_selector" value="history" />
|
|
75 <param name="ref_file" value="picard_ReorderSam_ref.fa" ftype="fasta" />
|
|
76 <param name="inputFile" value="picard_ReorderSam.bam" ftype="bam"/>
|
|
77 <param name="allow_incomplete_dict_concordance" value="false"/>
|
|
78 <param name="allow_contig_length_discordance" value="false"/>
|
|
79 <output name="outFile" file="picard_ReorderSam_test1.bam" ftype="bam" lines_diff="2"/>
|
|
80 </test>
|
|
81 </tests>
|
|
82
|
|
83 <stdio>
|
|
84 <exit_code range="1:" level="fatal"/>
|
|
85 </stdio>
|
|
86
|
|
87 <help>
|
|
88
|
|
89 .. class:: infomark
|
|
90
|
|
91 **Purpose**
|
|
92
|
|
93 ReorderSam reorders reads in a SAM/BAM file to match the contig ordering in a provided reference file, as determined by exact name matching of contigs. Reads mapped to contigs absent in the new reference are dropped.
|
|
94
|
|
95 @dataset_collections@
|
|
96
|
|
97 ----
|
|
98
|
|
99 .. class:: warningmark
|
|
100
|
|
101 Not to be confused with **SortSam**.
|
|
102
|
|
103 @description@
|
|
104
|
|
105 ALLOW_INCOMPLETE_DICT_CONCORDANCE=Boolean
|
|
106 S=Boolean If true, then allows only a partial overlap of the BAM contigs with the new reference
|
|
107 sequence contigs. By default, this tool requires a corresponding contig in the new
|
|
108 reference for each read contig Default value: false. Possible values: {true, false}
|
|
109
|
|
110 ALLOW_CONTIG_LENGTH_DISCORDANCE=Boolean
|
|
111 U=Boolean If true, then permits mapping from a read contig to a new reference contig with the same
|
|
112 name but a different length. Highly dangerous, only use if you know what you are doing.
|
|
113 Default value: false. Possible values: {true, false}
|
|
114
|
|
115 @more_info@
|
|
116 </help>
|
|
117 </tool>
|
|
118
|
|
119
|
|
120
|
|
121
|
|
122
|
|
123
|
|
124
|
|
125
|
|
126
|
|
127
|
|
128
|
|
129
|
|
130
|