Changeset 223


Ignore:
Timestamp:
Sep 22, 2009, 2:15:13 PM (11 years ago)
Author:
pvkouteren
Message:

Added new functionality for MSigDB

File:
1 edited

Legend:

Unmodified
Added
Removed
  • web/IbidasAtomicServicesTemp.py

    r222 r223  
    5555                print str(containerobject[i])
    5656                print "field: " + str(field) + " -> " + str(getattr(containerobject[i], field))
    57                 setattr(object, field, getattr(containerobject[i], field))
     57                setattr(object, field, getattr(containerobject[i], field)())
    5858                print "just set attribute " + str(field) + " for this object to " + str(getattr(containerobject[i], field))
    5959            objects.append(object)
     
    141141                data = self._tablecontainerToSerializer(containerobject[_.set_id == id], tabledata['name'])
    142142            elif tabledata['name'] == 'set_pg_group':
     143                # discard this one
    143144                data = []
    144145            else:
     
    150151        print str(im)
    151152        return im
     153   
     154    @soapmethod(Array(String), String, String, _returns=Array(Array(String)))
     155    def convert(self, id_list, type_in, type_out):
     156        """ Convert a list of identifiers to a list of desired identifiers """
     157        result = []
     158        for identifier in id_list:
     159            i_id = self.cd.item_prop_accession[_.value == identifier].select(_.item_id)()
     160            if isinstance(i_id, int):
     161                i_res = self.cd.item_prop_accession[_.item_id == i_id].select(_.value)()
     162                identifiers = i_res.tolist()
     163            else:
     164                identifiers = []
     165            result.append(identifiers)
     166        return result
     167           
     168    @soapmethod(Array(String), _returns=Array(Array(String)))
     169    def getMSigDBGroups(self, gene_list):
     170        """ Get the MSigDB groups of the genes in the provided list """
     171        result = []
     172        for gene_id in gene_list:
     173            g_res = self.cd.item_prop_term.join(self.cd.item, 'item_id', 'item_id').join(self.cd.term, 'term_id', 'term_id')[_.display_name == gene_id].select('identifier')()
     174            if isinstance(g_res, str):
     175                # we have only one result
     176                a_res = [g_res]
     177            else:
     178                a_res = g_res.tolist()
     179            result.append(a_res)
     180        return result
     181   
     182    @soapmethod(Array(String), _returns=Array(Array(String)))
     183    def getMSigDBGroupGenes(self, group_list):
     184        """ Get the MSigDB genes of the groups in the provided list """
     185        result = []
     186        for group_id in group_list:
     187            g_res = self.cd.item_prop_term.join(self.cd.item, 'item_id', 'item_id').join(self.cd.term, 'term_id', 'term_id')[_.identifier == group_id].select('display_name')()
     188            if isinstance(g_res, str):
     189                # we have only one result
     190                a_res = [g_res]
     191            else:
     192                a_res = g_res.tolist()
     193            result.append(a_res)
     194        return result
Note: See TracChangeset for help on using the changeset viewer.