python - 用于计算 DNA 序列中 GC 含量的初级 Python 脚本

标签 python function rosalind

我正在尝试计算 Rosalind 问题的 DNA 序列的 GC 含量(以 % 为单位)。我有以下代码,但它返回 0,或者仅返回 G 或 C 的数量(无百分比)。

x = raw_input("Sequence?:").upper()
total = len(x)
c = x.count("C")
g = x.count("G")

gc_total = g+c

gc_content = gc_total/total

print gc_content

我也试过这个,只是为了得到 G 和 C 的计数,而不是百分比,但它只返回整个字符串的计数:

x = raw_input("Sequence?:").upper()
def gc(n):
    count = 0
    for i in n:
        if i == "C" or "G":
            count = count + 1
        else:
            count = count
    return count
gc(x)

编辑:我修复了第一个代码示例中 print 语句中的拼写错误。那不是问题,我只是粘贴了错误的代码片段(尝试了很多次...)

最佳答案

您的问题是您执行的是整数除法,而不是 float 除法。

尝试

gc_content = gc_total / float(total)

关于python - 用于计算 DNA 序列中 GC 含量的初级 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16908475/

相关文章:

python - 使用 pandas df.query() 过滤分类(间隔)列

function - 在 Fortran90 的同一模块中调用函数

python - 罗莎琳德溶液固定: shared motifs

c - 理解递归函数调用

Javascript 对 Python 中的相同算法给出了不同的答案

算法/概率练习

python - Python 中的凯撒密码函数

python - 创建一个小部件嵌入到 QMainWindow 中

java - 在 Java 中使用 SWIG 类型映射

javascript - 如何调用异步函数以在全局范围内使用 return