파이썬 코드
def findReadingFrame(seq,num):
i=0
while i+2<len(seq):
if seq[i:i+3]=='ATG':
j=i+3
while j+2<len(seq):
if seq[j:j+3] in ['TGA', 'TAA', 'TAG']:
num=num+1
print(">ORF"+str(num))
print(seq[i:j+3])
j=j+3
i=i+3
return num
def getReverseComplement(seq):
complement = {'A': 'T', 'C': 'G', 'G': 'C', 'T': 'A'}
bases = list(seq)
bases = reversed([complement.get(base,base) for base in bases])
bases = ''.join(bases)
return bases
def findORF(seq):
num=0
seqRC=getReverseComplement(seq)
for i in [0,1,2]:
num=findReadingFrame(seq[i:],num)
num=findReadingFrame(seqRC[i:],num)
Example
728x90
반응형
'Bioinformatics > Transcriptomics' 카테고리의 다른 글
KEGG 데이터베이스에서 유전자 검색 | KEGG 데이터베이스 구조 (0) | 2021.08.17 |
---|---|
특정 유전자 리스트와 관련 있는 pathway 검색 방법 (KEGG Mapper) (0) | 2021.07.05 |
Gene Expression Quantification | RPM, RPKM, FPKM, TPM 공식 | 파이썬 코드 (0) | 2021.06.14 |
[Prodigal] 원핵생물의 유전자 예측 프로그램 (Prokaryotic Gene prediction) (16) | 2021.05.07 |