#include <stdio.h>
#include <stdlib.h>
#include "htslib/sam.h"
#define bam_is_read1(b) (((b)->core.flag&BAM_FREAD1) != 0)
int main(int argc,char **argv)
{
bam_hdr_t *header;
bam1_t *aln = bam_init1();
samFile *in = sam_open(argv[1], "r");
htsFile *outR1 = hts_open(argv[2], "wb");
htsFile *outR2 = hts_open(argv[3], "wb");
header = sam_hdr_read(in);
if (sam_hdr_write(outR1, header) < 0) {
fprintf(stderr, "Error writing output.\n");
exit(-1);
}
if (sam_hdr_write(outR2, header) < 0) {
fprintf(stderr, "Error writing output.\n");
exit(-1);
}
int i=1;
while (sam_read1(in, header, aln) >= 0) {
//判断奇偶行
if (i%2 != 0){
//写入新建的bam文件
int a=sam_write1(outR1, header, aln);
}
else{
//写入新建的bam文件
int a=sam_write1(outR2, header, aln);
}
i++;
}
//关闭文件
sam_close(in);
sam_close(outR1);
sam_close(outR2);
}
07-15
2008
08-08
8325