Is er een standaardmethode in Python om een CIGAR-string uit de BAM te extraheren?
Er zijn geweldige bibliotheken die de CIGAR ontleden, bijv. https://pypi.python.org/pypi/cigar/0.1
>>> c = Cigar ('10M20S10M') >>> c.mask_left (10). '10S20S10M'>>> c.mask_left (9) .cigar'9S1M20S10M'>>> Cigar (10S). mask_left (10) .cigar'10S'>>> Cigar (10H). mask_left (10) .cigar'10H'>>> Cigar ('10H'). Mask_left (11) .cigar'10H'>>> Cigar ('10H'). Mask_left (9) .cigar'10H '
Het lijkt erop dat pysam al parseert de sigaarstreng, als ik me niet vergis:
import pysambam = 'myfile.bam'bamfile = pysam.AlignmentFile (bam,' rb ') voor inlezen in bamfile: indien niet gelezen. is_unmapped: cigar = read.cigar print (cigar)
Dit geeft lijsten met tuples van de ontleedoutput weer:
[(5, 61), ( 0, 30), (5, 198)] [(4, 11), (0, 30), (4, 248)] [(4, 11), (0, 30), (4, 248)]. ...
Hoe kan ik gewoon de CIGAR uitvoeren vanuit read
? Ik zou liever een kolom maken in een panda's DataFrame