8. Mouse 에서의 유전 정보: MGI - Mouse Genome Informatics
9. Yeast 에서의 유전 정보: SGD - Saccharomyces Genome Database
10.
위는 각각의 site에서 관련 정보를 전부 download 받을 수 있고, chembl의 경우 mysql dump 를 제공해 준다. 7번의 GeneCards 의 경우 http://www.genecards.org/cgi-bin/listdiseasecards.pl?type=full 에 있다. OMIM 보다 이 list 가 좀 더 좋은 것 같다. 8, 9의 경우, human ortholog를 이용해서 유전자 정보를 사용할 수 있다. 즉, yeast 에서 synthetic lethal 인 두개의 유전자에 대한 human ortholog가 내가 갖고 있는 유전자 집합에 있는지 없는지, 하는 것 등. 또한 이 때, human ortholog 를 얻기 위해서는 KEGG의 SOAP으로 제공해 주는 service 를 이용할 수 있다. 간단한 python script 는 다음과 같다.
#! /usr/bin/pythonimport re;
import sys;
from SOAPpy import WSDL;
deffind_ko(str):
L = str.split('\n');
ko = '';
for line in L:
if line[0:9] == 'ORTHOLOGY':
v = line.split(' ');
for e in v[1:]:
if e != '':
ko = e;
break;
break;
return ko;
deffind_human_gene(str):
human_gene = '';
L = str.split('\n');
gene_start = False;
for line in L:
if line[0:5] == 'GENES':
gene_start = True;
if line.find('REFERENCE') == 0:
gene_start = False;
break;
if gene_start == True:
m = re.search('HSA:(.*?)\(', line);
if m:
human_gene = m.group(1).strip();
break;
return human_gene;
deffind_hprd(str):
hprd = '';
L = str.split('\n');
for line in L:
m = re.search('HPRD:(.*?)$', line);
if m:
hprd = m.group(1).strip();
break;
return hprd;
defmain():
wsdl = 'http://soap.genome.jp/KEGG.wsdl';
serv = WSDL.Proxy(wsdl);
f = open('YeastGene.txt');
print'YeastGeneKEGG\tKO\tHumanGeneKEGG\tHPRD';
for line in f:
if line.strip() == ''or line[0] == '#': continue;
gene = line.strip();
r = serv.bget('sce:'+gene);
if r.strip() == '': continue;
ko = find_ko(r);
if ko == '': continue;
r = serv.bget('ko:'+ko);
if r.strip() == '': continue;
hsa_gene = find_human_gene(r);
if hsa_gene == '': continue;
r = serv.bget('hsa:'+hsa_gene);
if r.strip() == '': continue;
hprd = find_hprd(r);
if hprd == '': continue;
print gene + '\t' + ko + '\t' + hsa_gene + '\t' + str(hprd);
if __name__ == '__main__':
main();