biomcmc-lib  0.1
low level library for phylogenetic analysis
Go to the documentation of this file.
1 /*
2  * This file is part of biomcmc-lib, a low-level library for phylogenomic analysis.
3  * Copyright (C) 2019-today Leonardo de Oliveira Martins [ leomrtns at; ]
4  *
5  * biomcmc is free software; you can redistribute it and/or modify it under the terms of the GNU General Public
6  * License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later
7  * version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
10  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
11  * details (file "COPYING" or
12  */
22 #ifndef _biomcmc_h_
23 #define _biomcmc_h_
25 #include "argtable3.h"
26 #include "kmerhash.h"
27 #include "parsimony.h"
28 #include "genetree.h"
29 #include "topology_space.h"
30 #include "clustering_goptics.h"
31 #include "quickselect_quantile.h"
34 // extra libs not used yet: edlib hll
36 #include "lowlevel.h" // called by char_vector, argtable, bipartition, prob_distribution, quickselect_quantile
37 #include "char_vector.h" // called by hashtable, random_number, nexus_common, empirical_frequency
38 #include "hashfunction.h" // called by hashtable
39 #include "hashtable.h" // called by random_number_gen
40 #include "bipartition.h" // called by hashtable
41 #include "random_number_gen.h" // called by random_number
42 #include "random_number.h" // called by prob_distribution
43 #include "topology_common.h" // called by topology_distance
44 #include "topology_distance.h" // called by parsimony, reconciliation, read_nexus_trees
45 #include "topology_randomise.h" // called by upgma
46 #include "upgma.h" // called by genetree
47 #include "reconciliation.h" // opaque header/library, called by genetree
48 #include "splitset_distances.h" // opaque header/library, called by genetree
49 #include "distance_matrix.h" // called by alignment, distance_generator
50 #include "distance_generator.h" // called by clustering_goptics
51 #include "alignment.h" // called by kmerhash
52 #include "empirical_frequency.h" // called by nexus_common
53 #include "nexus_common.h" // called by read_nexus_trees
54 #include "prob_distribution.h" // called by topology_randomise, char_vector
55 #include "read_newick_trees.h" // called by newick_space
56 #include "newick_space.h" // called by topology_space
57 #endif // of THESE_ARE_COMMENTS
59 #endif //define biomcmc
Creates a histogram of a vector, ordered by frequency.
Random number generation, with algorithms from the Gnu Scientific Library (GSL) and motivation from t...
Probability distribution functions and auxiliary mathematical functions from statistical package R...
branch length operations on topologies, including patristic distances
Reads a list of trees in newick format and creates vector of topologies.
binary and multistate parsimony matrices, together with bipartition extraction for MRP ...
General-purpose topology structures created from nexus_tree_struct (and low-level functions) ...
Creation of random topologies and modification of existing ones through branch swapping.
File handling functions and calculation of distances for sequence data in nexus format.
Low-level functions that use only the split bipartitions of topologies – treating them as unrooted u...
find k smallest element in vector
File handling functions for nexus format in general.
Lowest level header file. Header file for lowlevel.c.
distance matrix, that can be used in alignments and trees, and patristic-distance based species dista...
low-level file for gene tree and species tree reconciliation. This file is hidden from user and conta...
gene tree and species tree structures, for reconciliation etc. This is the high-level file with globa...
k-mer handling of DNA sequences, with hash transformation
Low-level functions for reading newick strings.
OPTICS algorithm based on
Reads tree files in nexus format and creates a vector of topologies.
Unary/binary operators on arbitrarily-sized bitstrings (strings of zeros and ones) like split biparti...
UPGMA and bioNJ from (onedimensional representation of) distance matrices.
distance calculation between generic objects,without generating full matrix beforehand ...
list of strings (each string is a vector of chars)
double hashing open-address hash table using strings as key – also has distance matrix, that can be used in alignments and trees