changeset 0:d00379767dbf draft default tip

Uploaded
author mish
date Wed, 23 Apr 2014 05:25:23 -0400
parents
children
files xcms_datatypes/.hg_archival.txt xcms_datatypes/README.txt xcms_datatypes/datatypes_conf.xml xcms_datatypes/xcms.py
diffstat 4 files changed, 127 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xcms_datatypes/.hg_archival.txt	Wed Apr 23 05:25:23 2014 -0400
@@ -0,0 +1,5 @@
+repo: d2c59f917d24d97293bbeb1efb48ae8292cae463
+node: 284ba0d136f9dff81b43abc91785d8a437abb637
+branch: default
+latesttag: null
+latesttagdistance: 2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xcms_datatypes/README.txt	Wed Apr 23 05:25:23 2014 -0400
@@ -0,0 +1,57 @@
+README
+-----------------------------------------------------------------------
+   XCMS Suite datatypes: A Workflow for metabolomics by ABIMS team
+-----------------------------------------------------------------------
+
+This package contains the datatypes for the XCMS suite.
+
+--------------------------------------------------------------------
+Instructions for integration of the XCMS datatypes into the workflow-system
+Galaxy (http://getgalaxy.org)
+--------------------------------------------------------------------
+
+In order to install the datatypes for the XCMS Suite into your Galaxy installation, please do the following:
+
+$galaxybase: Your galaxy-dist location
+
+-- Add the two datatypes and sniffer to the $galaxybase/datatypes_conf.xml
+
+        <datatype extension="ms_zip" type="galaxy.datatypes.xcms:MSZip" display_in_upload="true" />
+		<datatype extension="rdata" type="galaxy.datatypes.xcms:RData" display_in_upload="true" />
+		<sniffer type="galaxy.datatypes.xcms:MSZip"/>
+
+-- Copy xcms.py to $galaxybase/lib/galaxy/datatypes/
+
+-- Add "import xcms" to the beginning of the file $galaxybase/lib/galaxy/datatypes/registry.py
+
+-- Modify the $galaxybase/tools/data_source/upload.py:
+
+
+	-At the beginning of the file, put this line :
+		from galaxy.datatypes.xcms import *
+	-Then add the function:
+		def check_ms_zip( file_name ):
+		return MSZip().sniff( file_name )
+	-Add the following lines between the two <ABIMS insert lines> :
+	
+	if image:
+			if not PIL:
+				image = None
+			# get_image_ext() returns None if nor a supported Image type
+			ext = get_image_ext( dataset.path, image )
+			data_type = ext
+		# Is dataset content multi-byte?
+		elif dataset.is_multi_byte:
+			data_type = 'multi-byte char'
+		ext = sniff.guess_ext( dataset.path, is_multi_byte=True )
+		# <Abims insert Lines>
+		# Is dataset content supported Abims datatype
+		elif check_ms_zip( dataset.name ):
+			ext = 'ms_zip'
+			data_type = 'ms_zip'
+		# </Abims insert lines >
+		# Is dataset content supported sniffable binary?
+
+
+
+Last but not least, restart Galaxy.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xcms_datatypes/datatypes_conf.xml	Wed Apr 23 05:25:23 2014 -0400
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<datatypes>
+    <datatype_files>
+        <datatype_file name="xcms.py"/>
+    </datatype_files>
+    <registration>
+		<datatype extension="ms_zip" type="galaxy.datatypes.xcms:MSZip" display_in_upload="true" />
+		<datatype extension="rdata" type="galaxy.datatypes.xcms:RData" display_in_upload="true" />
+
+    </registration>
+    <sniffers>
+		<sniffer type="galaxy.datatypes.xcms:MSZip"/>
+    </sniffers>
+</datatypes>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xcms_datatypes/xcms.py	Wed Apr 23 05:25:23 2014 -0400
@@ -0,0 +1,51 @@
+"""
+XCMS datatypes
+"""
+
+import logging
+import os,os.path,re
+import galaxy.datatypes.data
+from galaxy.datatypes.data import Data
+from galaxy.datatypes.binary import Binary
+from galaxy.datatypes.metadata import MetadataElement
+
+log = logging.getLogger(__name__)
+
+class RData( Binary ):
+    """
+    A R session Image
+    """
+    
+    file_ext = 'rdata'
+    is_binary = True
+    
+    
+
+class MSZip( Data ):
+    """
+    A zip container for xcms input files
+    """
+    
+    file_ext = 'ms_zip'
+    is_binary = False
+    
+    def sniff( self, filename ):
+        """
+        Check REAL file name (dataset.name) and NOT tmp file name (dataset.path) for ".ms.zip" extension
+        """
+        try:
+            return (filename[-7:] == '.ms.zip')
+        except:
+            return False
+    
+    
+    
+    
+    
+    
+    
+    
+    
+
+
+