字符长度
def get_length(dna):
""" (str) -> int
Return the length of the DNA sequence dna.
>>> get_length('ATCGAT')
6
>>> get_length('ATCG')
4
"""
return len(dna)
字符长度比较返回逻辑值
def is_longer(dna1, dna2):
""" (str, str) -> bool
Return True if and only if DNA sequence dna1 is longer than DNA sequence
dna2.
>>> is_longer('ATCG', 'AT')
True
>>> is_longer('ATCG', 'ATCGGA')
False
"""
if len(dna1) > len(dna2):
return True
else:
return False
相同字符个数
def count_nucleotides(dna, nucleotide):
""" (str, str) -> int
Return the number of occurrences of nucleotide in the DNA sequence dna.
>>> count_nucleotides('ATCGGC', 'G')
2
>>> count_nucleotides('ATCTA', 'G')
0
"""
return dna.count(nucleotide)
字符相同返回逻辑值
def contains_sequence(dna1, dna2):
""" (str, str) -> bool
Return True if and only if DNA sequence dna2 occurs in the DNA sequence
dna1.
>>> contains_sequence('ATCGGC', 'GG')
True
>>> contains_sequence('ATCGGC', 'GT')
False
"""
if dna2 in dna1:
return True
else:
return False
判断是否包含某字符
def is_valid_sequence(nucleotide):
""" (str) -> bool
Return True if and only if the DNA sequence is valid.
>>> is_valid_sequence('A')
True
>>> is_valid_sequence('T')
True
>>>is_valid_sequence('C')
True
>>>is_valid_sequence('G')
True
>>>is_valid_sequence('D')
False
>>>is_valid_sequence('B')
False
"""
str='ATCG'
if str.find(nucleotide)==-1:
return False
else:
return True
插入字符
def insert_sequence(dna1,dna2,location):
""" (str, str, int) -> str
return the dna sequence obtained bu inserting dna2 into dna1 at the location.
>>>insert_sequence('CCGG','AT',2)
'CCATGG'
>>>insert_sequence('AT','G',1)
'AGT'
"""
return dna1[:location] + dna2 + dna1[location:]
输出映射字符
def get_complement(nucleotide):
""" (str) -> str
return the nucleotide's complement
>>>get_complement('A')
'T'
>>>get_complement('C')
'G'
"""
in_str= 'ATCG'
out_str= 'TAGC'
map_table=str.maketrans(in_str,out_str)
return nucleotide.translate(map_table)
字符逆序排列
def get_complementary_sequence(dna):
""" (str) -> str
return the complementary dna sequence
>>>get_complementary_sequence('AT')
'TA'
>>>get_complementary_sequence('CG')
'GC'
"""
return dna[::-1]