coursera多伦多python learning week 4

字符长度
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]





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值