annotate macros.xml @ 2:d8dceaadb43c tip

planemo upload
author jasmine_amir
date Wed, 15 Feb 2023 16:33:01 -0500
parents c9fb9ecae076
children
rev   line source
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="&apos;" />
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="&apos;" target="&apos;&quot;&apos;&quot;&apos;"/>
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>