출처: 파이썬마을
파이썬에 이런 모듈이..
참.. 대단한듯...
-파이썬에 감탄하면 지는거다..
난 자바를 공부하고 있어야돼... ㅠ.ㅠ
쉽게말해 대용량 사전
-사전이라는 자료형 은근히 편했는데..
실제 사용 예로 EMBL CDS fasta파일을 읽어서 E. coli에서 나온 것만 골라서
뽑아주는 소스는 이렇게 만들 수 있습니다.
from Bio import SeqIO
import shelve
seqs = SeqIO.parse(open('/data/embl/cds_nr.fasta'), format='fasta')
db = shelve.open('ecoli.db')
for rec in seqs:
if ('Escherichia coli' in rec.description and
'hypothetical' not in rec.description):
name = rec.description.split()[0].split(':')[1]
seq = rec.seq.tostring()
db[name] = seq
import shelve
seqs = SeqIO.parse(open('/data/embl/cds_nr.fasta'), format='fasta')
db = shelve.open('ecoli.db')
for rec in seqs:
if ('Escherichia coli' in rec.description and
'hypothetical' not in rec.description):
name = rec.description.split()[0].split(':')[1]
seq = rec.seq.tostring()
db[name] = seq
나중에 EMBL ID로 검색할 때는 다음과 같이 open만 하면 검색할 수 있습니다.
import shelve
db = shelve.open('ecoli.db')
genes = ['100746833', '1008171518']
for gene in genes:
print db[gene]
db = shelve.open('ecoli.db')
genes = ['100746833', '1008171518']
for gene in genes:
print db[gene]
32G가 30여분 소요 됐다니.. 난 4.1G(nr, 한국시간 2009.3.5에 다운로드) 밖에 안돼네.. ㅋㅋ
5분이면 끝나야 하는거 아니야..;;
왜 안끝나..;;