首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算具有固定gc含量的随机RNA序列的平均转录长度

计算具有固定gc含量的随机RNA序列的平均转录长度
EN

Stack Overflow用户
提问于 2017-11-06 22:03:21
回答 1查看 239关注 0票数 0

尝试计算具有固定gc含量( 10%,20%,30%,…)的随机RNA序列的平均转录长度。,90%)

代码语言:javascript
复制
def bias_rna(gc_content):
    rna = 'AUG'
    stop_codon = ['UAG','UAA','UGA']
    while rna[-3:] not in stop_codon:
        for _ in range(3):
            rna += random.choice(('A'+'U')*(100-(gc_content))+('C'+'G')*(gc_content))
    return rna


for numb in [range(10,91,10)]:
    rna2_list = []
    for _ in range(1001):
        rna2_list.append(bias_rna(numb))
    rna2_len = []
    for s in rna2_list:
        rna2_len.append(len(s))
    print ('Average random rna length with  cg: %.2f' % (sum(rna_len)/(len(rna_len))))

然而,程序不起作用..。建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-06 22:06:54

我做了一些小小的修改,虽然我对DNA一无所知,但它似乎奏效了:

代码语言:javascript
复制
import random

def bias_rna(gc_content):
    rna = 'AUG'
    stop_codon = ['UAG','UAA','UGA']
    while rna[-3:] not in stop_codon:
        for _ in range(3):
            rna += random.choice(('A'+'U')*(100-(gc_content))+('C'+'G')*(gc_content))
    return rna


for numb in range(10,91,10):
    rna2_list = []
    for _ in range(1001):
        rna2_list.append(bias_rna(numb))
    rna2_len = []
    for s in rna2_list:
        rna2_len.append(len(s))
    print ('Average random rna length with  cg: %.2f' % (sum(rna2_len)/(len(rna2_len))))

基本上,你需要

  • 导入random
  • 删除range(10,91,10)周围的括号(这导致您循环遍历包含单个range对象的列表,而不是范围本身的内容)
  • 将最后一行中的变量rna_len重命名为rna2_len

在行动中看到它这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47146595

复制
相关文章

相似问题

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