몇몇 포유류의 [Mitochondria] [DNA]들을 MultipleAlignment해서, 종 특이 영역 priming할 수 있는 PrimerDesign을 하려고 한다.
종 |
영문 |
학명(속,종) |
RefSeq id |
닭 |
chicken |
Callus gallus |
|
소 |
cow |
Bos taurus |
|
돼지 |
pig |
Sus scrofa |
|
말 |
horse |
Equus caballus |
|
염소 |
goat |
Capra hircus |
|
양 |
sheep |
Ovis aries |
|
개 |
dog |
Canis familiaris |
|
사슴 |
deer |
Muntiacus muntjak |
서열획득스크립트
1 from Bio import GenBank, Fasta
2
3 gis={
4 'chicken' : 'NC_001323',
5 'cow' : 'NC_001567',
6 'pig' : 'NC_000845',
7 'horse' : 'NC_001640',
8 'goat' : 'NC_001640',
9 'sheep' : 'NC_001941',
10 'dog' : 'NC_002008',
11 'deer' : 'NC_004563',
12 }
13
14 fpser = GenBank.FeatureParser()
15 ncbi = GenBank.NCBIDictionary('nucleotide','genbank',parser=fpser)
16
17 def fullGenome(anOutFileName):
18 resultFile = open(anOutFileName,'w')
19 for species in gis:
20 genome = ncbi[gis[species]]
21 fasta = Fasta.Record()
22 fasta.title = ' '.join([species, genome.name, genome.description])
23 fasta.sequence = genome.seq.tostring()
24 resultFile.write(str(fasta)+'\n')
25
26 def rDNA16S(anOutFileName):
27 resultFile = open(anOutFileName,'w')
28 for species in gis:
29 genome = ncbi[gis[species]]
30 for feature in genome.features:
31 product= feature.qualifiers.get('product')
32 if product and product[0].find('16S')>=0:
33 fasta = Fasta.Record()
34 fasta.title = ' '.join([species, genome.name, product[0]])
35 start = feature.location.start.position
36 end = feature.location.end.position
37 fasta.sequence = genome.seq[start:end].tostring()
38 resultFile.write(str(fasta)+'\n')
39 continue
40
41 if __name__=='__main__':
42 #fullGenome('mtdna.fasta')
43 rDNA16S('mtdna_16s.fasta')
44
얻어진 서열을 [ClustalW]로 MultipleAlignment하면 MT DNA는 많은 부분 보존되어 있슴을 알 수 있다. 여기서 한가지 궁금증. Circular DNA의 경우, MultipleAlignment을 제대로 하려면, 금고다이얼처럼 맞춰야 할텐데, 그런 옵션이 없다. 구글검색해봐도, 언급이 없다. AnswerMe! 어쩌면 논문등의 NewIdea로 써먹을수도 있을듯.
Species specific [PrimerDesign]은 [Amplicon]을 이용해서 해결
전체 [Genome]을 이용할 경우, 서열이 너무 커서, 프로그램이 동작하지 않는다. 임시로 16S [RNA]영역만을 추출하여 가동. 그럴듯한 결과를 얻을 수 있으나, 다른 영역에서 priming될지도 모른다는 단점을 지닌다.
BioHackersNet