# This is a sample Python script.
# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
# !/usr/bin/python3
import sys
def translate_seq(seq):
intab = "ATCGatcg"
outtab = "TAGCtagc"
trantab = str.maketrans(intab, outtab)
trans_seq = seq.translate(trantab)
return trans_seq
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
seq = "atcgggaacctat"
trans_seq = translate_seq(seq)
print("seq:\t\t\t", seq)
print("trans_seq:\t\t", trans_seq)
#reverse_seq method 1
reverse_seq = trans_seq[::-1]
print("reverse_seq:\t",reverse_seq)
print("trans_seq:\t\t",trans_seq) #原序列没变化
#reverse_seq method 2
seq_list = list(trans_seq)
print("seq_list:",seq_list)
seq_list.reverse() #注意:reverse()函数没有返回值,是针对自身list进行的操作
print("reversed list:",seq_list) #此处打印出的为列表,不是序列,需要转化为序列
reverse_seq2=''.join(seq_list) #使用字符串的join()函数,连接list中的字符
print("reverse_seq2:",reverse_seq2)
###############
dict_seq = {'A':'T', 'T':'A', 'C':'G', 'G':'C'}
ss=""
for index, str in enumerate(seq.upper()): #enumerate为Python内置函数,用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
print(index,str)
ss += dict_seq[str]
print("ss:",ss)
for str in seq.upper():
print("str:",str)
ss += dict_seq[str]
print("ss-2:",ss)
for str in iter(seq.upper()): #iter()为Python内置函数,用来生成迭代器
print("str:", str)
ss += dict_seq[str]
print("ss-3:", ss)
##############
seq=seq.upper() #注意此处转化为大写的必要性,后面replace()函数替换是区分大小写的
seq=seq.replace("A","t")
print("seq0:",seq)
seq=seq.replace("T","a")
print("seq1:", seq)
seq=seq.replace("C","g")
seq=seq.replace("G","c")
print("seq3:", seq)
seq=seq[::-1]
print("seq: ",seq)
###############
使用Python程序反向互补序列
最新推荐文章于 2023-06-04 16:43:44 发布