Updated the documentation and restructured a bit because it wasn't
compiling (note: Breathe not working)
@ -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."
|
||||||
|
|
||||||
|
@ -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"
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
BIN
doc/source/UML/OBIDMS_UML.png
Normal file
After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
1874
doc/source/UML/ObiDMS_UML.class.violet.html
Normal 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.
|
||||||
|
|
||||||
|
|
@ -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
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
@ -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
|
@ -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``::
|
||||||
|
|
Before Width: | Height: | Size: 66 KiB |
@ -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.
|
|