Changeset 1799:2f952a765716 in orange-bioinformatics for _bioinformatics/obiOMIM.py


Ignore:
Timestamp:
05/23/13 10:39:27 (11 months ago)
Author:
markotoplak
Branch:
default
Parents:
1786:df95834ddac7 (diff), 1798:f1e73901a1d3 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merged changes from Vid's branch.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _bioinformatics/obiOMIM.py

    r1784 r1799  
    2020        if match.group("m2"): 
    2121            self.mapping += " " + match.group("m2").strip() 
    22          
     22                                                                                 
    2323class OMIM(object): 
    2424    VERSION = 1 
     
    2626    def __init__(self, local_database_path=None): 
    2727        self.local_database_path = local_database_path if local_database_path is not None else self.DEFAULT_DATABASE_PATH 
    28          
     28   
    2929        if self.local_database_path == self.DEFAULT_DATABASE_PATH: 
    3030            filename = Orange.utils.serverfiles.localpath_download("OMIM", "morbidmap") 
     
    4141        shutil.copyfileobj(stream, file, length=10) 
    4242        file.close() 
    43          
     43 
    4444    @classmethod 
    4545    def get_instance(cls): 
     
    5555        lines = file.read().splitlines() 
    5656        self._disease_dict = dict([(disease(line), line) for line in lines if line]) 
    57          
     57     
    5858    def diseases(self): 
    5959        return self._disease_dict.keys() 
     
    7171                d[gene].add(disease) 
    7272        return d 
    73      
     73 
    7474def diseases(): 
    7575    """ Return all disease objects 
    7676    """ 
    7777    return OMIM.get_instance().diseases() 
    78          
     78 
    7979def genes(): 
    8080    """ Return a set of all genes referenced in OMIM  
     
    9191    """ 
    9292    return OMIM.get_instance().gene_diseases() 
     93 
  • _bioinformatics/obiOMIM.py

    r1797 r1799  
    88 
    99class disease(object): 
    10         """ A class representing a disease in the OMIM database 
    11         """ 
    12         regex = re.compile(r'(?P<name>.*?),? (?P<id>[0-9]{3,6} )?(?P<m1>\([123?]\) )?(?P<m2>\([123?]\) )? *$') 
    13         __slots__ = ["name", "id", "mapping"] 
    14         def __init__(self, morbidmap_line): 
    15             string = morbidmap_line.split("|", 1)[0] 
    16             match = self.regex.match(string) 
    17     #        print string 
    18     #        print match.groups() 
    19             self.name, self.id, self.mapping = [s.strip() if s else s for s in match.groups()[:3]] 
    20             if match.group("m2"): 
    21                 self.mapping += " " + match.group("m2").strip() 
    22                                                                                      
     10    """ A class representing a disease in the OMIM database 
     11    """ 
     12    regex = re.compile(r'(?P<name>.*?),? (?P<id>[0-9]{3,6} )?(?P<m1>\([123?]\) )?(?P<m2>\([123?]\) )? *$') 
     13    __slots__ = ["name", "id", "mapping"] 
     14    def __init__(self, morbidmap_line): 
     15        string = morbidmap_line.split("|", 1)[0] 
     16        match = self.regex.match(string) 
     17#        print string 
     18#        print match.groups() 
     19        self.name, self.id, self.mapping = [s.strip() if s else s for s in match.groups()[:3]] 
     20        if match.group("m2"): 
     21            self.mapping += " " + match.group("m2").strip() 
     22                                                                                 
    2323class OMIM(object): 
    2424    VERSION = 1 
     
    3333 
    3434        self.load(filename) 
    35                                                                                                                                                                                      
     35     
    3636    @classmethod 
    3737    def download_from_NCBI(cls, file=None): 
     
    4141        shutil.copyfileobj(stream, file, length=10) 
    4242        file.close() 
    43                                                                                                                                                                                                                                                          
     43 
    4444    @classmethod 
    4545    def get_instance(cls): 
     
    5050        instance.__dict__ = cls._shared_dict 
    5151        return instance  
    52                                                                                                                                                                                                                                                                                                                                      
     52     
    5353    def load(self, filename): 
    5454        file = open(filename, "rb") 
    5555        lines = file.read().splitlines() 
    5656        self._disease_dict = dict([(disease(line), line) for line in lines if line]) 
    57                                                                                                                                                                                                                                                                                                                                                                      
     57     
    5858    def diseases(self): 
    5959        return self._disease_dict.keys() 
    60                                                                                                                                                                                                                                                                                                                                                                                      
     60     
    6161    def genes(self): 
    6262        return sorted(set(reduce(list.__add__, [self.disease_genes(disease) for disease in self.diseases()], []))) 
    63                                                                                                                                                                                                                                                                                                                                                                                                  
     63     
    6464    def disease_genes(self, disease): 
    6565        return self._disease_dict[disease].split("|")[1].split(", ") 
    66                                                                                                                                                                                                                                                                                                                                                                                                              
     66     
    6767    def gene_diseases(self): 
    6868        d = defaultdict(set) 
     
    7171                d[gene].add(disease) 
    7272        return d 
    73                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     73 
    7474def diseases(): 
    7575    """ Return all disease objects 
    7676    """ 
    7777    return OMIM.get_instance().diseases() 
    78                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
     78 
    7979def genes(): 
    8080    """ Return a set of all genes referenced in OMIM  
Note: See TracChangeset for help on using the changeset viewer.