0

次のような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

興味のある ID を持つ別のファイルもあり、次のようになります。

K00311:84:HYCNTBBXX:1:2223:15798:5692
K00311:84:HYCNTBBXX:2:2211:11414:30696
K00311:84:HYCNTBBXX:2:2223:28879:41581

理想的には、ID ファイルの ID で始まる行を 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)
4

2 に答える 2