Mercurial > repos > mish > datatypes
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 + + + + + + + + + + + +