A C ++ programmal szeretnék új BAM fájlt programszerűen előállítani. Ez egy példa arra, hogyan lehet a htslib használatával új BCF fájlt generálni menet közben.
https://github.com/samtools/htslib/blob/develop/test/test -bcf-translate.c
A két fő funkció a következő:
-
bcf_hdr_append
-
bcf_hdr_add_sample
Most, amikor a SAM / BAM funkciók fejlécfájljához navigálok:
https: //github.com/samtools/htslib/blob/develop/htslib/sam.h
Az egyetlen "függelék" funkció a bam_aux_append
. De ez az opcionális mezőkre vonatkozik.
Kérdéseim:
- Adva egy
bam_hdr_t
fejlécet (esetleg üres), hogyan lehet új kromoszóma-referenciát hozzáadni? (Például vegyen fel egy új chrAB-t a BAM fájlba.) - Ha nem üres
bam_hdr_t *
fejlécet adunk, hogyan lehet eltávolítani a kromoszómát? (Például távolítsa el a chr4 fájlt a BAM fejlécéből)
Példakódom:
// Üres BAM fejléc, semmi benne bam_hdr_t * hdr = bam_hdr_init () ; // Szeretnék hozzáadni egy új szintetikus `chrAB'-t a fejléchez, hogyan?