]> git.donarmstrong.com Git - samtools.git/blobdiff - bcftools/bcf.h
Alternative model for multiallelic and rare-variant calling. Proof-of-principle imple...
[samtools.git] / bcftools / bcf.h
index f545a916879ee9f527c3e12b622926dfaf96971b..4fe3ed7fb33a3499b3f38d8dd26724f783f5653d 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef BCF_H
 #define BCF_H
 
+#define BCF_VERSION "0.1.17-dev (r973:277)"
+
 #include <stdint.h>
 #include <zlib.h>
 
@@ -71,6 +73,7 @@ typedef struct {
        bcf_ginfo_t *gi; // array of geno fields
        int n_alleles, n_smpl; // number of alleles and samples
        // derived info: ref, alt, flt, info, fmt (<-str), n_gi (<-fmt), n_alleles (<-alt), n_smpl (<-bcf_hdr_t::n_smpl)
+    uint8_t *ploidy;    // ploidy of all samples; if NULL, ploidy of 2 is assumed.
 } bcf1_t;
 
 typedef struct {
@@ -140,12 +143,22 @@ extern "C" {
 
        // keep the first n alleles and discard the rest
        int bcf_shrink_alt(bcf1_t *b, int n);
+    // keep the masked alleles and discard the rest
+       void bcf_fit_alt(bcf1_t *b, int mask);
        // convert GL to PL
        int bcf_gl2pl(bcf1_t *b);
        // if the site is an indel
        int bcf_is_indel(const bcf1_t *b);
        bcf_hdr_t *bcf_hdr_subsam(const bcf_hdr_t *h0, int n, char *const* samples, int *list);
        int bcf_subsam(int n_smpl, int *list, bcf1_t *b);
+       // move GT to the first FORMAT field
+       int bcf_fix_gt(bcf1_t *b);
+       // update PL generated by old samtools
+       int bcf_fix_pl(bcf1_t *b);
+       // convert PL to GLF-like 10-likelihood GL
+       int bcf_gl10(const bcf1_t *b, uint8_t *gl);
+       // convert up to 4 INDEL alleles to GLF-like 10-likelihood GL
+       int bcf_gl10_indel(const bcf1_t *b, uint8_t *gl);
 
        // string hash table
        void *bcf_build_refhash(bcf_hdr_t *h);