# HG changeset patch # User jjohnson # Date 1413379361 14400 # Node ID 7f9ec5d9c4dbde6d44dfee16607f896b0841b70b Imported from capsule None diff -r 000000000000 -r 7f9ec5d9c4db chip.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/chip.py Wed Oct 15 09:22:41 2014 -0400 @@ -0,0 +1,106 @@ +""" +Binary classes +""" + +import galaxy.datatypes.data +from galaxy.datatypes.data import Data +import galaxy.datatypes.sniff +from galaxy.datatypes.sniff import * + +import zipfile +from urllib import urlencode, quote_plus + +log = logging.getLogger(__name__) + +# Cistrome Customized Datatypes +class Eset( Data ): + """Class describing an Expression Set""" + file_ext = "eset" + def set_peek( self, dataset, is_multi_byte=False ): + if not dataset.dataset.purged: + dataset.peek = "Expression set" + dataset.blurb = data.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 "Expression set" + def get_mime(self): + """Returns the mime type of the datatype""" + +class XysZip( Data ): + """Class describing a zip archive of NimbleGen XYS files""" + file_ext = "xys.zip" + def set_peek( self, dataset, is_multi_byte=False ): + if not dataset.dataset.purged: + zip_file = zipfile.ZipFile( dataset.file_name, "r" ) + num_files = len( zip_file.namelist() ) + dataset.peek = "Archive of %s NimbleGen XYS files" % ( str( num_files - 1 ) ) + dataset.blurb = data.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 "NimbleGen XYS file archive (%s)" % ( data.nice_size( dataset.get_size() ) ) + def get_mime(self): + """Returns the mime type of the datatype""" + return 'application/zip' + +class CelZip( Data ): + """Class describing a zip archive of Affymetrix CEL files""" + file_ext = "cel.zip" + def set_peek( self, dataset, is_multi_byte=False ): + if not dataset.dataset.purged: + zip_file = zipfile.ZipFile( dataset.file_name, "r" ) + num_files = len( zip_file.namelist() ) + dataset.peek = "Archive of %s Affymetrix CEL files" % ( str( num_files - 1 ) ) + dataset.blurb = data.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 "Affymetrix CEL file archive (%s)" % ( data.nice_size( dataset.get_size() ) ) + def get_mime(self): + """Returns the mime type of the datatype""" + return 'application/zip' + +class Cel( Data ): + """Class describing an binary CEL file""" + file_ext = "cel" + def set_peek( self, dataset, is_multi_byte=False ): + if not dataset.dataset.purged: + export_url = "/history_add_to?" + urlencode({'history_id':dataset.history_id,'ext':'cel','name':'affymetrix cel file','info':'Cel file','dbkey':dataset.dbkey}) + dataset.peek = "Binary cel sequence file" + dataset.blurb = data.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 cel sequence file (%s)" % ( data.nice_size( dataset.get_size() ) ) + def sniff( self, filename ): + """ + Determines wether the file is in cel format + + """ + parts = filename.lower().split('.') + for p in parts: + if p == 'cel': + return True + return False + + def get_mime(self): + """Returns the mime type of the datatype""" + return 'application/octet-stream' +# End diff -r 000000000000 -r 7f9ec5d9c4db datatypes_conf.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datatypes_conf.xml Wed Oct 15 09:22:41 2014 -0400 @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + +