2407 lines
107 KiB
C
Executable File
2407 lines
107 KiB
C
Executable File
/********************************************************************
|
|
* Obiview header file *
|
|
********************************************************************/
|
|
|
|
/**
|
|
* @file obiview.h
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
* @date 16 December 2015
|
|
* @brief Header file for the OBIDMS view functions and structures.
|
|
*/
|
|
|
|
|
|
#ifndef OBIVIEW_H_
|
|
#define OBIVIEW_H_
|
|
|
|
|
|
#include <stdlib.h>
|
|
#include <errno.h>
|
|
#include <stdio.h>
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include <time.h>
|
|
#include <math.h>
|
|
|
|
#include "obidms.h"
|
|
#include "obidmscolumn.h"
|
|
#include "obierrno.h"
|
|
#include "hashtable.h"
|
|
#include "linked_list.h"
|
|
#include "obiblob.h"
|
|
|
|
|
|
#define OBIVIEW_NAME_MAX_LENGTH (249) /**< The maximum length of an OBIDMS view name, without the extension.
|
|
*/
|
|
#define VIEW_TYPE_MAX_LENGTH (1024) /**< The maximum length of the type name of a view.
|
|
*/
|
|
#define LINES_COLUMN_NAME "LINES" /**< The name of the column containing the line selections
|
|
* in all views.
|
|
*/
|
|
#define VIEW_TYPE_NUC_SEQS "NUC_SEQS_VIEW" /**< The type name of views based on nucleotide sequences
|
|
* and their metadata.
|
|
*/
|
|
#define NUC_SEQUENCE_COLUMN "NUC_SEQ" /**< The name of the column containing the nucleotide sequences
|
|
* in NUC_SEQS_VIEW views.
|
|
*/
|
|
#define ID_COLUMN "ID" /**< The name of the column containing the sequence identifiers
|
|
* in NUC_SEQS_VIEW views.
|
|
*/
|
|
#define DEFINITION_COLUMN "DEFINITION" /**< The name of the column containing the sequence definitions
|
|
* in NUC_SEQS_VIEW views.
|
|
*/
|
|
#define QUALITY_COLUMN "QUALITY" /**< The name of the column containing the sequence qualities
|
|
* in NUC_SEQS_VIEW views.
|
|
*/
|
|
#define REVERSE_QUALITY_COLUMN "REVERSE_QUALITY" /**< The name of the column containing the sequence qualities
|
|
* of the reverse read (generated by ngsfilter, used by alignpairedend).
|
|
*/
|
|
#define REVERSE_SEQUENCE_COLUMN "REVERSE_SEQUENCE" /**< The name of the column containing the sequence
|
|
* of the reverse read (generated by ngsfilter, used by alignpairedend).
|
|
*/
|
|
#define QUALITY_COLUMN "QUALITY" /**< The name of the column containing the sequence qualities
|
|
* in NUC_SEQS_VIEW views.
|
|
*/
|
|
#define COUNT_COLUMN "COUNT" /**< The name of the column containing the sequence counts
|
|
* in NUC_SEQS_VIEW views.
|
|
*/
|
|
#define SCIENTIFIC_NAME_COLUMN "SCIENTIFIC_NAME" /**< The name of the column containing the taxon scientific name.
|
|
*/
|
|
#define TAXID_COLUMN "TAXID" /**< The name of the column containing the taxids. TODO subtype of INT column?
|
|
*/
|
|
#define MERGED_TAXID_COLUMN "MERGED_TAXID" /**< The name of the column containing the merged taxids information.
|
|
*/
|
|
#define MERGED_PREFIX "MERGED_" /**< The prefix to prepend to column names when merging informations during obi uniq.
|
|
*/
|
|
#define TAXID_DIST_COLUMN "TAXID_DIST" /**< The name of the column containing a dictionary of taxid:[list of ids] when merging informations during obi uniq.
|
|
*/
|
|
#define MERGED_COLUMN "MERGED" /**< The name of the column containing a list of ids when merging informations during obi uniq.
|
|
*/
|
|
#define ID_PREFIX "seq" /**< The default prefix of sequence identifiers in automatic ID columns.
|
|
*/
|
|
#define PREDICATE_KEY "predicates" /**< The key used in the json-formatted view comments to store predicates.
|
|
*/
|
|
|
|
|
|
/**
|
|
* @brief Structure for column aliases.
|
|
* Column aliases are alternative names used to identify a column in the context of a view.
|
|
*/
|
|
typedef struct Alias_column_pair {
|
|
Column_reference_t column_refs; /**< References (name and version) of the column.
|
|
*/
|
|
char alias[OBIDMS_COLUMN_MAX_NAME+1]; /**< Alias of the column in the context of a view.
|
|
*/
|
|
} Alias_column_pair_t, *Alias_column_pair_p;
|
|
|
|
|
|
/**
|
|
* @brief Structure for a closed view stored in the view file.
|
|
* Views are identified by their name.
|
|
* Once a view has been written in the view file, it can not be modified and can only be read.
|
|
*/
|
|
typedef struct Obiview_infos {
|
|
size_t file_size; /**< View file size in bytes.
|
|
*/
|
|
size_t used_size; /**< Used size in bytes.
|
|
*/
|
|
time_t creation_date; /**< Time at which the view was created.
|
|
*/
|
|
char name[OBIVIEW_NAME_MAX_LENGTH+1]; /**< Name of the view, used to identify it.
|
|
*/
|
|
char created_from[OBIVIEW_NAME_MAX_LENGTH+1]; /**< Name of the view from which that view was cloned, if it was cloned.
|
|
*/
|
|
char view_type[VIEW_TYPE_MAX_LENGTH+1]; /**< Type of the view if there is one.
|
|
* Types existing: NUC_SEQS_VIEW.
|
|
*/
|
|
bool all_lines; /**< Whether there is a line selection associated with the view.
|
|
*/
|
|
Column_reference_t line_selection; /**< The references of the line selection associated with the view if there is one.
|
|
*/
|
|
index_t line_count; /**< The number of lines in the view.
|
|
*/
|
|
int column_count; /**< The number of columns in the view.
|
|
*/
|
|
Alias_column_pair_t column_references[MAX_NB_OPENED_COLUMNS]; /**< References (name, version and alias) for all the columns in the view.
|
|
*/
|
|
bool finished; /** Whether the view is finished and can be read.
|
|
*/
|
|
char comments[]; /**< Comments, additional informations on the view.
|
|
*/
|
|
} Obiview_infos_t, *Obiview_infos_p;
|
|
|
|
|
|
/**
|
|
* @brief Structure for an opened view.
|
|
*/
|
|
typedef struct Obiview {
|
|
Obiview_infos_p infos; /**< A pointer on the mapped view informations.
|
|
*/
|
|
OBIDMS_p dms; /**< A pointer on the DMS to which the view belongs.
|
|
*/
|
|
bool read_only; /**< Whether the view is read-only or can be modified.
|
|
*/
|
|
OBIDMS_column_p line_selection; /**< A pointer on the column containing the line selection
|
|
* associated with the view if there is one.
|
|
* This line selection is read-only, and when a line from the view is read,
|
|
* it is this line selection that is used.
|
|
*/
|
|
Linked_list_node_p columns; /**< Double linked chain containing the pointers on all the columns of the view.
|
|
*/
|
|
hashtable_p column_dict; /**< Hash table storing the pairs of column names or aliases with the associated
|
|
* pointers on column pointers (OBIDMS_column_p*).
|
|
*/
|
|
int nb_predicates; /**< Number of predicates to test when closing the view.
|
|
*/
|
|
char* (**predicate_functions)(struct Obiview* view); /**< Array of pointers on all predicate functions to test when closing the view.
|
|
*/
|
|
} Obiview_t, *Obiview_p;
|
|
|
|
|
|
/**
|
|
* Function checking if a view (either finished or unfinished) with a given name already exists in a DMS.
|
|
*
|
|
* @param dms The DMS.
|
|
* @param view_name The name of the view.
|
|
*
|
|
* @returns A boolean value indicating whether the view already exists or not.
|
|
*
|
|
* @since September 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
bool obi_view_exists(OBIDMS_p dms, const char* view_name);
|
|
|
|
|
|
/**
|
|
* @brief Creates a new view.
|
|
*
|
|
* Fails if a view with the same name already exists.
|
|
*
|
|
* @param dms A pointer on the OBIDMS.
|
|
* @param view_name The unique name of the view. Can not be 'taxonomy' (used for URIs).
|
|
* @param view_to_clone Eventually a pointer on the opened view to clone to create the new one, if there is one. NULL if not.
|
|
* @param line_selection Eventually a pointer on a list of indexes corresponding to a line selection to use with the view to clone
|
|
* if there is one. NULL if there is no line selection or no view to clone.
|
|
* The end of the index array is flagged by a -1 value.
|
|
* @param comments Eventually, comments to associate with the view. NULL if not.
|
|
*
|
|
* @returns A pointer to the newly created view structure.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since December 2015
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obiview_p obi_new_view(OBIDMS_p dms, const char* view_name, Obiview_p view_to_clone, index_t* line_selection, const char* comments);
|
|
|
|
|
|
/**
|
|
* @brief Creates a new view by cloning another view written in the view file and identified by its name.
|
|
*
|
|
* Note : obi_new_view can clone from a pointer on an opened view, while this function will read the view to clone
|
|
* from the view file.
|
|
*
|
|
* Fails if a view with the same name already exists.
|
|
*
|
|
* @param dms A pointer on the OBIDMS.
|
|
* @param view_name The unique name of the new view. Can not be 'taxonomy' (used for URIs).
|
|
* @param view_to_clone_name The name of the view to clone stored in the view file of the OBIDMS.
|
|
* @param line_selection Eventually a pointer on a list of indexes corresponding to a line selection to use with the view to clone
|
|
* if there is one. NULL if there is no line selection or no view to clone.
|
|
* @param comments Eventually, comments to associate with the view. NULL if not.
|
|
*
|
|
* @returns A pointer to the newly created view structure.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since December 2015
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obiview_p obi_new_view_cloned_from_name(OBIDMS_p dms, const char* view_name, const char* view_to_clone_name, index_t* line_selection, const char* comments);
|
|
|
|
|
|
/**
|
|
* @brief Creates a new view with the type NUC_SEQ_VIEW, based on nucleotide sequences and their metadata.
|
|
*
|
|
* Fails if a view with the same name already exists.
|
|
*
|
|
* The obligatory columns specific to the view type are created too and opened:
|
|
* - NUC_SEQUENCE_COLUMN where nucleotide sequences are stored
|
|
* - ID_COLUMN where sequence identifiers are stored
|
|
* - DEFINITION_COLUMN where sequence definitions are stored
|
|
* And, if quality_column is True:
|
|
* - QUALITY_COLUMN where sequence qualities are stored
|
|
*
|
|
* @param dms A pointer on the OBIDMS.
|
|
* @param view_name The unique name of the view. Can not be 'taxonomy' (used for URIs).
|
|
* @param view_to_clone Eventually a pointer on the opened view to clone to create the new one, if there is one. NULL if not.
|
|
* @param line_selection Eventually a pointer on a list of indexes corresponding to a line selection to use with the view to clone
|
|
* if there is one. NULL if there is no line selection or no view to clone.
|
|
* @param comments Eventually, comments to associate with the view. NULL if not.
|
|
* @param quality_column Whether or not a sequence quality column is associated with the view.
|
|
* @param create_default_columns Whether to create the default columns associated with the view type (false when importing all columns from a view for example).
|
|
*
|
|
* @returns A pointer to the newly created view structure.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obiview_p obi_new_view_nuc_seqs(OBIDMS_p dms, const char* view_name, Obiview_p view_to_clone, index_t* line_selection, const char* comments, bool quality_column, bool create_default_columns);
|
|
|
|
|
|
/**
|
|
* @brief Creates a new view with the type NUC_SEQ_VIEW, based on nucleotide sequences and their metadata,
|
|
* by cloning another NUC_SEQ_VIEW view written in the view file and identified by its name.
|
|
*
|
|
* Note : obi_new_view_nuc_seqs can clone from a pointer on an opened view, while this function will read the view to clone
|
|
* from the view file.
|
|
*
|
|
* Fails if a view with the same name already exists.
|
|
* Fails if the view to clone doesn't have the type NUC_SEQ_VIEW.
|
|
*
|
|
* The obligatory columns specific to the view type are created too and opened:
|
|
* - NUC_SEQUENCE_COLUMN where nucleotide sequences are stored
|
|
* - ID_COLUMN where sequence identifiers are stored
|
|
* - DEFINITION_COLUMN where sequence definitions are stored
|
|
* And, if quality_column is True:
|
|
* - QUALITY_COLUMN where sequence qualities are stored
|
|
*
|
|
* @param dms A pointer on the OBIDMS.
|
|
* @param view_name The unique name of the new view. Can not be 'taxonomy' (used for URIs).
|
|
* @param view_to_clone_name The name of the view to clone stored in the view file of the OBIDMS.
|
|
* @param line_selection Eventually a pointer on a list of indexes corresponding to a line selection to use with the view to clone
|
|
* if there is one. NULL if there is no line selection or no view to clone.
|
|
* @param comments Eventually, comments to associate with the view. NULL if not.
|
|
*
|
|
* @returns A pointer to the newly created view structure.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obiview_p obi_new_view_nuc_seqs_cloned_from_name(OBIDMS_p dms, const char* view_name, const char* view_to_clone_name, index_t* line_selection, const char* comments);
|
|
|
|
|
|
/**
|
|
* @brief Clones a view using a pointer on the view to clone.
|
|
*
|
|
* The new view has the same type as the cloned one.
|
|
* Fails if a view with the same name already exists.
|
|
*
|
|
* @param dms A pointer on the OBIDMS.
|
|
* @param view_to_clone A pointer on the opened view to clone to create the new one.
|
|
* @param view_name The unique name of the new view. Can not be 'taxonomy' (used for URIs).
|
|
* @param line_selection Eventually a pointer on a list of indexes corresponding to a line selection to use with the view to clone
|
|
* if there is one. NULL if there is no line selection or no view to clone.
|
|
* @param comments Eventually, comments to associate with the view. NULL if not.
|
|
*
|
|
* @returns A pointer to the newly created view structure.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since April 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obiview_p obi_clone_view(OBIDMS_p dms, Obiview_p view_to_clone, const char* view_name, index_t* line_selection, const char* comments);
|
|
|
|
|
|
/**
|
|
* @brief Clones a view using the name of the view to clone.
|
|
*
|
|
* The new view has the same type as the cloned one.
|
|
* Fails if a view with the same name already exists.
|
|
*
|
|
* @param dms A pointer on the OBIDMS.
|
|
* @param view_to_clone_name The name of the view to clone.
|
|
* @param view_name The unique name of the new view. Can not be 'taxonomy' (used for URIs).
|
|
* @param line_selection Eventually a pointer on a list of indexes corresponding to a line selection to use with the view to clone
|
|
* if there is one. NULL if there is no line selection or no view to clone.
|
|
* @param comments Eventually, comments to associate with the view. NULL if not.
|
|
*
|
|
* @returns A pointer to the newly created view structure.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since April 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obiview_p obi_clone_view_from_name(OBIDMS_p dms, const char* view_to_clone_name, const char* view_name, index_t* line_selection, const char* comments);
|
|
|
|
|
|
/**
|
|
* @brief Maps a view file and returns the mapped structure stored in it.
|
|
*
|
|
* @param dms A pointer on the OBIDMS.
|
|
* @param view_name The unique name identifying the view.
|
|
* @param finished Whether the view is finished or not.
|
|
*
|
|
* @returns A pointer on the mapped view infos structure.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since June 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obiview_infos_p obi_view_map_file(OBIDMS_p dms, const char* view_name, bool finished);
|
|
|
|
|
|
/**
|
|
* @brief Unmaps a view file.
|
|
*
|
|
* @param dms A pointer on the OBIDMS.
|
|
* @param view_infos A pointer on the mapped view infos structure.
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since June 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_view_unmap_file(OBIDMS_p dms, Obiview_infos_p view_infos);
|
|
|
|
|
|
/**
|
|
* @brief Opens a view identified by its name stored in the view file.
|
|
*
|
|
* When opening a view, all the columns and eventually the line selection belonging to it are opened with it.
|
|
*
|
|
* @warning The opened view is read-only.
|
|
*
|
|
* @param dms A pointer on the OBIDMS.
|
|
* @param view_name The unique name identifying the view.
|
|
*
|
|
* @returns A pointer on the opened view structure.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since December 2015
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obiview_p obi_open_view(OBIDMS_p dms, const char* view_name);
|
|
|
|
|
|
/**
|
|
* @brief Adds a column to a view.
|
|
*
|
|
* - If there is a line selection:
|
|
* - The column's lines_used attribute must be at least the view's line count
|
|
* - If there is no line selection:
|
|
* - If it's the first column in the view:
|
|
* - The view's line count is set to the column's lines_used attribute
|
|
* - If it's not the first column in the view:
|
|
* - The column's lines_used attribute must be equal to the view's line count
|
|
*
|
|
* @warning The view must be writable.
|
|
*
|
|
* @param view A pointer on the view.
|
|
* @param column_name The name of the column.
|
|
* @param version_number The version of the column if it should be opened and not created
|
|
* (if -1, the latest version is retrieved).
|
|
* @param alias The unique name used to identify the column in the context of this view.
|
|
* If NULL or "", column_name is used.
|
|
* @param data_type The OBIType code of the data, if the column is created.
|
|
* @param nb_lines The number of lines to be stored (can be 0 if not known), if the column is created.
|
|
* @param nb_elements_per_line The number of elements per line, if the column is created.
|
|
* @param elements_names The names of the elements with ';' as separator (no terminal ';'),
|
|
* if the column is created; NULL or "" if the default names are to be used ("0\01\02\0...\0n").
|
|
* @param elt_names_formatted Whether the separator for the elements names is ';' (false), or '\0' (true, as formatted by format_elements_names()).
|
|
* @param dict_column Whether the column contains dictionary-like values.
|
|
* @param tuples A boolean indicating whether the column should contain indices referring to indexed tuples.
|
|
* @param to_eval A boolean indicating whether the column contains expressions that should be evaluated
|
|
* (typically OBI_STR columns containing character strings to be evaluated by Python).
|
|
* @param indexer_name The name of the indexer if there is one associated with the column, if the column is created.
|
|
* If NULL or "", the indexer name is set as the column name.
|
|
* @param associated_column_name The name of the associated column if there is one (otherwise NULL or ""), if the column is created.
|
|
* @param associated_column_version The version of the associated column if there is one (otherwise -1), if the column is created.
|
|
* @param comments Optional comments associated with the column if it is created (NULL or "" if no comments associated).
|
|
* @param create Whether the column should be created (create == true) or already exists (create == false).
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_view_add_column(Obiview_p view,
|
|
char* column_name,
|
|
obiversion_t version_number,
|
|
const char* alias,
|
|
OBIType_t data_type,
|
|
index_t nb_lines,
|
|
index_t nb_elements_per_line,
|
|
char* elements_names,
|
|
bool elt_names_formatted,
|
|
bool dict_column,
|
|
bool tuples,
|
|
bool to_eval,
|
|
const char* indexer_name,
|
|
const char* associated_column_name,
|
|
obiversion_t associated_column_version,
|
|
const char* comments,
|
|
bool create);
|
|
|
|
|
|
/**
|
|
* @brief Deletes a column from a view.
|
|
*
|
|
* @warning The view must be writable.
|
|
*
|
|
* @param view A pointer on the view.
|
|
* @param column_name The name of the column that should be deleted from the view.
|
|
* @param delete_file Whether the column file should be deleted. Use carefully re: dependencies.
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_view_delete_column(Obiview_p view, const char* column_name, bool delete_file);
|
|
|
|
|
|
/**
|
|
* @brief Gets the pointer on a column from its name in a view.
|
|
*
|
|
* @param view A pointer on the view.
|
|
* @param column_name The name of the column in the view.
|
|
*
|
|
* @returns A pointer on the column.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
OBIDMS_column_p obi_view_get_column(Obiview_p view, const char* column_name);
|
|
|
|
|
|
/**
|
|
* @brief Checks if a column exists in a view.
|
|
*
|
|
* @param view A pointer on the view.
|
|
* @param column_name The name of the column in the view.
|
|
*
|
|
* @returns A boolean indicating whether or not the column exists in the view.
|
|
*
|
|
* @since July 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
bool obi_view_column_exists(Obiview_p view, const char* column_name);
|
|
|
|
|
|
/**
|
|
* @brief Gets the pointer on the pointer on a column from its name in a view.
|
|
*
|
|
* Note: This is used to replace old cloned columns with new ones in views in layers above the C layer.
|
|
*
|
|
* @param view A pointer on the view.
|
|
* @param column_name The name of the column in the view.
|
|
*
|
|
* @returns A pointer on the pointer on the column.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
OBIDMS_column_p* obi_view_get_pointer_on_column_in_view(Obiview_p view, const char* column_name);
|
|
|
|
|
|
/**
|
|
* @brief Changes the name that identifies a column in the context of a view.
|
|
*
|
|
* In the context of a view, each column is identified by a name that is unique in this view.
|
|
*
|
|
* @warning The view must be writable.
|
|
*
|
|
* @param view A pointer on the view.
|
|
* @param current_name The current name that identifies the column in this view.
|
|
* @param alias The new name that should be used to identify the column in this view.
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since July 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_view_create_column_alias(Obiview_p view, const char* current_name, const char* alias);
|
|
|
|
|
|
/**
|
|
* @brief Returns the informations of a view with a human readable format (view name, date created, line count, column informations, comments).
|
|
*
|
|
* @warning The returned pointer has to be freed by the caller.
|
|
*
|
|
* @param column A pointer on a view.
|
|
* @param detailed Whether the informations should contain view comments.
|
|
*
|
|
* @returns A pointer on a character array where the formatted view informations are stored.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since September 2020
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_view_formatted_infos(Obiview_p view, bool detailed);
|
|
|
|
|
|
/**
|
|
* @brief Returns the informations of a view with a human readable format on one line (view name, date created, line count).
|
|
*
|
|
* @warning The returned pointer has to be freed by the caller.
|
|
*
|
|
* @param column A pointer on a view.
|
|
*
|
|
* @returns A pointer on a character array where the formatted view informations are stored.
|
|
* @retval NULL if an error occurred.
|
|
*
|
|
* @since September 2020
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_view_formatted_infos_one_line(Obiview_p view);
|
|
|
|
|
|
/**
|
|
* @brief Internal function writing new comments in a view file.
|
|
*
|
|
* The new comments replace the pre-existing ones.
|
|
* The view file is enlarged if necessary.
|
|
*
|
|
* @param view A pointer on the view.
|
|
* @param comments The new comments that should be written.
|
|
*
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_view_write_comments(Obiview_p view, const char* comments);
|
|
|
|
|
|
/**
|
|
* @brief Adds comments to a view file.
|
|
*
|
|
* This reads the comments in the JSON format and adds the key value pair.
|
|
* If the key already exists, the value format is turned into an array and the new value is appended
|
|
* if it is not already in the array.
|
|
*
|
|
* @param column A pointer on an OBIDMS column.
|
|
* @param key The key.
|
|
* @param value The value associated with the key.
|
|
*
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2018
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_view_add_comment(Obiview_p view, const char* key, const char* value);
|
|
|
|
|
|
/**
|
|
* @brief Closes an opened view, and saves it if it is not read-only (meaning it is not already saved in the view file).
|
|
*
|
|
* The predicates associated with the view are checked before saving it, and -1 is returned if at
|
|
* least one predicate is not respected.
|
|
*
|
|
* @param view A pointer on the view.
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_save_and_close_view(Obiview_p view);
|
|
|
|
|
|
/**
|
|
* @brief Goes through all the view files of a DMS and checks for views that have
|
|
* not been flagged as finished (file extension renamed from '.obiview_unfinished'
|
|
* to '.obiview' and finished boolean set to true in the file, done by finish_view()).
|
|
*
|
|
* @param dms A pointer on an OBIDMS.
|
|
*
|
|
* @returns A boolean indicating whether unfinished views were found.
|
|
*
|
|
* @since September 2019
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_dms_has_unfinished_views(OBIDMS_p dms);
|
|
|
|
|
|
/**
|
|
* @brief Goes through all the view files of a DMS and deletes views that have
|
|
* not been flagged as finished (file extension renamed from '.obiview_unfinished'
|
|
* to '.obiview' and finished boolean set to true in the file, done by finish_view()).
|
|
*
|
|
* @param dms A pointer on an OBIDMS.
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since October 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_clean_unfinished_views(OBIDMS_p dms);
|
|
|
|
|
|
/**
|
|
* @brief Frees and deletes an opened, writable view and the columns it created.
|
|
*
|
|
* The view and column files are deleted and the structures are freed.
|
|
*
|
|
* @warning The view pointer becomes invalid, as well as the pointers on
|
|
* the columns created by the view.
|
|
*
|
|
* @param view A pointer on the writable view to rollback.
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since October 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_rollback_view(Obiview_p view);
|
|
|
|
|
|
/**
|
|
* @brief Deletes a finished view file.
|
|
*
|
|
* Only the view informations file is deleted.
|
|
* This function should only be used to delete 'temporary views' not meant to appear in the DMS history.
|
|
*
|
|
* @warning The view needs to be closed. The function checks that the view exists and is finished, but not that it is closed.
|
|
* If it was not closed, memory errors will be generated when the system tries to read the deleted file.
|
|
* // TODO maybe take opened view as argument in order to close it? but doesn't guarantee that it isn't open elsewhere.
|
|
*
|
|
* @param dms A pointer on the DMS to which the view belongs.
|
|
* @param view_name The name of the view to delete.
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since October 2018
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_delete_view(OBIDMS_p dms, const char* view_name);
|
|
|
|
|
|
/**
|
|
* @brief Creates an OBI_INT column with the line count of the view it belongs to, and sets all lines to 1.
|
|
*
|
|
* @warning The number of lines set corresponds to the line count of the view.
|
|
*
|
|
* @param view A pointer on the view.
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since July 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_create_auto_count_column(Obiview_p view);
|
|
|
|
|
|
/**
|
|
* @brief Creates an OBI_STR column with the line count of the view it belongs to, and sets all lines with automatic identifiers
|
|
* with the form prefix_index.
|
|
*
|
|
* @warning The number of lines set corresponds to the line count of the view.
|
|
*
|
|
* @param view A pointer on the view.
|
|
* @param prefix The prefix of automatic ids. The ids have the form prefix_index. If NULL, the default ID_PREFIX is used.
|
|
*
|
|
* @returns A value indicating the success of the operation.
|
|
* @retval 0 if the operation was successfully completed.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since July 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_create_auto_id_column(Obiview_p view, const char* prefix);
|
|
|
|
|
|
/**
|
|
* @brief Recovers an obiblob from an OBIDMS column containing indices referring to obiblobs,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered obiblob.
|
|
* @retval OBIBlob_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obi_blob_p obi_get_blob_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Recovers an obiblob from an OBIDMS column containing indices referring to obiblobs,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered obiblob.
|
|
* @retval OBIBlob_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obi_blob_p obi_get_blob_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Recovers an obiblob from an OBIDMS column containing indices referring to obiblobs,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered obiblob.
|
|
* @retval OBIBlob_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obi_blob_p obi_get_blob_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Recovers an obiblob from an OBIDMS column containing indices referring to obiblobs,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered obiblob.
|
|
* @retval OBIBlob_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
Obi_blob_p obi_get_blob_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_BOOL,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_bool_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, obibool_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_BOOL,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_bool_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, obibool_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_BOOL,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIBool_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obibool_t obi_get_bool_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_BOOL,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIBool_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obibool_t obi_get_bool_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_BOOL,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_bool_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, obibool_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_BOOL,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_bool_with_elt_name_and_column_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, obibool_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_BOOL,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIBool_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obibool_t obi_get_bool_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_BOOL,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIBool_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obibool_t obi_get_bool_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_CHAR,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_char_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, obichar_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_CHAR,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_char_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, obichar_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_CHAR,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIChar_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obichar_t obi_get_char_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_CHAR,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIChar_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obichar_t obi_get_char_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_CHAR,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_char_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, obichar_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_CHAR,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_char_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, obichar_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_CHAR,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIChar_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obichar_t obi_get_char_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_CHAR,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIChar_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obichar_t obi_get_char_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_FLOAT,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_float_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, obifloat_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_FLOAT,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_float_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, obifloat_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_FLOAT,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIFloat_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obifloat_t obi_get_float_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_FLOAT,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIFloat_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obifloat_t obi_get_float_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_FLOAT,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_float_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, obifloat_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_FLOAT,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_float_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, obifloat_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_FLOAT,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIFloat_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obifloat_t obi_get_float_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_FLOAT,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIFloat_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obifloat_t obi_get_float_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_INT,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_int_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, obiint_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_INT,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_int_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, obiint_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_INT,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIInt_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obiint_t obi_get_int_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_INT,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIInt_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obiint_t obi_get_int_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_INT,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_int_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, obiint_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_INT,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_int_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, obiint_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_INT,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIInt_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obiint_t obi_get_int_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_INT,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIInt_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
obiint_t obi_get_int_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This function is for qualities in the character string format.
|
|
*
|
|
* @warning Pointers returned by obi_open_column() don't allow writing.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer as returned by obi_create_column() or obi_clone_column().
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set, in the character string format.
|
|
* @param offset The ASCII base of sequence quality, used to convert sequence qualities from characters to integers
|
|
* and the other way around.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since May 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_qual_char_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, const char* value, int offset);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This function is for qualities in the character string format.
|
|
*
|
|
* @warning Pointers returned by obi_open_column() don't allow writing.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set, in the character string format.
|
|
* @param offset The ASCII base of sequence quality, used to convert sequence qualities from characters to integers
|
|
* and the other way around.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_qual_char_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, const char* value, int offset);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This function is for qualities in the integer array format.
|
|
*
|
|
* @warning Pointers returned by obi_open_column() don't allow writing.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer as returned by obi_create_column() or obi_clone_column().
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set, in the integer array format.
|
|
* @param value_length The length of the integer array.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since May 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_qual_int_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, const uint8_t* value, int value_length);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This function is for qualities in the integer array format.
|
|
*
|
|
* @warning Pointers returned by obi_open_column() don't allow writing.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set, in the integer array format.
|
|
* @param value_length The length of the integer array.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_qual_int_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, const uint8_t* value, int value_length);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This function returns quality scores in the character string format.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer as returned by obi_create_column().
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
* @param offset The ASCII base of sequence quality, used to convert sequence qualities from characters to integers
|
|
* and the other way around.
|
|
*
|
|
* @returns The recovered value, in the character string format.
|
|
* @retval OBIQual_char_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since May 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_get_qual_char_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, int offset);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This function returns quality scores in the character string format.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
* @param offset The ASCII base of sequence quality, used to convert sequence qualities from characters to integers
|
|
* and the other way around.
|
|
*
|
|
* @returns The recovered value, in the character string format.
|
|
* @retval OBIQual_char_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_get_qual_char_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, int offset);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This function returns quality scores in the integer array format.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer as returned by obi_create_column().
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
* @param value_length A pointer on an integer to store the length of the integer array recovered.
|
|
*
|
|
* @returns The recovered value, in the integer array format.
|
|
* @retval OBIQual_int_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since May 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const uint8_t* obi_get_qual_int_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, int* value_length);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This function returns quality scores in the integer array format.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
* @param value_length A pointer on an integer to store the length of the integer array recovered.
|
|
*
|
|
* @returns The recovered value, in the integer array format.
|
|
* @retval OBIQual_int_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const uint8_t* obi_get_qual_int_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, int* value_length);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This function is for quality scores in the character string format.
|
|
*
|
|
* @warning Pointers returned by obi_open_column() don't allow writing.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer as returned by obi_create_column() or obi_clone_column().
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set, in the character string format.
|
|
* @param offset The ASCII base of sequence quality, used to convert sequence qualities from characters to integers
|
|
* and the other way around.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since May 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_qual_char_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, const char* value, int offset);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This function is for quality scores in the character string format.
|
|
*
|
|
* @warning Pointers returned by obi_open_column() don't allow writing.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set, in the character string format.
|
|
* @param offset The ASCII base of sequence quality, used to convert sequence qualities from characters to integers
|
|
* and the other way around.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_qual_char_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, const char* value, int offset);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This function is for quality scores in the integer array format.
|
|
*
|
|
* @warning Pointers returned by obi_open_column() don't allow writing.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer as returned by obi_create_column() or obi_clone_column().
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set, in the integer format.
|
|
* @param value_length The length of the integer array.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since May 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_qual_int_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, const uint8_t* value, int value_length);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This function is for quality scores in the integer array format.
|
|
*
|
|
* @warning Pointers returned by obi_open_column() don't allow writing.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set, in the integer format.
|
|
* @param value_length The length of the integer array.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_qual_int_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, const uint8_t* value, int value_length);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This function returns quality scores in the character string format.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer as returned by obi_create_column() or obi_clone_column().
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
* @param offset The ASCII base of sequence quality, used to convert sequence qualities from characters to integers
|
|
* and the other way around.
|
|
*
|
|
* @returns The recovered value, in the character string format.
|
|
* @retval OBIQual_char_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since May 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_get_qual_char_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, int offset);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This function returns quality scores in the character string format.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
* @param offset The ASCII base of sequence quality, used to convert sequence qualities from characters to integers
|
|
* and the other way around.
|
|
*
|
|
* @returns The recovered value, in the character string format.
|
|
* @retval OBIQual_char_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_get_qual_char_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, int offset);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This function returns quality scores in the integer array format.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer as returned by obi_create_column() or obi_clone_column().
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
* @param value_length A pointer on an integer to store the length of the integer array recovered.
|
|
*
|
|
* @returns The recovered value, in the integer format.
|
|
* @retval OBIQual_int_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since May 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const uint8_t* obi_get_qual_int_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, int* value_length);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
|
|
* to sequence qualities handled by an indexer (OBI_QUAL data type),
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This function returns quality scores in the integer array format.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
* @param value_length A pointer on an integer to store the length of the integer array recovered.
|
|
*
|
|
* @returns The recovered value, in the integer format.
|
|
* @retval OBIQual_int_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const uint8_t* obi_get_qual_int_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, int* value_length);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_SEQ,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_seq_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, const char* value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_SEQ,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_seq_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, const char* value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_SEQ,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBISeq_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_get_seq_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_SEQ,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBISeq_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_get_seq_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_SEQ,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_seq_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, const char* value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_SEQ,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_seq_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, const char* value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_SEQ,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBISeq_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_get_seq_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_SEQ,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBISeq_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
char* obi_get_seq_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_STR,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_str_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, const char* value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_STR,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_str_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, const char* value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_STR,
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIStr_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const char* obi_get_str_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_STR,
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIStr_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const char* obi_get_str_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_STR,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_str_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, const char* value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing data with the type OBI_STR,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_str_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, const char* value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_STR,
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIStr_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since February 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const char* obi_get_str_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing data with the type OBI_STR,
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIStr_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since August 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const char* obi_get_str_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing indices (stored data type: OBI_IDX),
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* Note: Columns containing indices refer to data stored elsewhere, for example lines in other columns,
|
|
* or data stored in indexers.
|
|
*
|
|
* In the case of columns referring to values stored in indexers, this allows to directly set already-known
|
|
* indices without going through the time-consuming step of indexing the value.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_index_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx, index_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing indices (stored data type: OBI_IDX),
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* Note: Columns containing indices refer to data stored elsewhere, for example lines in other columns,
|
|
* or data stored in indexers.
|
|
*
|
|
* In the case of columns referring to values stored in indexers, this allows to directly set already-known
|
|
* indices without going through the time-consuming step of indexing the value.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_idx The index of the element that should be set in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_index_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx, index_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing indices (stored data type: OBI_IDX),
|
|
* using the index of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This enables to recover the indexes in columns containing any type of indexed data (OBI_SEQ, OBI_STR...), for example to quickly test if
|
|
* the values are identical (same index in the same indexer).
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIIdx_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
index_t obi_get_index_with_elt_idx_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing indices (stored data type: OBI_IDX),
|
|
* using the index of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This enables to recover the indexes in columns containing any type of indexed data (OBI_SEQ, OBI_STR...), for example to quickly test if
|
|
* the values are identical (same index in the same indexer).
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_idx The index of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIIdx_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
index_t obi_get_index_with_elt_idx_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, index_t element_idx);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing indices (stored data type: OBI_IDX),
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* Note: Columns containing indices refer to data stored elsewhere, for example lines in other columns,
|
|
* or data stored in indexers.
|
|
*
|
|
* In the case of columns referring to values stored in indexers, this allows to directly set already-known
|
|
* indices without going through the time-consuming step of indexing the value.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_index_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name, index_t value);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing indices (stored data type: OBI_IDX),
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* Note: Columns containing indices refer to data stored elsewhere, for example lines in other columns,
|
|
* or data stored in indexers.
|
|
*
|
|
* In the case of columns referring to values stored in indexers, this allows to directly set already-known
|
|
* indices without going through the time-consuming step of indexing the value.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
* @param value The value that should be set.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_index_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name, index_t value);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing indices (stored data type: OBI_IDX),
|
|
* using the name of the element in the line, and the column pointer, in the context of a view.
|
|
*
|
|
* This enables to recover the indexes in columns containing any type of indexed data (OBI_SEQ, OBI_STR...), for example to quickly test if
|
|
* the values are identical (same index in the same indexer).
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIIdx_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
index_t obi_get_index_with_elt_name_and_col_p_in_view(Obiview_p view, OBIDMS_column_p column_p, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing indices (stored data type: OBI_IDX),
|
|
* using the name of the element in the line, and the column name, in the context of a view.
|
|
*
|
|
* This enables to recover the indexes in columns containing any type of indexed data (OBI_SEQ, OBI_STR...), for example to quickly test if
|
|
* the values are identical (same index in the same indexer).
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The alias of the column in the view.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param element_name The name of the element that should be recovered in the line.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBIIdx_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since November 2016
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
index_t obi_get_index_with_elt_name_and_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const char* element_name);
|
|
|
|
|
|
/*********** FOR ARRAY COLUMNS ***********/
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing indices referring to indexed arrays,
|
|
* using the column pointer, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param value The value that should be set.
|
|
* @param elt_size The size in bits of one element.
|
|
* @param value_length The length (number of elements) of the array to index.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since October 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_array_with_col_p_in_view(Obiview_p view, OBIDMS_column_p column, index_t line_nb, const void* value, uint8_t elt_size, int32_t value_length);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing indices referring to indexed arrays,
|
|
* using the column pointer, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_p A pointer on the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param value_length_p A pointer on an int where the length of the value (number of elements in the array) will be stored.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBITuple_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since October 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const void* obi_get_array_with_col_p_in_view(Obiview_p view, OBIDMS_column_p column, index_t line_nb, int32_t* value_length_p);
|
|
|
|
|
|
/**
|
|
* @brief Sets a value in an OBIDMS column containing indices referring to indexed arrays,
|
|
* using the column name, in the context of a view.
|
|
*
|
|
* Note: If the column is read-only or if there is a line selection associated with the view (making columns non-writable), it is cloned.
|
|
*
|
|
* @param view A pointer on the opened writable view.
|
|
* @param column_name The name of the column.
|
|
* @param line_nb The number of the line where the value should be set.
|
|
* @param value The value that should be set.
|
|
* @param elt_size The size in bits of one element.
|
|
* @param value_length The length (number of elements) of the array to index.
|
|
*
|
|
* @returns An integer value indicating the success of the operation.
|
|
* @retval 0 on success.
|
|
* @retval -1 if an error occurred.
|
|
*
|
|
* @since October 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
int obi_set_array_with_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, const void* value, uint8_t elt_size, int32_t value_length);
|
|
|
|
|
|
/**
|
|
* @brief Recovers a value in an OBIDMS column containing indices referring to indexed arrays,
|
|
* using the column name, in the context of a view.
|
|
*
|
|
* @param view A pointer on the opened view.
|
|
* @param column_name The name of the column.
|
|
* @param line_nb The number of the line where the value should be recovered.
|
|
* @param value_length_p A pointer on an int where the length of the value (number of elements in the array) will be stored.
|
|
*
|
|
* @returns The recovered value.
|
|
* @retval OBITuple_NA the NA value of the type if an error occurred and obi_errno is set.
|
|
*
|
|
* @since October 2017
|
|
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
|
*/
|
|
const void* obi_get_array_with_col_name_in_view(Obiview_p view, const char* column_name, index_t line_nb, int32_t* value_length_p);
|
|
|
|
|
|
#endif /* OBIVIEW_H_ */
|