annotate GSV.py @ 0:f905f982ee3d

Imported from capsule None
author cmonjeau
date Fri, 05 Jun 2015 11:40:49 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
1
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
2 """
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
3 GSV visualisation datatypes
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
4 """
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
5
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
6
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
7 import logging, os, os.path, sys, time, tempfile, shutil, string, glob, re
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
8
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
9 from galaxy.datatypes.sniff import *
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
10 from galaxy.datatypes import data
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
11 from galaxy.datatypes.metadata import MetadataElement
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
12 from galaxy.datatypes.xml import GenericXml
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
13
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
14 log = logging.getLogger(__name__)
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
15
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
16 class GenericMapJson( data.Text ):
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
17 """Base format class for any JSON file."""
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
18 file_ext = "mapjson"
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
19
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
20 def set_peek( self, dataset, is_multi_byte=False ):
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
21 """Set the peek and blurb text"""
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
22 if not dataset.dataset.purged:
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
23 dataset.peek = data.get_file_peek( dataset.file_name, is_multi_byte=is_multi_byte )
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
24 dataset.blurb = 'Mapjson data'
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
25 else:
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
26 dataset.peek = 'file does not exist'
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
27 dataset.blurb = 'file purged from disk'
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
28
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
29 def sniff( self, filename ):
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
30 """
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
31 Determines whether the file is JSON or not
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
32
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
33 >>> fname = get_test_fname( 'megablast_xml_parser_test1.blastxml' )
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
34 >>> GenericMapJson().sniff( fname )
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
35 True
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
36 >>> fname = get_test_fname( 'interval.interval' )
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
37 >>> GenericMapJson().sniff( fname )
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
38 False
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
39 """
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
40 #TODO - Use a context manager on Python 2.5+ to close handle
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
41 handle = open(filename)
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
42 line = handle.readline()
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
43 handle.close()
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
44
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
45
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
46 class Gjson( GenericMapJson ):
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
47 """
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
48 Resource Description Framework format (http://www.w3.org/RDF/).
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
49 """
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
50 file_ext = "gjson"
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
51
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
52 def sniff( self, filename ):
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
53 """
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
54 Returns false and the user must manually set.
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
55 """
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
56 return False
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
57
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
58 def set_peek( self, dataset, is_multi_byte=False ):
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
59 """Set the peek and blurb text"""
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
60 if not dataset.dataset.purged:
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
61 dataset.peek = data.get_file_peek( dataset.file_name, is_multi_byte=is_multi_byte )
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
62 dataset.blurb = 'GJSON data'
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
63 else:
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
64 dataset.peek = 'file does not exist'
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
65 dataset.blurb = 'file purged from disk'
f905f982ee3d Imported from capsule None
cmonjeau
parents:
diff changeset
66