oracular (3) ExperimentFile.3.gz

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)