Attention une mise à jour du service Gitlab va être effectuée le mardi 30 novembre entre 17h30 et 18h00. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes. Cette mise à jour intermédiaire en version 14.0.12 nous permettra de rapidement pouvoir mettre à votre disposition une version plus récente.

Commit 5bddd2e9 authored by DURAND Patrick's avatar DURAND Patrick
Browse files

update doc to prepare new release

parent 887b0366
Mirror of gatb-core
=========
# Mirror of gatb-core
Core library of the Genome Analysis Tool Box.
This git repository resides at two locations:
* Inria GForge (main)
* Github (mirror of the GForge repository)
......
--------------------------------------------------------------------------------
# What is GATB ?
GATB means "Genome Analysis Toolbox with de-Bruijn graph".
**GATB** means "Genome Analysis Toolbox with de-Bruijn graph".
The GATB-CORE project provides a set of highly efficient algorithms to analyse NGS data sets. These
GATB is made of two master projects:
* The **GATB-CORE project** provides a set of highly efficient algorithms to analyse NGS data sets. These
methods enable the analysis of data sets of any size on multi-core desktop computers, including very
huge amount of reads data coming from any kind of organisms such as bacteria, plants, animals and
even complex samples (e.g. metagenomes). More: https://project.inria.fr/gatb/.
Read more about GATB at <a href="https://project.inria.fr/gatb/">https://project.inria.fr/gatb</a>.
even complex samples (e.g. metagenomes). Read more about GATB at <a href="https://project.inria.fr/gatb/">https://project.inria.fr/gatb</a>.
You can download GATB softwares at <a href="https://project.inria.fr/gatb/software/">https://project.inria.fr/gatb/software</a>.
* The **GATB-TOOLS project** contains a set of ready-to-use softwares relying on GATB-CORE algorithms. You can have a look at available tools at <a href="https://project.inria.fr/gatb/software/">https://project.inria.fr/gatb/software</a>.
--------------------------------------------------------------------------------
# What is GATB-CORE ?
......@@ -18,6 +18,7 @@ You can download GATB softwares at <a href="https://project.inria.fr/gatb/softwa
GATB-CORE is a high-performance and low memory footprint C++ library.
Among others, it supports the following operations natively:
* FASTA/FASTQ parsing
* K-mer counting
* Minimizer computation of k-mers, partitioning of datasets by minimizers
......@@ -27,7 +28,14 @@ Among others, it supports the following operations natively:
By itself GATB-CORE is not an NGS data analysis tool. However, it can be
used to create such tools; see below section called 'How to quickly create a project based on gatb-core ?'.
They already exist a set of ready-to-use tools relying on GATB-CORE library: see https://project.inria.fr/gatb/software/
They already exist a set of ready-to-use tools relying on GATB-CORE library: see [https://project.inria.fr/gatb/software/](https://project.inria.fr/gatb/software/)
# License
GATB is free software; you can redistribute it and/or modify it under the Affero GPL v3
license. See http://www.gnu.org/licenses/agpl-3.0.en.html
# Project content
All the needed material of GATB-CORE is contained in the current directory in order to
generate the wanted artifacts:
......@@ -36,11 +44,33 @@ generate the wanted artifacts:
* unit tests of the component
* wrappers for the components in other languages like java, python, ... (to be done)
# Compiling GATB-CORE
Since the compilation is based on CMake (release 2.6+), a common way to build all the artifacts is:
cd gatb-core/gatb-core
mkdir build ; cd build ; cmake .. ; make
Unit tests (requires cppunit) can also be executed to check the integrity of the library on your system:
cd gatb-core/gatb-core/build
make test
More about GATB-CORE code compiling instruction is available [here](http://gatb-core.gforge.inria.fr/doc/api/compilation.html).
# Reading documentation
API documentation is available [here](http://gatb-core.gforge.inria.fr/doc/api/).
Nevertheless, you can create a local copy of the documentation as follows (we suppose you already compiled the c++ code, see above; requires 'doxygen'):
cd gatb-core/gatb-core/build
make doc
Documentation is then available in _build/html/index.html_
# kmer default sizes
By default, the library is compiled for supporting 4 ranges of kmers :
......@@ -57,9 +87,6 @@ Tools may set a default kmer lists in their CMakeFiles.txt, as such (see for ins
list (APPEND KSIZE_DEFAULT_LIST 32 64 96 128 160 192 224 256)
The documentation can be generated by "make doc" and is available at _build/html/index.html_
and the unit tests can be launched by "make test" (note: you will need to have cppunit for this).
--------------------------------------------------------------------------------
# Dependencies
......@@ -129,7 +156,7 @@ move it anywhere you want.
Such a project can be a start for building applications based on GATB-CORE.
More on creating a new GATB-Core based project: http://gatb-core.gforge.inria.fr/doc/api/new_project.html
More on creating a new GATB-Core based project: [http://gatb-core.gforge.inria.fr/doc/api/new_project.html](http://gatb-core.gforge.inria.fr/doc/api/new_project.html)
----------------------------------------------------------------------------------
# Notes for GATB-core developers
......@@ -141,16 +168,13 @@ To compile in debug mode, type.
To run unit tests:
compile using the command above (-Ddebug=1 isn't necessary) and type:
* compile using the command above (-Ddebug=1 isn't necessary)
* then type:
bin/gatb-core-cppunit
One may set the environment variable CPPUNIT_VERBOSE to 1 to known which tests pass.
One may set the environment variable CPPUNIT_VERBOSE to 1 to known which tests pass.
The gatb-core-cppunit command may also take as argument the categories of tests that
show up in the verbose output, e.g. 'bin/gatb-core-cppunit TestBank'.
The gatb-core-cppunit command may also take as argument the categories of tests that show up in the verbose output, e.g. 'bin/gatb-core-cppunit TestBank'.
To upload the documentation to the http://gatb-core.gforge.inria.fr/doc/api website, type:
mkdir build ; cd build ; cmake .. ; make doc ; make deploy-doc
--------------------------------------------------------------------------------
# RELEASE 1.2.0
* Assembly-inspired de Bruijn graph simplifications are available using a single command:
// removes tips, bubbles and erroneous connections,
// similar to SPAdes algorithm
graph.simplify();
* Faster graph traversal using a single command:
// allocates 1 byte/node to precompute adjacency for each nodes
// in the MPHF.
// Faster graph traversal (especially using neighbors()).
graph.precomputeAdjacency();
* **Breaking API changes**:
neighbors<Node>(..) *becomes* neighbors(..)
neighbors<Edge>(..) *becomes* neighborsEdge(..)
iterator<Node>(..) *becomes* iterator(..)
iterator<BranchingNode>(..) *becomes* iteratorBranching(..)
node.kmer.get<Type>() *becomes* node.template getKmer<Type>()
successors<Node>(..) *becomes* successors(..)
const Node& *becomes* Node&
(as MPHF indices are now cached in Node objects)
etc.. for all fonctions of the type:
- xxx<Node>,
- xxx<Edge>,
- xxx<BranchingNode>,
- xxx<BranchingEdge>.
* The basic kmer type (Kmer<>::Type) no longer has a constructor. Use [kmer].setVal(0) to set the value of the variable [kmer] to zero.
For instance, the following code:
optimum = Kmer<span>::Type(0)
becomes:
optimum.setVal(0);
* Graph is now a templated object (GraphTemplate<Node_t, Edge_t, GraphDataVariant_t>) behind the scenes. However this change is transparent to users of previous versions of GATB-core, as compatibility with the Graph class is preserved.
* bugfixes in how queries with dir=DIR_INCOMING are handled.
--------------------------------------------------------------------------------
# RELEASE 1.1.1
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment