This is a test version of Biostars. For the public version, visit https://www.biostars.org.
how to split a bam file by read prefix

I have a bam file such like this:

sample1_100000007     4       *       0       0       *       *       0       0       AGCGCAGGCGGTTTGATAAGTCTGAAGTTAAAGGCTGTGGCTCAACCATAGTTCGCTTTGGAAACTGTCAAACTTGAGTGCAGAAGGGGAGAGTGGAATTCCATGTGTAGCGGTGAAATGCGTAGATATATGGAGGAACACCGGTGGCGAAAGCGGCTCTCTGGTCTGTAACTGACGCTGAGGCTCGAAAGCGTGGGGAGCGAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGGGTGCTAGGTGTTGGATCCTTTCCGGGATTCAGTGCCGAAGCTAACGCATTAAGCACTCCGCCTGGGGAGTACGACCGCAAGGTTGAA     GGGGGGGGGGGEEGGGHHHHHHHGBGHGHFHHHHGHHHHHHFHHHHHEHHHHHHGGGHGFHFHHHHHHHBFHHHHFBGFGGHHHHHHGGBCGGGHGHHHFHHBHGFHHGHHGGGGGHHFHHGGFGEFHHHHHHHHGDHHHHGGFCFFFGEBFGFGGCAFFFGGGFFFFFFFFFFFFFFFFDFFEEFBCBFDBDDDGDC9BDGHCCBHCFHGGF<BFFFF0FGFG/.?@@FCCGHFGHHGHHEGGHHHHHHCGGHHHHFFGGFFCCDGHHHHHGHHGGGGGHHHHGGGGGGHHHHHHHHEE?GGHGGHGHHHHHGGGGGGGHHHHHHHHHHH     RG:Z:A
sample1_100000015     4       *       0       0       *       *       0       0       TGCGTAGGTGGCGTACTAAGTCTGTAGTAAAAGGCAATGGCTCAACCATTGTAAGCTATGGAAACTGGTATGCTGGAGTGCAGAAGAGGGCGATGGAATTCCATGTGTAGCGGTAAAATGCGTAGATATATGGAGGAACACCAGTGGCGAAGGCGGTCGCCTGGTCTGTAACTGACACTGAGGCACGAAAGCGTGGGGAGCAAATAGGATTAGATACCCTAGTAGTCCACGCCGTAAACGATGAGAACTAAGTGTTGGAGGAATTCAGTGCTGCAGTTAACGCAATAAGTTCTCCGCCTGGGGAGTATGCACGCAAGTGTGAA     GGGGGGGGGHGHGGGGHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHGGGGGGGHHHHHHH;HHH<HHHGGGGGHH;HHG9CFG:H:G;HHHHFGHHHHGHHHHHGCEFGGGGGGGGGGGHGGGGGGGGGGGGGFGHHGGFFFFDAGFFED<DDFHGFDHGGBFFFFFFFFFFFHHHHHFHHGAGGDF?DGHHGHHHHHHHGHHGFDHHGGHHHHHHHHHHHHHHHHHHHGHHHGGGGGHHHGGHHHHGGGGGHGCHGHHHHGHHHGGGGHHHHHHHHHHH     RG:Z:A
sample1_100000023     4       *       0       0       *       *       0       0       AGCGTAGACGGTGTGGCAAGTCTGATGTGAAAGGCATGGGCTCAACCTGTGGACTGCATTGGAAACTGTCATACTTGAGTGCCGGAGGGGTAAGCGGAATTCCTAGTGTAGCGGTGAAATGCGTAGATATTAGGAGGAACACCGGTGGCGAAAGCGGCTCTCTGGTCTGTAACTGACGCTGAGGCTCGAAAGCGTGGGGAGCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGAGTGCTAGGTGTTGGGTCCTTTCCGGGACTCAGTGCCGCAGCTAACGCATTAAGCACTCCGCCTGGGGAGTACGACCGCAAGGTTGAA    HHHGGGGGHGGFHGGGHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGFGHHHGGGGGHHHHGHFHHHHHGGGGGHH9H9GGGGGHHH9HGHHHGGHH<HGGF8EGHGGG?FGGGGAGGG:GGGGGGGGGGGGFFFFFFFFFEEFFABFFCFFEDDDEFFFB0GGGHGGGHGC<BFEFFCE/C;.CGGGGGGHHGHGHGHHHHHHHHHHGGGGEHGHHHHHGGGGGHHFGHHHHGGGGGFHHHGGGGGGHHHHFHHHFGFGGHGGHGHHHHHHGGFEGGHHHHHHHHHHH    RG:Z:A
sample2_100000005     4       *       0       0       *       *       0       0       CACGCAGGCGGTCTGTCAAGTCGGATGTGAAATCCCCGGGCTCAACCTGGGAACTGCATTCGAAACTGGCAGGCTGGAGTCTTGTAGAGGGGGGTAGAATTCCAGGTGTAGCGGTGAAATGCGTAGAGATCTGGAGGAATACCGGTGGCGAAGGCGGCCCCCTGGACAAAGACTGACGCTCAGGTGCGAAAGCGTGGGGAGCAAACAGGATTAGATACCCTGGTAGTCCACGCTGTAAACGATGTCGACTTGGAGGTTGTTCCCTTGAGGAGTGGCTTCCGGAGCTAACGCGTTAAGTCGACCGCCTGGGGAGTACGGCCGCAAGGTTAAA     GGGGGGGGGGGEFGHHHHHHHHGGEGGGHHHHHHGHGGGGGGHHHHHHHHGGHGGHHHHHHHHHGGHHHHHGGGHHGHGGHHHHHHHHHGGGGFDFFFFFFFFFFFFFFFFFFFFFEBF8F.FFFFFFFFF9FFFFFAFEFFFFF1DDFFFFCDFFDFFFF:9FFFFFFFB5FFFFFFF?FBBFAFEDA@ADFFFFFFGHGDFFGFFHG?FHHHFBFFFEGG/FHG?FEDGHGGHEFCG.BC/GFGDBHHGCGHGGBGFC/AG22HHHHHHGEHHGGDGGHFHFAFEEGGGGHGGGEEEE>@EGEFGGHHHHGGGGGGGEHGHHHHFHHHH     RG:Z:A
sample2_100000016     4       *       0       0       *       *       0       0       TTCAGCCTTGCGGTCGTACTCCCCAGGCGGAATGCTTAATGCGTTAGCTGCGGCACTGAAGGGCGGAAACCCTCCAACACCTAGCATTCATCGTTTACGGCATGGACTACCAGGGTATCTAATCCTGTTCGCTCCCCATGCTTTCGAGCCTCAGCGTCAGTTACAGACCAGACAGCCGCCTTCGCCACTGGTGTTCTTCCTAATATCTACGCATTCCACCGCTACACTAGGAATTCCAATTGCCCCTCCTGCACTCAAGTCCGACAGTTTTAGTAGTAGTTCCGGAGTTGAGCCCCGGAGTTACGCTACTAACTTGCCAAACCACCTACGCA    HHHHHHHHHHHGGFGGEFGHGHHGHGFHGGGGGHHHHHHHHHGGGGGGHHHGGGGGHHHHGHGGGGGCDHHGHHGHHHGGGHHHHHHHHFGFHEHGHHGGGGGFHHHHHHHHGG9;CGFHFFFGG9/FBF;G:$AFG9F:GBF;GGGGGGFFBFFDFFFFFFFFFFFFFFFAB@9GF=B?D?DEFFCGBFFCBFFHBHGFFFFBBFC<BFFFEGHGGDFGHHHDHGG1GGFFFDHHHG1GGGFCDFEHHGHGBGFHHGGCGGHHHHFHGHHGHHGHHHGGGGGHGHHHHHGGGGGGHHHFGGGGHHGEHEHHGGHHGGHFEFGFGEEGFGGG    RG:Z:A
sample2_100000002     4       *       0       0       *       *       0       0       TTCATTCTTGCGAACGTACTCCCCAGGTGGAATACTTACTGCGTTTGCTGCGGCACCGAATGGCTCTGCCACCCGACACCTAGTATTCATCGTTTACGGCGTGGACTACCAGGGTATCTAATCCTGTTTGCTCCCCACGCTTTCGAGCCTCAACGTCAGTTACCGTCCAGTAAGCCGCCTTCGCCACTGGTGTTCCTCCTAATATCTACGCATTTCACCGCTACCCTAGGAATTCCGCTTACCGCTCCGGTACTCAAGATCAACAGTTTCCAATGCAGTCCGGGGGTTGAGCCCCCGCCTTTCACATCAGACTTGCTGCTCCGTCTACGCT     HHHHHHHHHHHGGGGGHHHHHHHGGGGHFGGGHHHHHHHHHHGFGGGHHHHGGGGGGGGGGHHHHHHHHHHHHGGCGGGGHHHFHHHHGHHHHHGEHGGGGGGCAFFGGHBFG9</CDGG$G0GHBGG<FH0FGEE6D;CAE;FF:FGGGGB0//;E:A0;CFFAADD//;9;:BF.D;9;BEDD/A/;FB9FA;FFEF/9B;;9//3ABBC;;.-.@GFGGF9/GFGFB:.-9--C:..:@;-<-A.DHFGFGF1DDFDGFFGD<1F1GD?BGGFDC@B/GDAHHHFGCC///GEFFHGGGHFGD5HHHHHHHHHHGGEEGHCGGE?G2G     RG:Z:A
sample2_100000025      4       *       0       0       *       *       0       0       AGCGCAGGCGGTTTCTTAAGTCTGATGTGAAAGCCCCCGGCTCAACCGGGGAGGGTCATTGGAAACTGGGAGACTTGAGTGCAGAAGAGGAGGGTGGAATTCCATGTGTAGCGGTGAAATGCGTAGATATATGGAAGAACACCAGTGGCGAAGGCGGCTGTCTGGTCTGTAACTGACGCTGAGGCTCGAAAGCATGGGTAGCGAACAGGATTAGATACCCTGGTAGTCCATGCCGTAAACGATGAATGCTAGGTGTTGGAGGGTTTCCGCCCTTCAGTGCCGCAGCTAACGCATTAAGCATTCCGCCTGGGGAGTACGACCGCAAGGTTGAA    HGGGGGGFGGGGGGHHHGHHGHHHHHHGHHHHHHHHGGGGGGGFHHHGGGGGGGGDHHHHHHHHHHHHHHFGDGHHHHHHHHHHGHHHHGHGGG>FDHHHGHHHHHHFFHHHGGEDGHHHHHGFGE;9GGFGGGGGGGGFEGGEG:FFFGDFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFGGGGGGGGFE?GGFGFFFFFBFHHCC;9DEHHGHHFFHEG@CGFGHEFGFHHHHHHHHHHHHGGGHGGGHHGHHGGGGGGGFHGHHGGGGGGGFFFGGGGGGHHHHFHHHGGGGGHGGHGHHHHHHGGGFGGGHHHHHHHHHH    RG:Z:A
sample2_100000000      4       *       0       0       *       *       0       0       TTTAATCTTGCGACCGTACTCCCCAGGCGGCACGCTTAACGCGTTAGCTCCGGCACGCAGGGGGTCGATTCCCCGCACACCAAGCGTGCACCGTTTACTGCCAGGACTACAGGGCTATCTAATCCCTTTCGCTCCCCTGGCCTTCGTGCCTCAGCGTCAGTTAATGTCCAGGAACCCGCCTTCGCCACGAGTGTTCCTCTCGATATCTACGCATTTCACTGCTACACCGAGAATTCCGGTTCCCCCTCCATTACTCTAGTCTCGCAGTATCATGTGCCGTCCGCGGGTTGAGCCCGCGCCTTTCACACACGACTTACGAAACAGCCTACGCA    HHHGHHHHHHHFEGGGGHGHFHFGHGFHGEGFGGGGGGHHGGFGGGGHHHHFGGGGGGGFFGGGGGG?FHHHHHGGFGGHFA..C?E.C.:CCGGHHCF:C:/0...;/:/0/0$:0,CG0$;BBFFFFF.@5EA:DF..;9BFB.:.EAFF;$DDD?BDFFF0;BFBBBBFA;FFF.DDFDFEFDFFA;;;EFFB@FFFF99BE;BB9BAGFACFFFFBB;0ADDC:0;0C.-:;-<C.-FFCE>11D>?11HHHF1D??/GHHFHHGGHHHFCCGCECGGGGGHFFFHCGGGGGGFFFHHHHHHHEFEHG2HHHGHHGFHHHFCGFGGGE    RG:Z:A
sample3_100000020      4       *       0       0       *       *       0       0       AGCGCAAGCGGTTTCTTAAGTCTGATGTGAAAGCCCCCGGCTCAACCGGGGAGGGTCATTGGAAACTGGGAGACTTGAGTGCAGAAGAGGAGAGTGGAATTCCATGTGTAGCGGTGAAATGCGTAGATATATGGAGGAACACCAGTGGCGAAGGCGGCTCTCTGGTCTGTAACTGACGCTGAGGCTCGAAAGCGTGGGGAGCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGAGTGCTAAGTGTTGGAGGGTTTCCGCCCTTCAGTGCTGCAGCTAACGCATTAAGCACTCCGCCTGGGGAGTACGACCGCAAGGTTGAA    GGGGGGGGHGGGGGHHHHGHHHHHHHHHHHHHHHHHGGGGGGGHHHHGGGGGGGGDGHHHHHHHHHHHHHHGGGHHHHHGHHHHHHHHHHHGHGHHGHHHHHHHHHGHGHHHGGEGGHHHHHGFGGGHHHHGHHFFGDFFGFGEGDFGGGG?FGFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGFFDGFHFEFCEHHHHHGCB:FGG:/DGHEHHHHC.GFCGGGGHGGHGHFHHHGHHHFGHHGGHGCGHHFCHGGGGGGGGHHHHHHHHHHHHHHGGGGGGHHHHHHHHGGGGGHFEGGHHHHHHGGGGGGHHHHHHHHHHH    RG:Z:A

My question is how to split into sample1.bam, sample2.bam and sample3.bam.

rna-seq

1 answer

for F in sample1 sample2
do
   samtools view -h in.bam | awk -v S=$F '($0 ~ /^@/ || substr($1,1,length(v))==v)' | samtools view -S  -b  -o ${F}.bam - 
done

Thanks but each split file is same as the original in.bam (didn't split the seqs)?

Log in to answer this question.