首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Biopython翻译()错误

Biopython翻译()错误
EN

Stack Overflow用户
提问于 2015-05-05 13:43:33
回答 1查看 327关注 0票数 0

我有一份文件看起来是这样的:

代码语言:javascript
复制
Type    Variant_class   ACC_NUM dbsnp   genomic_coordinates_hg18    genomic_coordinates_hg19    HGVS_cdna   HGVS_protein    gene    disease sequence_context_hg18   sequence_context_hg19   codon_change    codon_number    intron_number   site    location    location_reference_point    author  journal vol page    year    pmid    entrezid    sift_score  sift_prediction mutpred_score
1   DM  CM920001    rs1800433   null    chr12:9232351:- NM_000014.4 NP_000005.2:p.C972Y A2M Chronicobstructivepulmonarydisease  null    CACAAAATCTTCTCCAGATGCCCTATGGCT[G/A]TGGAGAGCAGAATATGGTCCTCTTTGCTCC   TGT TAT 972 null    null    2   null    Poller  HUMGENET    88  313 1992    1370808 2   0   DAMAGING    0.594315245478036
1   DM  CM004784    rs74315453  null    chr22:43089410:-    NM_017436.4 NP_059132.1:p.M183K A4GALT  Pksynthasedeficiency(pphenotype)    null    TGCTCTCCGACGCCTCCAGGATCGCACTCA[T/A]GTGGAAGTTCGGCGGCATCTACCTGGACAC   ATG AAG 183 null    null    2   null    Steffensen  JBC 275 16723   2000    10747952    53947   0   DAMAGING    0.787878787878788

我想把第13栏和第14栏的信息翻译成相应的氨基酸。下面是我生成的脚本:

代码语言:javascript
复制
from Bio.Seq import Seq
from Bio.Alphabet import generic_dna

InFile = open("disease_mut_splitfinal.txt", 'rU')

InFile.readline()
OriginalSeq_list = []
MutSeq_list = []

import csv
with open("disease_mut_splitfinal.txt") as f:
    reader = csv.DictReader(f, delimiter= "\t")
    for row in reader: 
        OriginalSeq = row['codon_change']
        MutSeq = row['codon_number']
        region = row["genomic_coordinates_hg19"]
        gene = row["gene"]
        OriginalSeq_list.append(OriginalSeq)
        MutSeq_list.append(MutSeq)

OutputFileName = "Translated.txt"
OutputFile = open(OutputFileName, 'w')
OutputFile.write(''+region+'\t'+gene+'\n')


for i in range(0, len(OriginalSeq_list)):
    OrigSeq = OriginalSeq_list[i]
    MutSEQ = MutSeq_list[i]
    print OrigSeq
    translated_original = OrigSeq.translate()
    translated_mut= MutSEQ.translate()

    OutputFile.write("\n" + OriginalSeq_list[i]+ "\t" + str(translated_original) + "\t" +MutSeq_list[i] + "\t" + str(translated_mut)+ "\n")

但是,我一直收到这样的错误:

代码语言:javascript
复制
TypeError: translate expected at least 1 arguments, got 0

我对自己做错了什么感到不知所措。有什么建议吗?

splitfinal.txt?dl=0

(即使您没有dropbox,文件仍然可以下载)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-05 13:53:38

您使用的是string方法" translate“,而不是biopython对象方法翻译,这正是我假设您想要做的。您需要将字符串转换为seq对象,然后进行转换。试一试

代码语言:javascript
复制
from Bio import Seq    
OrigSeq = Seq.Seq(OriginalSeq_list[i])
translated_original = OrigSeq.translate()

另一个选择

代码语言:javascript
复制
from Bio.Seq import Seq
OrigSeq = Seq(OriginalSeq_list[i])
translated_original = OrigSeq.translate()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30054745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档