У меня есть файл bam, который выглядит следующим образом:
samtools view pingpon.forward.bam | head
K00311:84:HYCNTBBXX:1:1123:2909:4215 0 LQNS02000001.1:55-552 214 28M * 0 0 TCTAGTTCAACTGTAAATCATCCTGCCC AAFFFJJJJJJJJJJJJJJJJJJJJJJJ AS:i:-6 XS:i:-6 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:9T18 YT:Z:UU
K00311:84:HYCNTBBXX:1:1123:2909:4215 0 LQNS02000001.1:55-552 214 28M * 0 0 TCTAGTTCAACTGTAAATCATCCTGCCC AAFFFJJJJJJJJJJJJJJJJJJJJJJJ AS:i:-6 XS:i:-6 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:9T18 YT:Z:UU
K00311:84:HYCNTBBXX:1:1123:2909:4215 0 LQNS02000001.1:55-552 214 28M * 0 0 TCTAGTTCAACTGTAAATCATCCTGCCC AAFFFJJJJJJJJJJJJJJJJJJJJJJJ AS:i:-6 XS:i:-6 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:9T18 YT:Z:UU
K00311:84:HYCNTBBXX:1:1123:2909:4215 0 LQNS02000001.1:55-552 214 28M * 0 0 TCTAGTTCAACTGTAAATCATCCTGCCC AAFFFJJJJJJJJJJJJJJJJJJJJJJJ AS:i:-6 XS:i:-6 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:9T18 YT:Z:UU
K00311:84:HYCNTBBXX:1:1123:2909:4215 0 LQNS02000001.1:55-552 214 28M * 0 0 TCTAGTTCAACTGTAAATCATCCTGCCC AAFFFJJJJJJJJJJJJJJJJJJJJJJJ AS:i:-6 XS:i:-6 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:9T18 YT:Z:UU
У меня также есть другой файл с интересующими меня идентификаторами, который выглядит следующим образом:
K00311:84:HYCNTBBXX:1:2223:15798:5692
K00311:84:HYCNTBBXX:2:2211:11414:30696
K00311:84:HYCNTBBXX:2:2223:28879:41581
В идеале я хотите извлечь строки из файла bam, которые начинаются с идентификаторов из файла идентификаторов. На данный момент я использую этот код, который я написал, но он не работает. Любая помощь будет оценена! Спасибо
import pysam
import re
forward = pysam.AlignmentFile('pingpon.forward.bam', "rb")
reverse = pysam.AlignmentFile('pingpon.reverse.bam', "rb")
ids = open("IDs_results_bed_reverse.txt", "w")
for line in reverse:
if re.match("(.*)(I|i)ds(.*)", line):
print(line)