有没有办法select某个字母在Python?
Is there a way to select a certain letter in Python?
dna="AAGAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTCTTAGCGGGGCCACATCGGCCACCGCTGCCCTGCCCCTGGAGGGTGGCCCCACCGGCCGTTACAGCGAGCATAC"
所以基本上我试图 select 仅 dna
变量中的字母“C”,并简单地用字母“G”替换它。
有没有 way/function 我可以用这个?如果回答,将不胜感激!
您可以使用 .replace()
:
dna=("AAGAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTCT"
"TAGCGGGGCCACATCGGCCACCGCTGCCCTGCCCCTGGAGGGTGGCCCCACCGGCCGTTACAGCGAGCATAC")
print(dna.replace("C", "G"))
如果您想用 Gs 替换 Cs,请使用:
dna.replace('C', 'G')
对于一般替换,您可以使用 str.replace(target, replacement)
但是问题上下文中的问题是,如果您将所有 C 替换为 G,您不知道要替换的 G 原本是什么到 C 以获得赞美。
最好将字符串转换为列表,然后用 case 块或 if/else 块逐一替换值:
def dna_compliment(strand):
listStrand = list(strand)
for i in range(len(listStrand)):
if listStrand[i] == 'C':
listStrand[i] = 'G'
elif ...
...
return ''.join(listStrand)
因为你需要:
C <-> G 和 A <-> T
含义 C -> G 和 G -> C,等等
例子
dna = "CGATCCGG" # dna sequence
# Create translation table
x = "CGAT" # original letters
y = "GCTA" # letters to map too
mytable = str.maketrans(x, y) # Create translation table
# dna.maketrans(x, y) also works
# Apply table to dna string
translated = dna.translate(mytable)
# Show Original vs. translated
print(f"Original:\t{dna}\nTranslate:\t{translated}")
# Output:
Original: CGATCCGG
Translate: GCTAGGCC
dna="AAGAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTCTTAGCGGGGCCACATCGGCCACCGCTGCCCTGCCCCTGGAGGGTGGCCCCACCGGCCGTTACAGCGAGCATAC"
所以基本上我试图 select 仅 dna
变量中的字母“C”,并简单地用字母“G”替换它。
有没有 way/function 我可以用这个?如果回答,将不胜感激!
您可以使用 .replace()
:
dna=("AAGAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTCT"
"TAGCGGGGCCACATCGGCCACCGCTGCCCTGCCCCTGGAGGGTGGCCCCACCGGCCGTTACAGCGAGCATAC")
print(dna.replace("C", "G"))
如果您想用 Gs 替换 Cs,请使用:
dna.replace('C', 'G')
对于一般替换,您可以使用 str.replace(target, replacement)
但是问题上下文中的问题是,如果您将所有 C 替换为 G,您不知道要替换的 G 原本是什么到 C 以获得赞美。
最好将字符串转换为列表,然后用 case 块或 if/else 块逐一替换值:
def dna_compliment(strand):
listStrand = list(strand)
for i in range(len(listStrand)):
if listStrand[i] == 'C':
listStrand[i] = 'G'
elif ...
...
return ''.join(listStrand)
因为你需要: C <-> G 和 A <-> T
含义 C -> G 和 G -> C,等等
例子
dna = "CGATCCGG" # dna sequence
# Create translation table
x = "CGAT" # original letters
y = "GCTA" # letters to map too
mytable = str.maketrans(x, y) # Create translation table
# dna.maketrans(x, y) also works
# Apply table to dna string
translated = dna.translate(mytable)
# Show Original vs. translated
print(f"Original:\t{dna}\nTranslate:\t{translated}")
# Output:
Original: CGATCCGG
Translate: GCTAGGCC