Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ExperimentFile(3)		Staden Package		     ExperimentFile(3)

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	exper-
       iment 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 argu-
       ment.   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	 allo-
       cated  Exp_info	structure. If successful, the structure	pointer	is re-
       turn. Otherwise the null	pointer	is returned.

       exp_create_info allocates and initialises a new,	blank, Exp_info	struc-
       ture.  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  for-
       mat 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  ex-
       periment	file line type to the integer value. For example, exp_get_fea-
       ture_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 re-
       turned.

       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	speci-
       fied 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 ar-
       ray.

       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)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ExperimentFile&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help