Changeset 1734:91d14dd2cf0e in orange-bioinformatics for _bioinformatics/obiKEGG/brite.py


Ignore:
Timestamp:
03/05/13 19:48:26 (14 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

obiKEGG code style fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _bioinformatics/obiKEGG/brite.py

    r1716 r1734  
    11""" 
    2 KEGG brite 
     2KEGG Brite 
    33 
    44""" 
     
    1212 
    1313from . import conf 
     14 
     15 
    1416class BriteEntry(object): 
    15     _search_re = {"ids": re.compile('(?P<ids>\[.*:.*\])'), 
    16                   "title": re.compile(r'(<[Bb]>)?(?P<title>\b[a-zA-Z0-9_/\s,;:.+=\-\[\]{}\(\)]+?)(?(1)</[Bb]>)$'), 
    17                   "links": re.compile('(?P<links><a href=".+?">.*?</a>)')} 
     17    _search_re = { 
     18        "ids": re.compile('(?P<ids>\[.*:.*\])'), 
     19        "title": re.compile(r'(<[Bb]>)?(?P<title>\b[a-zA-Z0-9_/\s,;:.+=\-\[\]{}\(\)]+?)(?(1)</[Bb]>)$'), 
     20        "links": re.compile('(?P<links><a href=".+?">.*?</a>)') 
     21    } 
     22 
    1823    def __init__(self, line): 
    1924        self.entries = [] 
     
    2833    entrys = deprecated_attribute("entrys", "entries") 
    2934 
     35 
    3036class Brite(BriteEntry): 
    3137    VERSION = "v1.0" 
    3238    BRITE_URL_FORMAT = "http://www.genome.jp/kegg-bin/download_htext?htext={brite_id}.keg&format=htext&filedir=" 
    33      
     39 
    3440    def __init__(self, brite_id, local_cache=None): 
    3541        super(Brite, self).__init__("") 
     
    3844            local_cache = conf.params["cache.path"] 
    3945        self.local_cache = local_cache 
    40          
     46 
    4147        self.load(brite_id) 
    42      
     48 
    4349    def _get_brite(self, brite_id): 
    4450        url = self.BRITE_URL_FORMAT.format(brite_id=brite_id) 
     
    4854            with open(local_filename, "wb") as f: 
    4955                f.write(brite) 
    50                  
     56 
    5157        return open(local_filename, "rb") 
    52          
     58 
    5359    def load(self, brite_id): 
    5460        lines = self._get_brite(brite_id).read().split("\n!\n")[1].splitlines() 
    55          
     61 
    5662        # TODO: Implement a proper parser 
    57          
     63 
    5864        def collect(lines, depth, collection): 
    5965            while lines: 
     
    6268                    lines.pop(0) 
    6369                elif line.startswith(depth) and len(line.strip()) > 1: 
    64                     collection.append(BriteEntry(lines.pop(0)))  
     70                    collection.append(BriteEntry(lines.pop(0))) 
    6571                elif line[0] > depth: 
    6672                    collect(lines, line[0], collection[-1].entries) 
     
    6975                else: 
    7076                    lines.pop(0) 
    71                          
    72         collect([line for line in lines if not line.startswith("#") and len(line) > 1], "A", self.entries) 
     77 
     78        collect([line for line in lines 
     79                 if not line.startswith("#") and len(line) > 1], "A", 
     80                self.entries) 
Note: See TracChangeset for help on using the changeset viewer.