Provided by: libstaden-read-dev_1.15.0-1.1build2_amd64 bug

NAME

       exp_read_info,   exp_fread_info,   exp_create_info,   exp_destroy_info,  exp_create_range,
       exp_extract_range,   exp_get_feature_index,   exp_get_int,    exp_get_rng,    exp_get_str,
       exp_put_int,  exp_put_rng,  exp_put_str,  exp_print_line,  exp_print_seq,  exp_print_file,
       opos2str, str2opos, conf2str, str2conf - Manipulations of the Experiment File format

SYNOPSIS

       #include <expFileIO.h>

       Exp_info *exp_read_info(
            char *file);

       Exp_info *exp_fread_info(
            FILE *fp);

       Exp_info *exp_create_info();

       void exp_destroy_info(
            Exp_info *e);

       char *exp_create_range(
            char *str,
            int start,
            int end);

       int exp_extract_range(
            char *str,
            int *start,
            int *end);

       int exp_get_feature_index(
            char *e);

       int exp_get_int(
            Exp_info *e,
            int id,
            int *val);

       int exp_get_rng(
            Exp_info *e,
            int id,
            int *from,
            int *to);

       int exp_get_str(
            Exp_info *e,
            int id,
            char *s,
            f_implicit s_l);

       int exp_put_int(
            Exp_info *e,
            int id,
            int *val);

       int exp_put_rng(
            Exp_info *e,
            int id,
            int *from,
            int *to);

       int exp_put_str(
            Exp_info *e,
            int id,
            char *s,
            f_implicit s_l);

       int exp_print_line(
            FILE *fp,
            Exp_info *e,
            int eflt,
            int i);

       int exp_print_seq(
            FILE *fp,
            Exp_info *e,
            int eflt,
            int i);

       void exp_print_file(
            FILE *fp,
            Exp_info *e);

       char *opos2str(
            int2 *opos,
            int len,
            char *buf);

       int str2opos(
            int2 *opos,
            char *buf);

       char *conf2str(
            int1 *conf,
            int len,
            char *buf);

       int str2conf(
            int1 *conf,
            char *buf);

DESCRIPTION

       These functions manipulate Experiment Files. They include functions for reading,  writing,
       and  editing  the  files.  The  principle  structure  used by the routines is the Exp_info
       structure. This is as follows.
       #define MAXIMUM_EFLT_LENGTH     4
       #define MAXIMUM_EFLTS          48
       #define EXP_FILE_LINE_LENGTH  128

       typedef Array Exp_entries;

       typedef struct {
           Array entries[MAXIMUM_EFLTS]; /* array of array of entries */
           int Nentries[MAXIMUM_EFLTS];  /* array of number of entries */
           FILE *fp;
       } Exp_info;

       #define NULL_Exp_info ( (Exp_info *) NULL )

       For the purposes of simple and efficient coding, each line on an experiment file  must  be
       smaller than the defined EXP_FILE_LINE_LENGTH, which is 128 characters.

       Many  functions  take  an  experiment  file  line  type  identifier as an argument.  These
       functions are listed in the prototypes as taking int id. Here id should be specified using
       one  of  the macros defining in the header file. They take the form of EFLT_XX where XX is
       the line type. For instance, the ID line type identifier should be written as EFLT_ID.

       The C functions available follow. Some FORTRAN interfaces are also  available,  but  these
       are not documented. See the include file for their prototypes.

       exp_read_info  and  exp_fread_info  read  an  experiment  file  into an allocated Exp_info
       structure. If successful, the structure pointer is return. Otherwise the null  pointer  is
       returned.

       exp_create_info allocates and initialises a new, blank, Exp_info structure. If successful,
       the structure pointer is return. Otherwise the null pointer is returned.

       exp_destroy_info deallocates an Exp_info structure.

       exp_create_range creates a string using the experiment file range format of "start..stop".
       This  format  is  used by the AQ, ON, TG and TC line types. The buffer specified should be
       large enough to hold the string. The function returns  the  str  pointer  supplied  as  an
       argument.

       exp_extract_range  extracts  the  start and end values from the string representation of a
       range; "start..stop". The values are stored in the integer pointers sent as arguments.  If
       successful, the function returns 0. Otherwise -1 is returned.

       exp_get_feature_index  converts  from  a  string representation of an experiment file line
       type to the integer value. For example, exp_get_feature_index("SQ")  returns  the  integer
       22, which is the same as the EFLT_SQ definition.

       exp_get_int obtains the integer value held in a specific line type. The value is stored in
       the integer pointer val. If successful, the function returns 0.  Otherwise 1 is returned.

       exp_get_rng obtains the range values held in a specific line type. The values  are  stored
       in the integer pointers from and to. If successful, the function returns 0. Otherwise 1 is
       returned.

       exp_get_str obtains the string value held in a specific line type. The value is stored  in
       the  string  s.  At most s_l characters are copied. If successful, the function returns 0.
       Otherwise 1 is returned.

       exp_put_int writes the  integer  pointed  to  by  val  to  the  specified  line  type.  If
       successful, the function returns 0. Otherwise 1 is returned.

       exp_put_rng  writes  the  range  pointed  to by from and to to the specified line type. If
       successful, the function returns 0. Otherwise 1 is returned.

       exp_put_str writes the string s of length s_l to the specified line type.  If  successful,
       the function returns 0. Otherwise 1 is returned.

       exp_print_line outputs all entries of the specified type to the specified file pointer.

       exp_print_seq

       exp_print_file outputs all entries of all line types to the specified file pointer.

       opos2str  converts  an  array  of  original  positions held in opos with len elements to a
       string suitable for use in the ON line type. The buf should be large enough  to  hold  the
       string, which in the worst case will be 4 * sequence length. Returns buf.

       str2opos  converts the experiment file original position string held in buf to an array of
       original positions to be stored in opos. opos must be large enough to hold the data, hence
       it should be of the same length as the sequence. Returns the number of elements written to
       the opos array.

       conf2str converts an array of confidence values helf in  confR  with  len  elements  to  a
       string  suitable  for  use in the AV line type. The buf should be large enough to hold the
       string, which in the worst case will be 4 * sequence length. Returns buf.

       str2conf convers the experiment file confidence values string held in buf to an  array  of
       confidence  values to be stored in conf. conf must be large enough to hold the data, hence
       it should be of the same length as the sequence. Returns the number of elements written to
       the conf array.

SEE ALSO

       ExperimentFile(4)

                                                                                ExperimentFile(3)