Gamgee
You miserable little maggot. I'll stove your head in!
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Macros | Functions
faidx.c File Reference
#include "config.h"
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include "htslib/bgzf.h"
#include "htslib/faidx.h"
#include "htslib/khash.h"
#include "htslib/knetfile.h"

Classes

struct  faidx1_t
 
struct  __faidx_t
 

Macros

#define kroundup32(x)   (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))
 

Functions

faidx_tfai_build_core (BGZF *bgzf)
 
void fai_save (const faidx_t *fai, FILE *fp)
 
faidx_tfai_read (FILE *fp)
 
void fai_destroy (faidx_t *fai)
 
int fai_build (const char *fn)
 
FILE * download_and_open (const char *fn)
 
faidx_tfai_load (const char *fn)
 
char * fai_fetch (const faidx_t *fai, const char *str, int *len)
 
int faidx_nseq (const faidx_t *fai)
 
const char * faidx_iseq (const faidx_t *fai, int i)
 
int faidx_seq_len (const faidx_t *fai, const char *seq)
 
char * faidx_fetch_seq (const faidx_t *fai, const char *c_name, int p_beg_i, int p_end_i, int *len)
 
int faidx_has_seq (const faidx_t *fai, const char *seq)
 

Macro Definition Documentation

#define kroundup32 (   x)    (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))

Function Documentation

FILE* download_and_open ( const char *  fn)
int fai_build ( const char *  fn)

Build index for a FASTA or bgzip-compressed FASTA file.

Parameters
fnFASTA file name
Returns
0 on success; or -1 on failure File "fn.fai" will be generated.
faidx_t* fai_build_core ( BGZF bgzf)
void fai_destroy ( faidx_t fai)

Distroy a faidx_t struct.

Parameters
faiPointer to the struct to be destroyed
char* fai_fetch ( const faidx_t fai,
const char *  reg,
int *  len 
)

Fetch the sequence in a region.

Parameters
faiPointer to the faidx_t struct
regRegion in the format "chr2:20,000-30,000"
lenLength of the region; -2 if seq not present, -1 general error
Returns
Pointer to the sequence; null on failure

The returned sequence is allocated by malloc family and should be destroyed by end users by calling free() on it.

faidx_t* fai_load ( const char *  fn)

Load index from "fn.fai".

Parameters
fnFile name of the FASTA file
faidx_t* fai_read ( FILE *  fp)
void fai_save ( const faidx_t fai,
FILE *  fp 
)
char* faidx_fetch_seq ( const faidx_t fai,
const char *  c_name,
int  p_beg_i,
int  p_end_i,
int *  len 
)

Fetch the sequence in a region.

Parameters
faiPointer to the faidx_t struct
c_nameRegion name
p_beg_iBeginning position number (zero-based)
p_end_iEnd position number (zero-based)
lenLength of the region; -2 if c_name not present, -1 general error
Returns
Pointer to the sequence; null on failure

The returned sequence is allocated by malloc family and should be destroyed by end users by calling free() on it.

int faidx_has_seq ( const faidx_t fai,
const char *  seq 
)

Query if sequence is present

Parameters
faiPointer to the faidx_t struct
seqSequence name
Returns
1 if present or 0 if absent
const char* faidx_iseq ( const faidx_t fai,
int  i 
)

Return name of i-th sequence

int faidx_nseq ( const faidx_t fai)

Return number of sequences in fai index

int faidx_seq_len ( const faidx_t fai,
const char *  seq 
)

Return sequence length, -1 if not present