이 모듈은 WebProgramming의 형태로 NCBI및 각종 기관에서 제공하는 서비스를 용이하게 써먹기 위한 모듈이다.
Contents
NCBI
다음의 함수들을 사용할 수 있다.
- query : Query Entrez.
- pmfetch : Retrieve results using a unique identifier.
pmqty : Search PubMed.
pmneighbor : Return a list of related articles for a PubMed entry.
직접 검색 query한 후 바로 FastaFormat형태의 결과를 얻을 수가 없는데 아래의 방법으로 해결할 수 있다.
<pre>테그만 파싱
1 from Bio.WWW import NCBI
2 from HTMLParser import HTMLParser
3
4 class PreTagParser(HTMLParser):
5 def __init__(self):
6 HTMLParser.__init__(self)
7 self.fasta = ''
8 def handle_data(self, data):
9 if data[0] != '>': return
10 self.fasta += data
11
12 def queryToNcbi():
13 queryResult=NCBI.query('Search', 'Nucleotide',
14 term='Cypripedioideae', doptcmdl='FASTA')
15 return queryResult
16
17 parser = PreTagParser()
18 parser.feed(queryToNcbi().read())
19 a = parser.fasta
20 parser.close()
21 print a
pmqty후 pmfetch하기
1 from Bio.WWW import NCBI
2
3 def searchId():
4 queryResult=NCBI.pmqty('Nucleotide', 'Cypripedioideae', mode='txt')
5 return queryResult
6
7 def getFasta(aId):
8 fetchResult=NCBI.pmfetch('Nucleotide', aId, report='fasta')
9 return fetchResult
10
11 def queryToNcbi():
12 result=''
13 idList = searchId().read().split()
14 for id in idList:
15 result += getFasta(id).read()
16 return result
17
18 if __name__=='__main__':
19 print queryToNcbi()