首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python转录的DNA序列列表中的Begginer

Python转录的DNA序列列表中的Begginer
EN

Stack Overflow用户
提问于 2021-03-27 05:17:23
回答 4查看 425关注 0票数 1

我对Python非常陌生,我正在尝试获取DNA序列的RNA转录。虽然我能够为一个DNA序列做这件事,但我正试图找到一种方法来做一个DNA序列列表。我希望你能给我一些指导。

代码语言:javascript
复制
# Given this DNA sequence, get the RNA sequence:
dna = 'ACCTGACT'

# Defining the RNA transcription formula
def to_rna(dna_strand):
    mapping = {'G':'C', 'C':'G', 'T':'A', 'A':'U'}
    rna_strand = ''
    for char in dna_strand:
        rna_strand += mapping[char]
    return rna_strand

输出:

代码语言:javascript
复制
RNA transcript= UGGACUGA

我一直想做的是,从DNA序列列表中得到一个RNA转录的列表。我已经尝试过修改上面的代码,但是我无法实现任何解决方案。我想知道你能不能帮我解决这个问题。

投入将是:

代码语言:javascript
复制
dna1= ['ACCTGACT','AATTGTCT']

预期成果:

代码语言:javascript
复制
rna1 = ['UGGACUGA','UUAACAGA'] 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-03-27 05:19:09

您可以使用List Comprehension

代码语言:javascript
复制
In [623]: def to_rna(dna_strand):
     ...:     mapping = {'G':'C', 'C':'G', 'T':'A', 'A':'U'}
     ...:     rna_strand = ''
     ...:     for char in dna_strand:
     ...:         rna_strand += mapping[char]
     ...:     return rna_strand
     ...: 

In [626]: rna1 = [to_rna(i) for i in dna1]

In [627]: rna1
Out[627]: ['UGGACUGA', 'UUAACAGA']

上面的内容相当于一个for循环:

代码语言:javascript
复制
In [630]: rna1 = []

In [631]: for i in dna1:
     ...:     rna1.append(to_rna(i))
     ...: 

In [632]: rna1
Out[632]: ['UGGACUGA', 'UUAACAGA']
票数 2
EN

Stack Overflow用户

发布于 2021-03-27 06:08:09

代码语言:javascript
复制
 mapping = {'G':'C', 'C':'G', 'T':'A', 'A':'U'}
 dna1= ['ACCTGACT','AATTGTCT']

rna_word_list = [
    "".join((mapping[dna_char] for dna_char in dna_word))
    for dna_word in dna1
]

print(rna_word_list)
代码语言:javascript
复制
['UGGACUGA', 'UUAACAGA']
票数 2
EN

Stack Overflow用户

发布于 2021-03-27 07:01:18

这是映射函数的一个主要例子。,map‘接受函数f和列表l,并将f应用于l的每个元素。

代码语言:javascript
复制
dnas = ['ACCTGACT' , 'ATTA']

mapping = {'G':'C', 'C':'G', 'T':'A', 'A':'U'}

def to_rna(dna):
        return ''.join(map(lambda x: mapping[x], dna))
        
rnas = list(map(to_rna, dnas))
print(rnas)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66828236

复制
相关文章

相似问题

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