2012-03-12 43 views
0

我想要做的是在基因組文件中將所有非推定的GenBank記錄序列製成小寫字母。如何修改GenBank記錄的序列?

到目前爲止,我設法獲得gbk中蛋白質的開始和結束位置。 從那裏我做到以下幾點:

start = feature.location.nofuzzy_start 
end = feature.location.nofuzzy_end 
gb_record.seq[start:end] 

現在我已經在基因組序列的開始和結束位置。但是,我如何修改基因組文件? gb_record.seq[start:end].lower()或類似的東西沒有伎倆。

當我指定gb_record.seq = gb_record.seq[start:end].lower時,我更換基因組文件時顯然出錯。有任何想法嗎?

+1

解決方案: 找到了解決辦法,但不是一個真正的biopython解決方案。 首先將genome.seq文件放入基因組字符串文件中。 基因組= STR(gb_record.seq) 然後同時通過gb_record.featers去 開始= feature.location.nofuzzy_start 端= feature.location.nofuzzy_end 上部=基因組中[開始:結束] 低級=基因組[開始:結束] .lower() genome = genome.replace(upper,lower).......對不起格式化,但我不能給自己解決方案(不允許) – Jasper 2012-03-12 10:07:52

回答

1

Bio.Seq.Seq對象有一個lower()方法,可以做你想要的。

工作了你的代碼,你會得到:

seq_lower = gb_record.seq.lower() 

然後,您應該能夠使用SeqIO模塊寫出來的小寫字母序列文件。

from Bio import SeqIO 

with open("example.fasta", 'w') as handle: 
    SeqIO.write(lower_records, handle, 'fasta') 
相關問題