Updated the documentation and restructured a bit because it wasn't

compiling (note: Breathe not working)
This commit is contained in:
Celine Mercier
2015-10-06 11:09:01 +02:00
parent 392f110c8d
commit c98d567e2f
19 changed files with 1907 additions and 1919 deletions

View File

@ -57,7 +57,7 @@ html:
@echo "Generating Doxygen documentation..." @echo "Generating Doxygen documentation..."
doxygen Doxyfile doxygen Doxyfile
@echo "Doxygen documentation generated. \n" @echo "Doxygen documentation generated. \n"
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html $(SPHINXBUILD) -b html -c ./ $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo @echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html." @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

View File

@ -36,7 +36,7 @@ extensions = [
'sphinx.ext.pngmath', 'sphinx.ext.pngmath',
'sphinx.ext.ifconfig', 'sphinx.ext.ifconfig',
'sphinx.ext.viewcode', 'sphinx.ext.viewcode',
'breathe', # 'breathe',
] ]
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
@ -292,7 +292,7 @@ texinfo_documents = [
#texinfo_no_detailmenu = False #texinfo_no_detailmenu = False
#Breathe configuration #Breathe configuration
sys.path.append( "../breathe/" ) sys.path.append( "breathe/" )
breathe_projects = { "OBITools3": "../doxygen/xml/" } breathe_projects = { "OBITools3": "doxygen/xml/" }
breathe_default_project = "OBITools3" breathe_default_project = "OBITools3"

View File

@ -13,7 +13,7 @@ Up to now, each of these categories of data were stored in separate
files, and nothing made it mandatory to keep them together. files, and nothing made it mandatory to keep them together.
The `Data Management System` (DMS) of OBITools3 can be regarded as a basic The `Data Management System` (DMS) of OBITools3 can be viewed like a basic
database system. database system.
@ -27,9 +27,7 @@ OBIDMS UML
An OBIDMS directory contains : An OBIDMS directory contains :
* one `OBIDMS history file <#obidms-history-files>`_ * one `OBIDMS history file <#obidms-history-files>`_
* Two different kinds of directories :
* OBIDMS column directories * OBIDMS column directories
* OBIDMS column group directories containing OBIDMS column directories
OBIDMS column directories OBIDMS column directories
@ -39,16 +37,9 @@ OBIDMS column directories contain :
* all the different versions of one OBIDMS column, under the form of different files (`OBIDMS column files <#obidms-column-files>`_) * all the different versions of one OBIDMS column, under the form of different files (`OBIDMS column files <#obidms-column-files>`_)
* one `OBIDMS version file <#obidms-version-files>`_ * one `OBIDMS version file <#obidms-version-files>`_
The directory name is the column attribute, or sub-attribute if the column directory is in a column group directory. The directory name is the column attribute with the extension ``.obicol``.
Example: ``count.obicol``
OBIDMS column group directories
===============================
OBIDMS column group directories contain OBIDMS column directories. They are used to store dictionary-like data, where
each key corresponds to an OBIDMS column.
The directory name is the dictionary attribute. Each key is considered a sub-attribute and is associated to its column.
OBIDMS column files OBIDMS column files
@ -57,7 +48,7 @@ OBIDMS column files
Each OBIDMS column file contains : Each OBIDMS column file contains :
* a header of a size equal to a multiple of PAGESIZE (PAGESIZE being equal to 4096 bytes * a header of a size equal to a multiple of PAGESIZE (PAGESIZE being equal to 4096 bytes
on most systems) containing metadata on most systems) containing metadata
* one column of data with the same `OBIType <types.html#obitypes>`_ * Lines of data with the same `OBIType <types.html#obitypes>`_
Header Header
@ -79,7 +70,14 @@ The header of an OBIDMS column contains :
Data Data
---- ----
A column of data with the same `OBIType <types.html#obitypes>`_. A line of data corresponds to a vector of elements. Each element is associated with an element name.
Elements names are stored in the header. The correspondance between an element and its name is done
using their order in the lists of elements and elements names. This structure allows the storage of
dictionary-like data.
Example: In the header, the attribute ``elements_names`` will be associated with the value ``"sample_1;
sample_2;sample_3"``, and a line of data with the type ``OBInt_t`` will be stored as an ``OBInt_t`` vector
of size three e.g. ``5|8|4``.
Mandatory columns Mandatory columns
@ -158,3 +156,5 @@ operations ever done in the OBIDMS directory and the views in between them :
.. image:: ./images/history.png .. image:: ./images/history.png
:width: 150 px :width: 150 px
:align: center :align: center

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because it is too large Load Diff

View File

@ -2,8 +2,8 @@
Data in OBITools3 Data in OBITools3
################# #################
The OBITools3 inaugure a new way to manage DNA metabarcoding data. The OBITools3 introduce a new way to manage DNA metabarcoding data.
They rely on a `Data management System` (DMS) that can be considered as They rely on a `Data management System` (DMS) that can be viewed like
a simplified database system. a simplified database system.

View File

@ -70,7 +70,7 @@ Tickets should always be labeled with the branches for which they are relevant.
Documentation Documentation
************* *************
C functions are documented in the header files. C functions are documented in the header files for public functions, and in the source file for private functions.
************** **************
@ -92,7 +92,7 @@ C99 :
* Object layer * Object layer
* OBITools3 library * OBITools3 library
`Python 3 <https://www.python.org/>`_ : `Python 3.5 <https://www.python.org/>`_ :
* Top layer code (scripts) * Top layer code (scripts)
For the documentation, `Sphinx <http://sphinx-doc.org/>`_ should be used for both the original For the documentation, `Sphinx <http://sphinx-doc.org/>`_ should be used for both the original
@ -111,6 +111,8 @@ Enum members, macros, constants: ``ALL_CAPS``
Functions, local variables: ``lower_case`` Functions, local variables: ``lower_case``
Public functions: ``obi_lower_case``
Functions that shouldn't be called directly: ``_lower_case`` (``_`` prefix) Functions that shouldn't be called directly: ``_lower_case`` (``_`` prefix)
Global variables: ``g_lower_case`` (``g_`` prefix) Global variables: ``g_lower_case`` (``g_`` prefix)
@ -120,9 +122,6 @@ Pointers: ``pointer_ptr`` (``_ptr`` suffi
.. note:: .. note::
Underscores are used to delimit 'words'. Underscores are used to delimit 'words'.
.. todo::
``obi_function`` for public functions names?
***************** *****************
Programming rules Programming rules

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -11,7 +11,6 @@ OBITools3 documentation
Programming guidelines <guidelines> Programming guidelines <guidelines>
Data structures <data> Data structures <data>
Pistes de reflexion <pistes>
Indices and tables Indices and tables

View File

@ -7,13 +7,16 @@ NA values
========= =========
All OBITypes have an associated NA (Not Available) value. All OBITypes have an associated NA (Not Available) value.
NA values are implemented by specifying an explicit NA value for each type, corresponding to the R standards: NA values are implemented by specifying an explicit NA value for each type,
corresponding to the R standards as much as possible:
* For the types ``OBIInt_t``, ``OBIBool_t``, ``OBIIdx_t`` and ``OBITaxid_t``, the NA value is ``INT_MIN``. * For the type ``OBIInt_t``, the NA value is ``INT_MIN``.
* For the type ``OBIChar_t``: the NA value is ``\0`` (?). * For the type ``OBIBool_t``, the NA value is ``2``.
* For the type ``OBIStr_t`` : the NA value is ``\0`` (?). * For the type ``OBIIdx_t`` and ``OBITaxid_t``, the NA value is ``SIZE_MAX``.
* For the type ``OBIChar_t``: the NA value is ``\0``.
* For the type ``OBIFloat_t``:: * For the type ``OBIFloat_t``::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +0,0 @@
###################
Pistes de reflexion
###################
******************************
Ce que l'on veut pouvoir faire
******************************
* Gerer les valeurs manquantes
* Modifier une colonne en cours d'ecriture (mmap)
* Ajouter des valeurs a la fin du fichier d'une colonne en cours d'ecriture (mmap)
******
Divers
******
* Si l'ordre d'une colonne est change, elle est reecrite (pas d'index).
* Utilisation de semaphores pour la lecture
* Utilisation de tas pour l'indexation des chaines de caracteres. Chaque colonne dont
le type est OBIStr_t est stockee dans 3 fichiers : un fichier contenant les chaines, un
fichier contenant les index, et un fichier contenant le tas.