python 和用户定义的函数

python and user defined functions

我正在学习 python 编码并使用函数计算具有未定义字符 N 或 n (NAAATTTGGGCCCN) 的 DNA 序列中的 gc 百分比,这产生了以下问题。有办法克服这个问题吗?

def gc(sequence) :
    "This function computes the GC percentage of a dna sequence"
    nbases=sequence.count('n')+sequence.count('N')
    gc_count=sequence.count('c')+sequence.count('C')+sequence.count('g')+sequence.count('G')      #total gc count
    gc_percent=float(gc_count)/(len(sequence-nbases))     # TOTAL GC COUNT DIVIDED BY TOTAL LEN OF THE sequence-TOTAL NO. OF N
    return 100 * gc_percent

正如@jasonharper 在评论中所说,您需要关闭 len() 功能。所以将 len(sequence-nbases) 更改为 len(sequence)-nbases.

len(sequence)-nbases
def GC_content(dnaseq):
    percent = round(((dnaseq.count("C") + dnaseq.count("G")) / len(dnaseq)) * 100, 3)
    print(f'GC content: {percent} %')

这是我为同一件事准备的代码。但是为了程序的一致性,我将我的四舍五入到小数点后三位。我只想放一些像 sequence.upper() 这样的东西,这样你就不必硬编码小写和大写字母了。