jasmine_amir@0
|
1 <macros>
|
jasmine_amir@2
|
2 <token name="@TOOL_VERSION@">3.0.3</token>
|
jasmine_amir@0
|
3 <token name="@VERSION_SUFFIX@">0</token>
|
jasmine_amir@0
|
4 <xml name="edam_ontology">
|
jasmine_amir@0
|
5 <edam_topics>
|
jasmine_amir@0
|
6 <edam_topic>topic_0622</edam_topic> <!-- Genomics -->
|
jasmine_amir@0
|
7 <edam_topic>topic_0091</edam_topic> <!-- Bioinformatics -->
|
jasmine_amir@0
|
8 </edam_topics>
|
jasmine_amir@0
|
9 <edam_operations>
|
jasmine_amir@0
|
10 <edam_operation>operation_2422</edam_operation> <!-- Data retrieval -->
|
jasmine_amir@0
|
11 <edam_operation>operation_0335</edam_operation> <!-- Formatting -->
|
jasmine_amir@0
|
12 </edam_operations>
|
jasmine_amir@0
|
13 </xml>
|
jasmine_amir@0
|
14 <macro name="requirements">
|
jasmine_amir@0
|
15 <requirements>
|
jasmine_amir@0
|
16 <requirement type="package" version="@TOOL_VERSION@">sra-tools</requirement>
|
jasmine_amir@0
|
17 <requirement type="package" version="2.6">pigz</requirement>
|
jasmine_amir@0
|
18 <requirement type="package" version="1.16.1">samtools</requirement>
|
jasmine_amir@0
|
19 <yield/>
|
jasmine_amir@0
|
20 </requirements>
|
jasmine_amir@0
|
21 </macro>
|
jasmine_amir@0
|
22 <token name="@ACCESSIONS_FROM_FILE@">
|
jasmine_amir@0
|
23 grep '^[[:space:]]*[E|S|D]RR[0-9]\{1,\}[[:space:]]*$'
|
jasmine_amir@0
|
24 </token>
|
jasmine_amir@0
|
25 <token name="@COMPRESS@"><![CDATA[pigz -cqp \${GALAXY_SLOTS:-1}]]></token>
|
jasmine_amir@0
|
26 <token name="@CONFIGURE_RETRY@"><![CDATA[
|
jasmine_amir@0
|
27 export SRA_PREFETCH_RETRIES=3 &&
|
jasmine_amir@0
|
28 export SRA_PREFETCH_ATTEMPT=1 &&
|
jasmine_amir@0
|
29 ]]></token>
|
jasmine_amir@0
|
30 <xml name="bio_tools">
|
jasmine_amir@0
|
31 <xrefs>
|
jasmine_amir@0
|
32 <xref type="bio.tools">sra-tools</xref>
|
jasmine_amir@0
|
33 </xrefs>
|
jasmine_amir@0
|
34 </xml>
|
jasmine_amir@0
|
35 <token name="@COPY_CONFIGFILE@"><![CDATA[
|
jasmine_amir@0
|
36 mkdir -p ~/.ncbi &&
|
jasmine_amir@0
|
37 cp '$user_settings_mkfg' ~/.ncbi/user-settings.mkfg &&
|
jasmine_amir@0
|
38 vdb-config -s "/repository/user/main/public/root=\$PWD" &&
|
jasmine_amir@0
|
39 vdb-config -s "/repository/user/ad/public/root=\$PWD" &&
|
jasmine_amir@0
|
40 vdb-config -s "/repository/user/default-path=\$PWD" &&
|
jasmine_amir@0
|
41 vdb-config -s "/repository/user/main/public/root=\$PWD" &&
|
jasmine_amir@0
|
42 vdb-config -s /http/timeout/read=10000 &&
|
jasmine_amir@0
|
43 ]]></token>
|
jasmine_amir@0
|
44 <token name="@SET_ACCESSIONS@"><![CDATA[
|
jasmine_amir@0
|
45 #if $input.input_select == "sra_file":
|
jasmine_amir@0
|
46 acc='${input.sra_file.name}' &&
|
jasmine_amir@0
|
47 ln -s '${input.sra_file}' "\$acc" &&
|
jasmine_amir@0
|
48 #else
|
jasmine_amir@0
|
49 #if $input.input_select == "file_list":
|
jasmine_amir@0
|
50 #if $input.file_list.is_of_type('sra_manifest.tabular'):
|
jasmine_amir@0
|
51 #set $column = $input.file_list.unsanitized.metadata.column_names.index('Run') + 1
|
jasmine_amir@0
|
52 cut -f $column '$input.file_list'| tail -n +2 > accessions &&
|
jasmine_amir@0
|
53 #else
|
jasmine_amir@0
|
54 @ACCESSIONS_FROM_FILE@ '$input.file_list' > accessions &&
|
jasmine_amir@0
|
55 #end if
|
jasmine_amir@0
|
56 #elif $input.input_select == "accession_number":
|
jasmine_amir@0
|
57 echo '${input.accession}' | sed -r 's/(\,|\;|__cn__)/\n/g' > accessions &&
|
jasmine_amir@0
|
58 #end if
|
jasmine_amir@0
|
59 for acc in \$(cat ./accessions);
|
jasmine_amir@0
|
60 do (
|
jasmine_amir@0
|
61 echo "Downloading accession: \$acc..." &&
|
jasmine_amir@0
|
62 #end if
|
jasmine_amir@0
|
63 ]]></token>
|
jasmine_amir@0
|
64 <macro name="configfile_hack">
|
jasmine_amir@0
|
65 <configfiles>
|
jasmine_amir@0
|
66 <configfile name="user_settings_mkfg"><![CDATA[
|
jasmine_amir@0
|
67 /LIBS/GUID = "3cdc38d0-711a-49ce-9536-f544eaf69eec"
|
jasmine_amir@0
|
68 /config/default = "false"
|
jasmine_amir@0
|
69 /libs/temp_cache = "."
|
jasmine_amir@0
|
70 /tools/prefetch/download_to_cache = "false"
|
jasmine_amir@0
|
71 ]]></configfile>
|
jasmine_amir@0
|
72 </configfiles>
|
jasmine_amir@0
|
73 </macro>
|
jasmine_amir@0
|
74 <macro name="sanitize_query">
|
jasmine_amir@0
|
75 <sanitizer>
|
jasmine_amir@0
|
76 <valid initial="string.printable">
|
jasmine_amir@0
|
77 <remove value=" "/>
|
jasmine_amir@0
|
78 <remove value="'" />
|
jasmine_amir@0
|
79 </valid>
|
jasmine_amir@0
|
80 <mapping initial="none">
|
jasmine_amir@0
|
81 <add source=" " target=""/>
|
jasmine_amir@0
|
82 <add source="'" target="'"'"'"/>
|
jasmine_amir@0
|
83 </mapping>
|
jasmine_amir@0
|
84 </sanitizer>
|
jasmine_amir@0
|
85 </macro>
|
jasmine_amir@0
|
86 <macro name="input_conditional">
|
jasmine_amir@0
|
87 <conditional name="input">
|
jasmine_amir@0
|
88 <param name="input_select" type="select" label="select input type">
|
jasmine_amir@0
|
89 <option value="accession_number">SRR accession</option>
|
jasmine_amir@0
|
90 <option value="file_list">List of SRA accession, one per line</option>
|
jasmine_amir@0
|
91 <option value="sra_file">SRA archive in current history</option>
|
jasmine_amir@0
|
92 </param>
|
jasmine_amir@0
|
93 <when value="accession_number">
|
jasmine_amir@0
|
94 <param name="accession" type="text" label="Accession" multiple="true" help="Must start with SRR, DRR or ERR, e.g. SRR925743, ERR343809">
|
jasmine_amir@0
|
95 <expand macro="sanitize_query"/>
|
jasmine_amir@0
|
96 <validator type="empty_field" message="An accession is required"/>
|
jasmine_amir@0
|
97 </param>
|
jasmine_amir@0
|
98 </when>
|
jasmine_amir@0
|
99 <when value="sra_file">
|
jasmine_amir@0
|
100 <param format="sra" name="sra_file" type="data" label="sra archive"/>
|
jasmine_amir@0
|
101 </when>
|
jasmine_amir@0
|
102 <when value="file_list">
|
jasmine_amir@0
|
103 <param format="txt" name="file_list" type="data" label="sra accession list"/>
|
jasmine_amir@0
|
104 </when>
|
jasmine_amir@0
|
105 </conditional>
|
jasmine_amir@0
|
106 </macro>
|
jasmine_amir@0
|
107 <macro name="alignments">
|
jasmine_amir@0
|
108 <param name="alignments" type="select" value="both" label="Output aligned or unaligned reads" help="Output reads according to their alignment status." argument="--aligned and --unaligned">
|
jasmine_amir@0
|
109 <option value="both">both</option>
|
jasmine_amir@0
|
110 <option value="aligned">aligned only</option>
|
jasmine_amir@0
|
111 <option value="unaligned">unaligned only</option>
|
jasmine_amir@0
|
112 </param>
|
jasmine_amir@0
|
113 </macro>
|
jasmine_amir@0
|
114 <macro name="minMapq">
|
jasmine_amir@0
|
115 <param name="minMapq" type="integer" min="0" max="42" label="Minimum mapping quality" optional="true" help="Minimum mapping quality an alignment has to have, to be dumped." argument="--min-mapq"/>
|
jasmine_amir@0
|
116 </macro>
|
jasmine_amir@0
|
117 <macro name="region">
|
jasmine_amir@0
|
118 <param format="text" name="region" type="text" label="aligned region" optional="true"
|
jasmine_amir@0
|
119 help="Filter by position on genome. Can be either accession.version (ex: NC_000001.10), chromosome name (ex:chr1 or 1) or 1-based coordinates (ex: chr1:1-101)." argument="--aligned-region"/>
|
jasmine_amir@0
|
120 </macro>
|
jasmine_amir@0
|
121 <macro name="matepairDist">
|
jasmine_amir@0
|
122 <param name="matepairDist" type="text" label="mate-pair distance (from-to|unknown)" optional="true"
|
jasmine_amir@0
|
123 help="Filter by distance between matepairs. Use unknown to find matepairs split between the references. Use from-to (inclusive) to limit matepair distance on the same reference" argument="--matepair-distance"/>
|
jasmine_amir@0
|
124 </macro>
|
jasmine_amir@0
|
125 <macro name="citation">
|
jasmine_amir@0
|
126 <citations>
|
jasmine_amir@0
|
127 <citation type="doi">10.1093/nar/gkq1019</citation>
|
jasmine_amir@0
|
128 <citation type="bibtex">
|
jasmine_amir@0
|
129 @misc{github_sratools,
|
jasmine_amir@0
|
130 author = {NCBI},
|
jasmine_amir@0
|
131 title = {sra-tools},
|
jasmine_amir@0
|
132 publisher = {GitHub},
|
jasmine_amir@0
|
133 journal = {GitHub repository},
|
jasmine_amir@0
|
134 url = {https://github.com/ncbi/sra-tools},
|
jasmine_amir@0
|
135 }</citation>
|
jasmine_amir@0
|
136 </citations>
|
jasmine_amir@0
|
137 </macro>
|
jasmine_amir@0
|
138 <token name="@HOW_TO_USE_IT@">
|
jasmine_amir@0
|
139 **How to use it?**
|
jasmine_amir@0
|
140
|
jasmine_amir@0
|
141 There are three ways in which you can download data:
|
jasmine_amir@0
|
142
|
jasmine_amir@0
|
143 1. Plain text input of accession number(s)
|
jasmine_amir@0
|
144 2. Providing a list of accessions from file
|
jasmine_amir@0
|
145 3. Extracting data from an already uploaded SRA dataset
|
jasmine_amir@0
|
146
|
jasmine_amir@0
|
147 Below we discuss each in detail.
|
jasmine_amir@0
|
148
|
jasmine_amir@0
|
149 ------
|
jasmine_amir@0
|
150
|
jasmine_amir@0
|
151 **Plain text input of accession number(s)**
|
jasmine_amir@0
|
152
|
jasmine_amir@0
|
153 When you type an accession number (e.g., `SRR1582967`) into **Accession** box and click **Execute** the tool will fetch the data for you. You can also provide a list of multiple accession numbers (e.g. `SRR3141592, SRR271828, SRR112358`).
|
jasmine_amir@0
|
154
|
jasmine_amir@0
|
155 -----
|
jasmine_amir@0
|
156
|
jasmine_amir@0
|
157 **Providing a list of accessions from file**
|
jasmine_amir@0
|
158
|
jasmine_amir@0
|
159 A more realistic scenario is when you want to upload a number of datasets at once. To do this you need a list of accession, where there is only one accession per line (see below for information on how to generate such a file). Once you have this file:
|
jasmine_amir@0
|
160
|
jasmine_amir@0
|
161 1. Upload it into your history using Galaxy's upload tool
|
jasmine_amir@0
|
162 2. Once the list of accessions is uploaded choose *List of SRA accessions, one per line* from **select input type** dropdown
|
jasmine_amir@0
|
163 3. Choose uploaded file within the **sra accession list** field
|
jasmine_amir@0
|
164 4. Click **Execute**
|
jasmine_amir@0
|
165
|
jasmine_amir@0
|
166 -----
|
jasmine_amir@0
|
167
|
jasmine_amir@0
|
168 **Extract data from an already uploaded SRA dataset**
|
jasmine_amir@0
|
169
|
jasmine_amir@0
|
170 If an SRA dataset is already present in the history, the sequencing data can be extracted in a human-readable data format (fastq, sam, bam) by setting **select input type** drop-down to *SRA archive in current history*.
|
jasmine_amir@0
|
171 </token>
|
jasmine_amir@0
|
172 <token name="@ACCESSION_LIST_HOWTO@">
|
jasmine_amir@0
|
173 -----
|
jasmine_amir@0
|
174
|
jasmine_amir@0
|
175 **How to generate accession lists**
|
jasmine_amir@0
|
176
|
jasmine_amir@0
|
177 1. Go to **SRA Run Selector** by clicking this link_
|
jasmine_amir@0
|
178 2. Find the study you are interested in by typing a search term within the **Search** box. This can be a word (e.g., *mitochondria*) or an accession you have gotten from a paper (e.g., *SRR1582967*).
|
jasmine_amir@0
|
179 3. Once you click on the study of interest you will see the number of datasets in this study within the **Related SRA data** box
|
jasmine_amir@0
|
180 4. Click on the Runs number
|
jasmine_amir@0
|
181 5. On the page that would open you will see **Accession List** button
|
jasmine_amir@0
|
182 6. Clicking of this button will produce a file that you will need to upload into Galaxy and use as the input to this tool.
|
jasmine_amir@0
|
183 </token>
|
jasmine_amir@0
|
184 <token name="@SRATOOLS_ATTRRIBUTION@">
|
jasmine_amir@0
|
185 For credits, information, support and bug reports, please refer ato https://github.com/galaxyproject/tools-iuc.
|
jasmine_amir@0
|
186 </token>
|
jasmine_amir@0
|
187 </macros>
|