def align_one(ssw, qProfile, rNum, nRLen, nOpen, nExt, nFlag, nMaskLen):
"""
align one pair of sequences
@param qProfile query profile
@param rNum number array for reference
@param nRLen length of reference sequence
@param nFlag alignment flag
@param nMaskLen mask length
"""
res = ssw.ssw_align(qProfile, rNum, ct.c_int32(nRLen), nOpen, nExt, nFlag, 0, 0, nMaskLen)
nScore = res.contents.nScore
nScore2 = res.contents.nScore2
nRefBeg = res.contents.nRefBeg
nRefEnd = res.contents.nRefEnd
nQryBeg = res.contents.nQryBeg
nQryEnd = res.contents.nQryEnd
nRefEnd2 = res.contents.nRefEnd2
lCigar = [res.contents.sCigar[idx] for idx in range(res.contents.nCigarLen)]
nCigarLen = res.contents.nCigarLen
ssw.align_destroy(res)
return (nScore, nScore2, nRefBeg, nRefEnd, nQryBeg, nQryEnd, nRefEnd2, nCigarLen, lCigar)
评论列表
文章目录