biomcmc-lib  0.1
low level library for phylogenetic analysis
File List
Here is a list of all documented files with brief descriptions:
 alignment.hFile handling functions and calculation of distances for sequence data in nexus format
 biomcmc.hBiomcmc library interface to external programs, specific to super_sptree repo
 bipartition.hUnary/binary operators on arbitrarily-sized bitstrings (strings of zeros and ones) like split bipartitions
 char_vector.cVector of strings (species names, leaf names, etc.)
 char_vector.hList of strings (each string is a vector of chars)
 clustering_goptics.hOPTICS algorithm based on
 distance_generator.hDistance calculation between generic objects,without generating full matrix beforehand
 distance_matrix.hDistance matrix, that can be used in alignments and trees, and patristic-distance based species distances
 empirical_frequency.cHistogram of vectors, ordered by frequency. Also calculates MAP (modal) values
 empirical_frequency.hCreates a histogram of a vector, ordered by frequency
 genetree.hGene tree and species tree structures, for reconciliation etc. This is the high-level file with globally exposed functions/structures
 hashfunctions.hCollections of hash functions for 32 and 64 bits, including one-liners, murmurhash, and xxhash
 hashtable.hDouble hashing open-address hash table using strings as key – also has distance matrix, that can be used in alignments and trees
 hll.hHyperLogLog functions, based on code by Ivan Vitjuk under an ISC License
 kmerhash.hK-mer handling of DNA sequences, with hash transformation
 lowlevel.cLowest level basic functions, that should be available to all other modules
 lowlevel.hLowest level header file. Header file for lowlevel.c
 newick_space.hReads a list of trees in newick format and creates vector of topologies
 nexus_common.hFile handling functions for nexus format in general
 parsimony.hBinary and multistate parsimony matrices, together with bipartition extraction for MRP
 prob_distribution.hProbability distribution functions and auxiliary mathematical functions from statistical package R
 prob_distribution_aux.hAuxiliary (low level) functions for prob_distribution.c
 quickselect_quantile.hFind k smallest element in vector
 random_number.hRandom number generation, with algorithms from the Gnu Scientific Library (GSL) and motivation from the Scalable Parallel Pseudo Random Number Generators Library (SPRNG)
 random_number_aux.hVariables and structures local to random_number.c (should be opaque to user)
 read_newick_trees.hLow-level functions for reading newick strings
 reconciliation.hLow-level file for gene tree and species tree reconciliation. This file is hidden from user and contains the LCA-based reconciliation distances
 splitset_distances.hLow-level functions that use only the split bipartitions of topologies – treating them as unrooted usually
 topology_common.hGeneral-purpose topology structures created from nexus_tree_struct (and low-level functions)
 topology_distance.hBranch length operations on topologies, including patristic distances
 topology_randomise.hCreation of random topologies and modification of existing ones through branch swapping
 topology_space.hReads tree files in nexus format and creates a vector of topologies
 upgma.hUPGMA and bioNJ from (onedimensional representation of) distance matrices