我正在研究一个分析蛋白质氨基酸含量的程序(特别是在G/L含量非常丰富的地区)。你知道吗
我将不同长度的序列分成20aa的“块”,使用:
seq = 'MVFRSPLDLYSSHFLLPNFADSHHCSLLLASSGGGSGASGGGGGAGGGGGGNRAGGGGAGGAGGGSGGGGSRAPPEELSMFQLPTLNFSPEQVASVCETLEETGDIERLGRFLWSLPVAPGACEAINKHESILRARAVVAFHTGNFRDLYHILENHKFTKESHGKLQAMWLEAHYQEAEKLRGRPLGPVDKYRVRKKFPLPRTIWDGEQKTHCFKERTRSLLREWYLQDPYPNPSKKRELAQATGLTPTQVGNWFKNRRQRDRAAAAKNRLQHQAIGPSGMRSLAEPGCPTHGSAESPSTAASPTTSVSSLTERADTGTSILSVTSSDSECDV'
w = 20 #chunk size
interval = 20
for i in range(0,len(seq)-w,interval):
chunk = seq[i:i+w]
chunk2 = list(chunk)
但是,如果序列不是20的倍数,则该序列的结尾将被截断,如在本例中len(seq)=333
这给了我1-320块,但321-333被忽略。我怎样才能把这些“剩饭剩饭”列在一张单子上?你知道吗
如果从
range
调用中取出-w
,则可以使现有代码正常工作。切掉序列的结尾是完全合法的,它只会返回比您要求的更短的结果。你知道吗如果您想用一个伪值来填充序列最后一部分的缺失部分(而不是刚刚缺失的最后一部分),可以使用the ^{} documentation 中的
grouper
配方:相关问题 更多 >
编程相关推荐