如何使用Python上的字典更改文件中的值

2024-09-30 22:17:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在攻读生物学学位,感觉自己被投入了python的深渊,因为我以前从未编写过代码,“教学”几乎不存在。不管怎样,他们给出了这个基因序列的文件,它看起来很像:

En123, ATGCCGAATA

En124, ATGCCAGTAT

但时间长了,基因多了。他们想把它转换成蛋白质序列。 到目前为止,我已经。。。你知道吗

with open('DNA_sequences.csv', 'r') as f:

for line in f:
    columns = line.rstrip("\n").split(",") #remove end of line charcters and split at commas to produce a list
    ensemblID = columns[0] #ensemblID is first element in our list
    gene_sequence = columns [1] #gene_name is second element in list

不知道我是否需要这些专栏。你知道吗

我还为蛋白质序列编了一本字典,里面有氨基酸和相应的密码子。你知道吗

protein_sequence= {'TTT': 'F', 'CTT': 'L', 'GAT':'D'} etc.

所以我想知道如何将文件中的基因序列拆分成密码子,然后通过字典传递,从而得到氨基酸名称的序列。你知道吗

i.e. gene_sequence= TTTCTTTGAT to protein_sequence= FLD

(很抱歉这么无能!)你知道吗


Tags: columns文件toinisline基因序列
2条回答

因此,要加载csv,我会使用如下csv模块:

import csv

with open(filepath) as csvFile:
    reader = csv.reader(csvFile)
    data = [row for row in reader]

然后转换基因序列:

geneSeq = "TTTCTTTGAT"

acids = [geneSeq[i:i+3] for i in range(0, len(geneSeq), 3)]

proteinSequenceString = ""
for a in acids:
    proteinSequenceString += protein_sequence[a]

您可以按3的块遍历gene_sequence,并在字典中查找密码:

>>> gene_sequence = 'TTTCTTGAT'
>>> protein_sequence = {'TTT': 'F', 'CTT': 'L', 'GAT': 'D'}
>>> ''.join(protein_sequence[gene_sequence[i:i+3]] for i in range(0, len(gene_sequence), 3))
'FLD'

相关问题 更多 >