X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bam.h;h=95cf8fad436d66922b8267d6645671f243636dce;hb=ccb7838cb53bf0ca6917a77f7991d940057c12db;hp=82f1ffab1db81ffad94751cc40406af367a00ad3;hpb=fa6c5588e0d3845a98ea54435d49ccbe305515d7;p=samtools.git diff --git a/bam.h b/bam.h index 82f1ffa..95cf8fa 100644 --- a/bam.h +++ b/bam.h @@ -168,7 +168,6 @@ typedef struct { @abstract Structure for core alignment information. @field tid chromosome ID, defined by bam_header_t @field pos 0-based leftmost coordinate - @field strand strand; 0 for forward and 1 otherwise @field bin bin calculated by bam_reg2bin() @field qual mapping quality @field l_qname length of the query name @@ -193,13 +192,15 @@ typedef struct { @field l_aux length of auxiliary data @field data_len current length of bam1_t::data @field m_data maximum length of bam1_t::data - @field data all variable-length data, concatenated; structure: cigar-qname-seq-qual-aux + @field data all variable-length data, concatenated; structure: qname-cigar-seq-qual-aux @discussion Notes: 1. qname is zero tailing and core.l_qname includes the tailing '\0'. 2. l_qseq is calculated from the total length of an alignment block on reading or from CIGAR. + 3. cigar data is encoded 4 bytes per CIGAR operation. + 4. seq is nybble-encoded according to bam_nt16_table. */ typedef struct { bam1_core_t core; @@ -776,5 +777,17 @@ static inline int bam_aux_type2size(int x) else return 0; } +/********************************* + *** Compatibility with htslib *** + *********************************/ + +typedef bam_header_t bam_hdr_t; + +#define bam_get_qname(b) bam1_qname(b) +#define bam_get_cigar(b) bam1_cigar(b) + +#define bam_hdr_read(fp) bam_header_read(fp) +#define bam_hdr_write(fp, h) bam_header_write(fp, h) +#define bam_hdr_destroy(fp) bam_header_destroy(fp) #endif