def fetchKegg(project, keeptrying=False): from ductape.kegg.kegg import KeggNet, KeggAPI, BaseKegg from ductape.terminal import RunThread # Check if we have to fetch the whole kegg DB fetch = False proj = Project(project) logger.info('Checking connectivity') bk = BaseKegg() try: bk.checkConnection() except Exception, e: logger.error(str(e)) return False
def fetchKegg(project, keeptrying=False): from ductape.kegg.kegg import KeggNet, KeggAPI, BaseKegg from ductape.terminal import RunThread # Check if we have to fetch the whole kegg DB fetch = False proj = Project(project) logger.info('Checking connectivity') bk = BaseKegg() try: bk.checkConnection() except Exception as e: logger.error(str(e)) return False k = KeggAPI() try: k.getDBVersion() release = k.result[1] except Exception as e: logger.warning('Could not fetch the KEGG DB version (%s)'%str(e)) release = None if proj.isKegg(): if release and proj.kegg < release: logger.warning('A new KEGG DB version is available (%s, was %s)'% (str(release), str(proj.kegg))) fetch = True else: fetch = True if fetch: logger.info('Fetching the whole KEGG metabolic map') if release: logger.info('KEGG DB release %s'%str(release)) kegg = Kegg(project) knet = KeggNet(keeptrying=keeptrying) if not RunThread(knet): return False # Details kegg.addPathways(knet.result.path) logger.info('Added %d Path IDs'%len(knet.result.path)) kegg.addReactions(knet.result.react) logger.info('Added %d Re IDs'%len(knet.result.react)) kegg.addCompounds(knet.result.comp) logger.info('Added %d Co IDs'%len(knet.result.comp)) kegg.addRPairs(knet.result.rpair) logger.info('Added %d RPair IDs'%len(knet.result.rpair)) # Links kegg.addPathReacts(knet.result.pathreact) kegg.addReactComps(knet.result.reactcomp) kegg.addCompReacts(knet.result.compreact) kegg.addPathComps(knet.result.pathcomp) kegg.addReactRPairs(knet.result.reactrpair) kegg.addRPairReacts(knet.result.rpairreact) logger.info('Added Kegg links') # HTML maps kegg.addPathHtml(knet.result.pathmaps) logger.info('Added Kegg maps') # Add the release version if release: proj.setKegg(release) else: logger.info('KEGG db is up-to-date') return True
def fetchKegg(project, keeptrying=False): from ductape.kegg.kegg import KeggNet, KeggAPI, BaseKegg from ductape.terminal import RunThread # Check if we have to fetch the whole kegg DB fetch = False proj = Project(project) logger.info('Checking connectivity') bk = BaseKegg() try: bk.checkConnection() except Exception as e: logger.error(str(e)) return False k = KeggAPI() try: k.getDBVersion() release = k.result[1] except Exception as e: logger.warning('Could not fetch the KEGG DB version (%s)' % str(e)) release = None if proj.isKegg(): if release and proj.kegg < release: logger.warning('A new KEGG DB version is available (%s, was %s)' % (str(release), str(proj.kegg))) fetch = True else: fetch = True if fetch: logger.info('Fetching the whole KEGG metabolic map') if release: logger.info('KEGG DB release %s' % str(release)) kegg = Kegg(project) knet = KeggNet(keeptrying=keeptrying) if not RunThread(knet): return False # Details kegg.addPathways(knet.result.path) logger.info('Added %d Path IDs' % len(knet.result.path)) kegg.addReactions(knet.result.react) logger.info('Added %d Re IDs' % len(knet.result.react)) kegg.addCompounds(knet.result.comp) logger.info('Added %d Co IDs' % len(knet.result.comp)) kegg.addRPairs(knet.result.rpair) logger.info('Added %d RPair IDs' % len(knet.result.rpair)) # Links kegg.addPathReacts(knet.result.pathreact) kegg.addReactComps(knet.result.reactcomp) kegg.addCompReacts(knet.result.compreact) kegg.addPathComps(knet.result.pathcomp) kegg.addReactRPairs(knet.result.reactrpair) kegg.addRPairReacts(knet.result.rpairreact) logger.info('Added Kegg links') # HTML maps kegg.addPathHtml(knet.result.pathmaps) logger.info('Added Kegg maps') # Add the release version if release: proj.setKegg(release) else: logger.info('KEGG db is up-to-date') return True