obidmscolumn_seq.h 7.18 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/****************************************************************************
 * OBIDMS_column_seq header file                                            *
 ****************************************************************************/

/**
 * @file obidsmcolumn_seq.h
 * @author Celine Mercier
 * @date Novemeber 18th 2015
 * @brief Header file for the functions handling OBIColumns containing data in the form of indices referring to DNA sequences.
 */


#ifndef OBIDMSCOLUMN_SEQ_H_
#define OBIDMSCOLUMN_SEQ_H_


#include <stdlib.h>
#include <stdio.h>

#include "obidmscolumn.h"
#include "obitypes.h"
Celine Mercier's avatar
Celine Mercier committed
22
#include "obiview.h"
23 24 25 26


/**
 * @brief Sets a value in an OBIDMS column containing data in the form of indices referring
Celine Mercier's avatar
Celine Mercier committed
27
 * to DNA sequences handled by an indexer, and using the index of the element in the column's line.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
 *
 * @warning Pointers returned by obi_open_column() don't allow writing.
 *
 * @param column 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.
 *
 * @returns An integer value indicating the success of the operation.
 * @retval 0 on success.
 * @retval -1 if an error occurred.
 *
 * @since November 2015
 * @author Celine Mercier (celine.mercier@metabarcoding.org)
 */
int obi_column_set_obiseq_with_elt_idx(OBIDMS_column_p column, index_t line_nb, index_t element_idx, char* value);


/**
 * @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
Celine Mercier's avatar
Celine Mercier committed
48
 * to DNA sequences handled by an indexer, and using the index of the element in the column's line.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
 *
 * @param column 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.
 *
 * @returns The recovered value.
 * @retval '\0' the NA value of the type if an error occurred and obi_errno is set.
 *
 * @since November 2015
 * @author Celine Mercier (celine.mercier@metabarcoding.org)
 */
const char* obi_column_get_obiseq_with_elt_idx(OBIDMS_column_p column, index_t line_nb, index_t element_idx);


/**
 * @brief Sets a value in an OBIDMS column containing data in the form of indices referring
Celine Mercier's avatar
Celine Mercier committed
65
 * to DNA sequences handled by an indexer, using the name of the element in the line.
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
 *
 * @warning Pointers returned by obi_open_column() don't allow writing.
 *
 * @param column 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.
 *
 * @returns An integer value indicating the success of the operation.
 * @retval 0 on success.
 * @retval -1 if an error occurred.
 *
 * @since November 2015
 * @author Celine Mercier (celine.mercier@metabarcoding.org)
 */
int obi_column_set_obiseq_with_elt_name(OBIDMS_column_p column, index_t line_nb, const char* element_name, char* value);


/**
 * @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
Celine Mercier's avatar
Celine Mercier committed
86
 * to DNA sequences handled by an indexer, using the name of the element in the line.
87 88 89 90 91 92 93 94 95 96 97 98 99 100
 *
 * @param column 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.
 *
 * @returns The recovered value.
 * @retval '\0' the NA value of the type if an error occurred and obi_errno is set.
 *
 * @since November 2015
 * @author Celine Mercier (celine.mercier@metabarcoding.org)
 */
const char* obi_column_get_obiseq_with_elt_name(OBIDMS_column_p column, index_t line_nb, const char* element_name);


Celine Mercier's avatar
Celine Mercier committed
101 102
/**
 * @brief Sets a value in an OBIDMS column containing data in the form of indices referring
Celine Mercier's avatar
Celine Mercier committed
103
 * to DNA sequences handled by an indexer, using the index of the element in the line.
Celine Mercier's avatar
Celine Mercier committed
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
 *
 * @warning Pointers returned by obi_open_column() don't allow writing.
 *
 * @param column 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.
 *
 * @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_column_set_obiseq_with_elt_idx_in_view(Obiview_p view, OBIDMS_column_p column, index_t line_nb, index_t element_idx, char* value);


/**
 * @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
Celine Mercier's avatar
Celine Mercier committed
124
 * to DNA sequences handled by an indexer, using the index of the element in the line.
Celine Mercier's avatar
Celine Mercier committed
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
 *
 * @param column 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.
 *
 * @returns The recovered value.
 * @retval '\0' 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_column_get_obiseq_with_elt_idx_in_view(Obiview_p view, OBIDMS_column_p column, index_t line_nb, index_t element_idx);


/**
 * @brief Sets a value in an OBIDMS column containing data in the form of indices referring
Celine Mercier's avatar
Celine Mercier committed
141
 * to DNA sequences handled by an indexer, using the name of the element in the line.
Celine Mercier's avatar
Celine Mercier committed
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
 *
 * @warning Pointers returned by obi_open_column() don't allow writing.
 *
 * @param column 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.
 *
 * @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_column_set_obiseq_with_elt_name_in_view(Obiview_p view, OBIDMS_column_p column, index_t line_nb, const char* element_name, char* value);


/**
 * @brief Recovers a value in an OBIDMS column containing data in the form of indices referring
Celine Mercier's avatar
Celine Mercier committed
162
 * to DNA sequences handled by an indexer, using the name of the element in the line.
Celine Mercier's avatar
Celine Mercier committed
163 164 165 166 167 168 169 170 171 172 173 174 175 176
 *
 * @param column 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.
 *
 * @returns The recovered value.
 * @retval '\0' 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_column_get_obiseq_with_elt_name_in_view(Obiview_p view, OBIDMS_column_p column, index_t line_nb, const char* element_name);


177 178
#endif /* OBIDMSCOLUMN_SEQ_H_ */