get
如果键不在词典中,则词典的方法允许您指定默认值。作为预处理步骤,我会将所有非“ ATGC”碱基映射为单个字母(或标点符号或数字或序列中不会显示的任何内容),然后反转序列,然后将单个字母替换为原始字母。另外,您可以先将其反转,然后搜索并替换sni
为ins
。
alt_map = {'ins':'0'}
complement = {'A': 'T', 'C': 'G', 'G': 'C', 'T': 'A'}
def reverse_complement(seq):
for k,v in alt_map.iteritems():
seq = seq.replace(k,v)
bases = list(seq)
bases = reversed([complement.get(base,base) for base in bases])
bases = ''.join(bases)
for k,v in alt_map.iteritems():
bases = bases.replace(v,k)
return bases
>>> seq = "TCGGinsGCCC"
>>> print "Reverse Complement:"
>>> print(reverse_complement(seq))
GGGCinsCCGA