Opossum.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:Opossum 作者: BSGOxford 项目源码 文件源码
def MatchingBases(md, cigar, FromBeginning) :

    if not FromBeginning : 
        md = md[::-1]
        cigar = cigar[::-1]

    i = 0 # md index
    number = ''
    mlen = len(md)

    while i < mlen and md[i] in '0123456789' :
        number += md[i]
        i += 1

    if not number : number = '0'
    if FromBeginning : number = int(number)
    else : number = int(number[::-1])

    # Go through cigar to find possible inserts
    clen = 0    
    for cigartype, cigarlength in cigar :
        if cigartype in [1,3] :
            break   
        elif cigartype == 5 :
            pass
        else :
            clen += cigarlength

    if number < clen :
        number += AddClips(cigar, True) # cigar has been reversed here!

    return min(number, clen)


# Takes flag as input and returns whether alignment is primary (True) or not (False).
# If additional input parameter is set to True, then also check whether read is properly
# paired (definition of properly paired depends on mapper).
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号