Bloom Filter Trie
|
Code snippets using a BFT. More...
Go to the source code of this file.
Macros | |
#define | V_NOT_VISITED 0 |
Flag for marked vertices indicating the vertex has not been visited before. More... | |
#define | V_VISITED 1 |
Flag for marked vertices indicating the vertex has been visited before. More... | |
Functions | |
K-mer extraction functions | |
These functions extract k-mers stored in a BFT to disk. The last argument of extract_pangenome_kmers_to_disk() is of type BFT_func_ptr, you can use extract_core_kmers(), extract_dispensable_kmers() or extract_singleton_kmers() to extract core, dispensable or singleton k-mers. | |
size_t | extract_core_kmers (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr extracting a core k-mer to disk. More... | |
size_t | extract_dispensable_kmers (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr extracting a dispensable k-mer to disk. More... | |
size_t | extract_singleton_kmers (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr extracting a singleton k-mer to disk. More... | |
void | extract_pangenome_kmers_to_disk (BFT *graph, char *filename_output, BFT_func_ptr f) |
Function extracting pan-genome (core/dispensable/singleton) k-mers from a BFT to disk. More... | |
Path extraction functions | |
These functions extract simple (non branching) paths of k-mers stored in a BFT to disk. | |
size_t | extract_simple_paths (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr extracting from a non-branching k-mer the simple (non branching) path in which it is. More... | |
void | extract_simple_paths_to_disk (BFT *graph, char *filename_output) |
Function extracting from a colored de Bruijn graph stored as a BFT all simple (non branching) paths. More... | |
size_t | extract_core_simple_paths (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr extracting from a non-branching core k-mer the simple (non branching) path in which it is. More... | |
void | extract_simple_core_paths_to_disk (BFT *graph, double core_ratio, char *filename_output) |
Function extracting from a colored de Bruijn graph stored as a BFT all simple (non branching) core paths. More... | |
Graph traversal functions | |
These functions iterate over a colored de Bruijn graph stored as a BFT. | |
size_t | BFS (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr starting a Breadth-First Search traversal from a k-mer. More... | |
size_t | BFS_subgraph (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr starting a Breadth-First Search traversal from a k-mer that is part of a subgraph. More... | |
size_t | DFS (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr starting a Depth-First Search traversal from a k-mer. More... | |
size_t | DFS_subgraph (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr starting a Depth-First Search traversal from a k-mer that is part of a subgraph. More... | |
bool | is_in_subgraph (BFT_kmer *kmer, BFT *graph, int nb_id_genomes, const va_list args) |
Function computing if a k-mer is part of a subgraph. More... | |
void | cdbg_traversal (BFT *graph, BFT_func_ptr f,...) |
Function traversing a colored de Bruijn graph stored as a BFT. More... | |
size_t | nb_connected_components (BFT_kmer *kmer, BFT *graph, va_list args) |
Function of type BFT_func_ptr calling a traversal method (DFS/BFS, DFS_subgraph/BFS_subgraph) on a k-mer to determine if it is in a new connected component. More... | |
void | get_nb_connected_component (BFT *graph,...) |
Compute the number of connected components in a colored de-Bruijn graph. More... | |
Code snippets using a BFT.
The purpose of this file is to give examples of how to use the functions of the BFT API (bft.h).
#define V_NOT_VISITED 0 |
Flag for marked vertices indicating the vertex has not been visited before.
#define V_VISITED 1 |
Flag for marked vertices indicating the vertex has been visited before.
Function of type BFT_func_ptr starting a Breadth-First Search traversal from a k-mer.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains additional parameters given to the calling function (here none). |
Function of type BFT_func_ptr starting a Breadth-First Search traversal from a k-mer that is part of a subgraph.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains additional parameters given to the calling function. Here, it contains a number of genome ids, followed by the genome ids, that a k-mer must contain to be considered part of the subgraph. |
void cdbg_traversal | ( | BFT * | graph, |
BFT_func_ptr | f, | ||
... | |||
) |
Function traversing a colored de Bruijn graph stored as a BFT.
graph | is a BFT representing a colored de Bruijn graph. |
f | is the traversal function (DFS/BFS, DFS_subgraph/BFS_subgraph) to use. |
... | is the additional arguments to transfer to f() (if there are some). |
Function of type BFT_func_ptr starting a Depth-First Search traversal from a k-mer.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains additional parameters given to the calling function (here none). |
Function of type BFT_func_ptr starting a Depth-First Search traversal from a k-mer that is part of a subgraph.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains additional parameters given to the calling function. Here, it contains a number of genome ids, followed by the genome ids, that a k-mer must contain to be considered part of the subgraph. |
Function of type BFT_func_ptr extracting a core k-mer to disk.
A core k-mer contains in its annotation all genome ids inserted in the graph.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains all additional parameters given to extract_pangenome_kmers_to_disk(): A pointer to a file where to write the k-mer and a pointer to the current number of k-mers written. |
Function of type BFT_func_ptr extracting from a non-branching core k-mer the simple (non branching) path in which it is.
args contains as argument a core_ratio float (between 0 to 1) indicating the ratio of genome ids (compared to the total number of genome ids) that a k-mer annotation must contain to be considered being part of a core simple path.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains all additional parameters given to extract_simple_core_paths_to_disk(): A pointer to a file where to write paths and a pointer to the current max. size of a path written in the file. |
Function of type BFT_func_ptr extracting a dispensable k-mer to disk.
A dispensable k-mer contains in its annotation less than all genome ids inserted in the graph.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains all additional parameters given to extract_pangenome_kmers_to_disk(): A pointer to a file where to write the k-mer and a pointer to the current number of k-mers written. |
void extract_pangenome_kmers_to_disk | ( | BFT * | graph, |
char * | filename_output, | ||
BFT_func_ptr | f | ||
) |
Function extracting pan-genome (core/dispensable/singleton) k-mers from a BFT to disk.
A core k-mer contains in its annotation all genome ids inserted in the graph. A dispensable k-mer contains in its annotation less than all genome ids inserted in the graph. A singleton k-mer contains in its annotation one genome id inserted in the graph.
graph | is a BFT from which k-mers must be extracted. |
filename_output | is the name of the file where to write the k-mers. |
f | is a function of type BFT_func_ptr (like extract_core_kmers(), extract_dispensable_kmers(), and extract_singleton_kmers()) which write a pan-genome k-mer to disk. |
void extract_simple_core_paths_to_disk | ( | BFT * | graph, |
double | core_ratio, | ||
char * | filename_output | ||
) |
Function extracting from a colored de Bruijn graph stored as a BFT all simple (non branching) core paths.
graph | is a colored de Bruijn graph stored as a BFT. |
core_ratio | is a float (between 0 to 1) indicating the ratio of genome ids (compared to the total number of genome ids inserted in graph) that a k-mer annotation must contain to be considered being part of a core simple path. |
filename_output | is the name of the file where to write the simple core paths. |
Function of type BFT_func_ptr extracting from a non-branching k-mer the simple (non branching) path in which it is.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains all additional parameters given to extract_simple_paths_to_disk(): A pointer to a file where to write paths and a pointer to the current max. size of a path written in the file. |
void extract_simple_paths_to_disk | ( | BFT * | graph, |
char * | filename_output | ||
) |
Function extracting from a colored de Bruijn graph stored as a BFT all simple (non branching) paths.
graph | is a colored de Bruijn graph stored as a BFT. |
filename_output | is the name of the file where to write the simple paths. |
Function of type BFT_func_ptr extracting a singleton k-mer to disk.
Singleton k-mer contains in its annotation one genome id inserted in the graph.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains all additional parameters given to extract_pangenome_kmers_to_disk(): A pointer to a file where to write the k-mer and a pointer to the current number of k-mers written. |
void get_nb_connected_component | ( | BFT * | graph, |
... | |||
) |
Compute the number of connected components in a colored de-Bruijn graph.
graph | is a BFT representing a colored de Bruijn graph. |
... | is the additional arguments to transfer to nb_connected_components() (traversal method and additional arguments if there are some). |
Function computing if a k-mer is part of a subgraph.
A subgraph is determined by k-mers having in their annotation specific genome ids.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
nb_id_genomes | is the number of genome ids that a k-mer must contain to be considered part of the subgraph. |
args | contains additional parameters given to the calling function. Here, it contains the genome ids that a k-mer must contain to be considered part of the subgraph. |
Function of type BFT_func_ptr calling a traversal method (DFS/BFS, DFS_subgraph/BFS_subgraph) on a k-mer to determine if it is in a new connected component.
kmer | is a k-mer from the BFT graph. |
graph | is the BFT from which kmer is from. |
args | contains additional parameters given to the calling function. Here, it contains the traversal method to call and its additional arguments. |