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()
这样的东西,这样你就不必硬编码小写和大写字母了。
我正在学习 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()
这样的东西,这样你就不必硬编码小写和大写字母了。