Changeset 1218:8268ddefcbb1 in orange-bioinformatics


Ignore:
Timestamp:
09/27/10 15:39:43 (4 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
592f22b71d760d96c6a2482a736b9385e61f9d83
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • obiKEGG.py

    r1143 r1218  
    406406     
    407407    def org_code(self): 
    408         return self.name.split(",")[0] 
    409      
     408        if self.name is not None: 
     409            return self.name.split(",")[0] 
     410        else: 
     411            return self.entry.split()[0] 
     412         
    410413    def entry_key(self): 
    411414        return self.org_code() 
     
    416419    Entry = KEGGGenomeEntry 
    417420    VERSION = "v1.1" 
     421    TAXID_MAP = {"4932" : "559292"} 
    418422    def name(self): 
    419423        return super(KEGGGeneome, self).name() 
     
    435439    def essential_organisms(cls): 
    436440        genome = KEGGGenome() 
    437         return [genome.get(taxid).entry_key() for taxid in obiTaxonomy.essential_taxids()] 
     441         
     442        return [genome.get(cls.TAXID_MAP.get(taxid, taxid)).entry_key() for taxid in obiTaxonomy.essential_taxids()] 
    438443             
    439     def get(self, key, default=None): 
     444    def get(self, key, *args): 
     445        if key in self.TAXID_MAP: 
     446            key = self.TAXID_MAP[key] 
    440447        if key not in self: 
    441448            keys = self.search(key) 
    442449            keys = [k for k in keys if key in self[k].name or key in self[k].taxonomy] 
    443450            key = keys.pop(0) if keys else key 
    444         return super(KEGGGenome, self).get(key, default) 
     451        return super(KEGGGenome, self).get(key, *args) 
    445452     
    446453    def search(self, string, relevance=False): 
     454        if string in self.TAXID_MAP: 
     455            string = self.TAXID_MAP[string] 
     456             
    447457        def match(entry, string): 
    448458            rel = 0 
     
    771781            name = ids.pop(0) if ids else name 
    772782             
    773         return KEGGGenome().get(name).entry_key() 
    774      
     783        try: 
     784            return KEGGGenome()[name].entry_key() 
     785        except KeyError: 
     786            raise ValueError("Organims with name='%s' not found in KEGG." % name) 
     787         
    775788    @classmethod 
    776789    def organism_version(cls, name): 
Note: See TracChangeset for help on using the changeset viewer.