Mercurial > repos > pitagora > sratoolkit_centos
changeset 0:3aa3807c078f
commit
author | pitagora <ryota.yamanaka@riken.jp> |
---|---|
date | Thu, 26 Mar 2015 16:29:05 +0900 |
parents | |
children | 424d1dea2823 |
files | README.txt datatypes_conf.xml fastq_dump.xml sam_dump.xml sra.py sra_pileup.xml tool_dependencies.xml |
diffstat | 7 files changed, 344 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.txt Thu Mar 26 16:29:05 2015 +0900 @@ -0,0 +1,10 @@ +This code is originated from the following. Prease refer this for the licence +information: + +matt-shirley's code: +https://toolshed.g2.bx.psu.edu/view/matt-shirley/ncbi_sra_toolkit + +If you use this Galaxy tool in work leading to a scientific publication please +cite the following: + +SRA Toolkit: http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datatypes_conf.xml Thu Mar 26 16:29:05 2015 +0900 @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<datatypes> + <datatype_files> + <datatype_file name="sra.py"/> + </datatype_files> + <registration> + <datatype extension="sra" type="galaxy.datatypes.sra:Sra" mimetype="application/octet-stream" display_in_upload="true"/> + </registration> + <sniffers> + <sniffer type="galaxy.datatypes.sra:Sra"/> + </sniffers> +</datatypes>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastq_dump.xml Thu Mar 26 16:29:05 2015 +0900 @@ -0,0 +1,123 @@ +<tool id="fastq_dump" name="Extract reads" version="1.1.2"> + <description> from NCBI SRA.</description> + <command> + fastq-dump --log-level fatal + #if $input.input_select == "file": + --accession '${input.file.name}' + #else: + --accession $input.accession + #end if + --defline-seq '@\$sn[_\$rn]/\$ri' + --stdout + #if str( $split ) == "yes": + --split-spot + #end if + #if str( $alignments ) == "aligned": + --aligned + #end if + #if str( $alignments ) == "unaligned": + --unaligned + #end if + #if str( $minID ) != "": + --minSpotId $minID + #end if + #if str( $maxID ) != "": + --maxSpotId $maxID + #end if + #if str( $minlen ) != "": + --minReadLen $minlen + #end if + #if str( $readfilter ) != "": + --read-filter $readfilter + #end if + #if str( $region ) != "": + --aligned-region $region + #end if + #if str( $spotgroups ) != "": + --spot-groups $spotgroups + #end if + #if str( $matepairDist ) != "": + --matepair-distance $matepairDist + #end if + #if $clip == "yes": + --clip + #end if + #if str( $outputformat ) == "fasta": + --fasta + #end if + #if $input.input_select=="file": + $input.file + #else: + $input.accession + #end if + > $output + </command> + <version_string>fastq-dump --version</version_string> + <inputs> + <conditional name="input"> + <param name="input_select" type="select" label="select input type"> + <option value="accession_number">SRR accession</option> + <option value="file">SRA archive in current history</option> + </param> + <when value="file"> + <param format="sra" name="file" type="data" label="sra archive"/> + </when> + <when value="accession_number"> + <param format="text" name="accession" type="text" label="accession"/> + </when> + </conditional> + <param format="text" name="minID" type="text" label="minimum spot ID"/> + <param format="text" name="maxID" type="text" label="maximum spot ID"/> + <param format="text" name="minlen" type="text" label="minimum read length"/> + <param format="text" name="split" type="select" value="yes"> + <label>split spot by read pairs</label> + <option value="yes">Yes</option> + <option value="no">No</option> + </param> + <param format="text" name="alignments" type="select" value="both"> + <label>aligned or unaligned reads</label> + <option value="both">both</option> + <option value="aligned">aligned only</option> + <option value="unaligned">unaligned only</option> + </param> + <param format="text" name="region" type="text" label="aligned region"/> + <param format="text" name="matepairDist" type="text" label="mate-pair distance (from-to|unknown)"/> + <param format="text" name="readfilter" type="select" value=""> + <label>filter by value</label> + <option value="">None</option> + <option value="pass">pass</option> + <option value="reject">reject</option> + <option value="criteria">criteria</option> + <option value="redacted">redacted</option> + </param> + <param name="outputformat" type="select" label="select output format"> + <option value="fastqsanger">fastq</option> + <option value="fasta">fasta</option> + </param> + <param format="text" name="spotgroups" type="text" label="filter by spot-groups"/> + <param format="text" name="clip" type="select" value="no"> + <label>apply left and right clips</label> + <option value="no">No</option> + <option value="yes">Yes</option> + </param> + </inputs> + <outputs> + <data format="fastq" name="output"> + <change_format> + <when input="outputformat" value="fasta" format="fasta" /> + </change_format> + </data> + </outputs> + <stdio> + <exit_code range="127" level="fatal" description="Could not locate fastq-dump binary"/> + </stdio> + <requirements> + <requirement type="package" version="2.3.4-2">sra_toolkit</requirement> + </requirements> + <help> + This tool extracts reads from SRA archives using fastq-dump. + Browse the NCBI SRA for SRR accessions at http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=studies. + The fastq-dump program is developed at NCBI, and is available at: http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software. + Contact Matt Shirley at mdshw5@gmail.com for support and bug reports. + </help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sam_dump.xml Thu Mar 26 16:29:05 2015 +0900 @@ -0,0 +1,99 @@ +<tool id="sam_dump" name="Extract reads" version="1.1.2"> + <description> in SAM format from NCBI SRA.</description> + <command> + sam-dump --log-level fatal + #if str( $region ) != "": + --aligned-region $region + #end if + #if str( $matepairDist ) != "": + --matepair-distance $matepairDist + #end if + #if str( $minMapq ) != "": + --minmapq $minMapq + #end if + #if $header == "yes": + --header + #else: + --no-header + #end if + #if str( $alignments ) == "both": + --unaligned + #end if + #if str( $alignments ) == "unaligned": + --unaligned-spots-only + #end if + #if (str( $primary ) == "yes") and (str ( $alignments != "unaligned") ): + --primary + #end if + #if str( $fastq ) == "yes": + --fastq + #end if + #if $input.input_select == "file": + $input.file + #elif $input.input_select == "accession_number": + $input.accession + #elif $input.input_select == "text": + `cat $input.text` + #end if + > $output + </command> + <version_string>sam-dump --version</version_string> + <inputs> + <conditional name="input"> + <param name="input_select" type="select" label="select input type"> + <option value="accession_number">SRR accession</option> + <option value="file">SRA archive in current history</option> + <option value="text">text file containing SRR accession</option> + </param> + <when value="file"> + <param format="sra" name="file" type="data" label="sra archive"/> + </when> + <when value="accession_number"> + <param format="text" name="accession" type="text" label="accession"/> + </when> + <when value="text"> + <param format="txt" name="text" type="data" label="text file"/> + </when> + </conditional> + <param format="text" name="region" type="text" label="aligned region"/> + <param format="text" name="matepairDist" type="text" label="mate-pair distance (from-to|unknown)"/> + <param format="text" name="header" type="select" value="yes"> + <label>output SAM header</label> + <option value="yes">Yes</option> + <option value="no">No</option> + </param> + <param format="text" name="alignments" type="select" value="both"> + <label>aligned or unaligned reads</label> + <option value="both">both</option> + <option value="aligned">aligned only</option> + <option value="unaligned">unaligned only</option> + </param> + <param format="text" name="primary" type="select" value="no"> + <label>only primary aligments</label> + <option value="no">No</option> + <option value="yes">Yes</option> + </param> + <param format="text" name="minMapq" type="text" label="minimum mapping quality"/> + <param format="text" name="fastq" type="select" value="no"> + <label>output fastq</label> + <option value="no">No</option> + <option value="yes">Yes</option> + </param> + </inputs> + <outputs> + <data name="output" format="sam"> + <change_format> + <when input="fastq" value="yes" format="fastq"/> + </change_format> + </data> + </outputs> + <requirements> + <requirement type="package" version="2.3.4-2">sra_toolkit</requirement> + </requirements> + <help> + This tool extracts reads from sra archives using sam-dump. + Browse the NCBI SRA for SRR accessions at http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=studies. + The sam-dump program is developed at NCBI, and is available at: http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software. + Contact Matt Shirley at mdshw5@gmail.com for support and bug reports. + </help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sra.py Thu Mar 26 16:29:05 2015 +0900 @@ -0,0 +1,43 @@ +""" +NCBI sra class +""" +import logging +import binascii +from galaxy.datatypes.data import nice_size +from galaxy.datatypes.binary import Binary + +log = logging.getLogger(__name__) + +class Sra(Binary): + """ Sequence Read Archive (SRA) """ + file_ext = 'sra' + + def __init__( self, **kwd ): + Binary.__init__( self, **kwd ) + + def sniff( self, filename ): + """ The first 8 bytes of any NCBI sra file is 'NCBI.sra', and the file is binary. + For details about the format, see http://www.ncbi.nlm.nih.gov/books/n/helpsra/SRA_Overview_BK/#SRA_Overview_BK.4_SRA_Data_Structure + """ + try: + header = open(filename).read(8) + if binascii.b2a_hex(header) == binascii.hexlify('NCBI.sra'): + return True + else: + return False + except: + return False + + def set_peek(self, dataset, is_multi_byte=False): + if not dataset.dataset.purged: + dataset.peek = 'Binary sra file' + dataset.blurb = nice_size(dataset.get_size()) + else: + dataset.peek = 'file does not exist' + dataset.blurb = 'file purged from disk' + + def display_peek(self, dataset): + try: + return dataset.peek + except: + return 'Binary sra file (%s)' % (nice_size(dataset.get_size()))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sra_pileup.xml Thu Mar 26 16:29:05 2015 +0900 @@ -0,0 +1,51 @@ +<tool id="sra_pileup" name="Generate pileup format" version="1.1.1"> + <description> from NCBI sra.</description> + <command>sra-pileup --log-level fatal + #if str( $region ) != "": + --aligned-region $region + #end if + #if str( $minMapq ) != "": + --minmapq $minMapq + #end if + #if $input.input_select == "file": + $input.file + #elif $input.input_select == "accession_number": + $input.accession + #elif $input.input_select == "text": + `cat $input.text` + #end if + > $output</command> + <version_string>sra-pileup --version</version_string> + <inputs> + <conditional name="input"> + <param name="input_select" type="select" label="select input type"> + <option value="accession_number">SRR accession</option> + <option value="file">SRA archive in current history</option> + <option value="text">text file containing SRR accession</option> + </param> + <when value="file"> + <param format="sra" name="file" type="data" label="sra archive"/> + </when> + <when value="accession_number"> + <param format="text" name="accession" type="text" label="accession"/> + </when> + <when value="text"> + <param format="txt" name="text" type="data" label="text file"/> + </when> + </conditional> + <param format="text" name="region" type="text" label="aligned region"/> + <param format="text" name="minMapq" type="text" label="minimum mapping quality"/> + </inputs> + <outputs> + <data format="pileup" name="output"/> + </outputs> + <requirements> + <requirement type="package" version="2.3.3-3">sra_toolkit</requirement> + </requirements> + <help> + This tool produces pileup format from sra archives using sra-pileup. + Browse the NCBI SRA for SRR accessions at http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=studies. + The sra-pileup program is developed at NCBI, and is available at: http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software. + Contact Matt Shirley at mdshw5@gmail.com for support and bug reports. + </help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Thu Mar 26 16:29:05 2015 +0900 @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="sra_toolkit" version="2.4.5"> + <repository changeset_revision="4e3a12d04e29" name="package_sratoolkit_centos_2_4_5" owner="pitagora" prior_installation_required="False" toolshed="http://testtoolshed.g2.bx.psu.edu" /> + </package> +</tool_dependency>