Mercurial > repos > matt-shirley > sra_tools
comparison sra.py @ 12:b77840618b8f draft
debugging SRA datatype
author | Matt Shirley <mdshw5@gmail.com> |
---|---|
date | Mon, 17 Jun 2013 16:05:30 -0400 |
parents | 28fda7631857 |
children | 93a60318b9ca |
comparison
equal
deleted
inserted
replaced
11:cdba74ec9eca | 12:b77840618b8f |
---|---|
1 """ | 1 """ |
2 Sra class | 2 Sra class |
3 """ | 3 """ |
4 | 4 |
5 import galaxy.datatypes.binary | 5 import binascii |
6 from galaxy.datatypes.binary import Binary | 6 from galaxy.datatypes.binary import Binary |
7 import data, logging, binascii | 7 from galaxy.datatypes.data import Data |
8 from galaxy.datatypes.metadata import MetadataElement | 8 from galaxy.datatypes.metadata import MetadataElement |
9 from galaxy.datatypes import metadata | |
10 from galaxy.datatypes.sniff import * | 9 from galaxy.datatypes.sniff import * |
11 from galaxy import eggs | |
12 import pkg_resources | |
13 pkg_resources.require( 'bx-python' ) | |
14 import os, subprocess, tempfile | |
15 import struct | |
16 | 10 |
17 class Sra( Binary ): | 11 class Sra( Binary ): |
18 """ Sequence Read Archive (SRA) """ | 12 """ Sequence Read Archive (SRA) """ |
19 file_ext = 'sra' | 13 file_ext = 'sra' |
20 | 14 |
26 """ | 20 """ |
27 try: | 21 try: |
28 header = open(filename).read(8) | 22 header = open(filename).read(8) |
29 if binascii.b2a_hex(header) == binascii.hexlify('NCBI.sra'): | 23 if binascii.b2a_hex(header) == binascii.hexlify('NCBI.sra'): |
30 return True | 24 return True |
31 return False | 25 else: |
26 return False | |
32 except: | 27 except: |
33 return False | 28 return False |
34 def set_peek(self, dataset, is_multi_byte=False): | 29 def set_peek(self, dataset, is_multi_byte=False): |
35 if not dataset.dataset.purged: | 30 if not dataset.dataset.purged: |
36 dataset.peek = 'Binary sra file' | 31 dataset.peek = 'Binary SRA file' |
37 dataset.blurb = data.nice_size(dataset.get_size()) | 32 dataset.blurb = data.nice_size(dataset.get_size()) |
38 else: | 33 else: |
39 dataset.peek = 'file does not exist' | 34 dataset.peek = 'file does not exist' |
40 dataset.blurb = 'file purged from disk' | 35 dataset.blurb = 'file purged from disk' |
41 def display_peek(self, dataset): | 36 def display_peek(self, dataset): |
42 try: | 37 try: |
43 return dataset.peek | 38 return dataset.peek |
44 except: | 39 except: |
45 return 'Binary sra file (%s)' % ( data.nice_size(dataset.get_size())) | 40 return 'Binary sra file (%s)' % ( data.nice_size(dataset.get_size())) |
46 | |
47 Binary.register_sniffable_binary_format('sra', 'sra', Sra) |