我正在尝试创建一个代码来计算“DNA链”中有多少G和C,并计算该链中G + C的百分比,例如
gcContent('CGGTCCAATAGATTCGAA')
44.4444444444
该字符串中有18个字母,8个G + C在一起。
到目前为止,我一直在苦苦挣扎,甚至在我的代码中计算G的字母,这是我到目前为止所做的:
def gcContent(dnaMolecule):
count = 0
for g in dnaMolecule:
dnaMolecule.count('g')
count += 1
return count
当我在交互式python shell中输入时,结果如下:
In [1]: gcContent('a')
Out[1]: 1.0
到目前为止,它没有计算G的数量,如果我在gcContent
之后在括号内键入1个字符,它就会显示一个。
答案 0 :(得分:2)
您可以使用每个字符串都有的count
方法。
def gcContent(dnaMolecule):
dnaMolecule = dnaMolecule.lower()
count = dnaMolecule.count('g') + dnaMolecule.count('c')
return count / len(dnaMolecule)
对于Python 2.x并获得0到100之间的值而不是0 - 1:
def gcContent(dnaMolecule):
dnaMolecule = dnaMolecule.lower()
count = dnaMolecule.count('g') + dnaMolecule.count('c')
return 100.0 * count / len(dnaMolecule)
答案 1 :(得分:0)