本文整理汇总了Python中HTSeq.parse_cigar方法的典型用法代码示例。如果您正苦于以下问题:Python HTSeq.parse_cigar方法的具体用法?Python HTSeq.parse_cigar怎么用?Python HTSeq.parse_cigar使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTSeq
的用法示例。
在下文中一共展示了HTSeq.parse_cigar方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: listFromCIGAR
# 需要导入模块: import HTSeq [as 别名]
# 或者: from HTSeq import parse_cigar [as 别名]
def listFromCIGAR(cls, cigarstring,position_b0, refname, strand):
read_parts = []
if strand == MINUS: # need to reverse the CIGAR
logger.debug("Reversing CIGAR for minus strand read fragment")
cigarstring = "".join(reversed(re.findall("\d+[MIDNSHP=X]", cigarstring)))
op_type_list = []
for op in HTSeq.parse_cigar(cigarstring, position_b0, refname, strand):
logger.debug(map(str,(op, op.query_from, op.query_to, op.ref_iv)))
if op.type == "M":
if "M" in op_type_list:
if len(op_type_list) >=2 and op_type_list[-1] == "D" and op_type_list[-2] == "M":
logger.debug(map(str,("extending (D):", op, op.query_from, op.query_to, op.ref_iv)))
read_parts[-1].extend(op.query_from, op.query_to,op.ref_iv.start,op.ref_iv.end,op.ref_iv.chrom,strand)
elif len(op_type_list) >=2 and op_type_list[-1] == "I" and op_type_list[-2] == "M":
logger.debug(map(str,("extending (I):", op, op.query_from, op.query_to, op.ref_iv)))
read_parts[-1].extend(op.query_from, op.query_to,op.ref_iv.start,op.ref_iv.end,op.ref_iv.chrom,strand)
else:
logger.debug("CIGAR WARNING: Number of matches > 1: {0}".format(cigarstring))
else:
logger.debug(map(str,("appending:", op, op.query_from, op.query_to, op.ref_iv)))
suppl_frag = cls(op.query_from, op.query_to,op.ref_iv.start,op.ref_iv.end,op.ref_iv.chrom,strand)
read_parts.append(suppl_frag)
op_type_list.append(op.type)
return read_parts