/* GReadings.sense */
#define GAP_SENSE_ORIGINAL 0
#define GAP_SENSE_REVERSE 1
/* GReadings.strand */
#define GAP_STRAND_FORWARD 0
#define GAP_STRAND_REVERSE 1
/* GReadings.primer */
#define GAP_PRIMER_UNKNOWN 0
#define GAP_PRIMER_FORWARD 1
#define GAP_PRIMER_REVERSE 2
#define GAP_PRIMER_CUSTFOR 3
#define GAP_PRIMER_CUSTREV 4
/* GReadings.chemistry */
/* Bit 0 is 1 for terminator, 0 for primer */
#define GAP_CHEM_TERMINATOR (1<<0)
/* Bits 1 to 4 inclusive are the type (any one of, not bit pattern) */
#define GAP_CHEM_TYPE_MASK (15<<1)
#define GAP_CHEM_TYPE_UNKNOWN (0<<1)
#define GAP_CHEM_TYPE_ABI_RHOD (1<<1)
#define GAP_CHEM_TYPE_ABI_DRHOD (2<<1)
#define GAP_CHEM_TYPE_BIGDYE (3<<1)
#define GAP_CHEM_TYPE_ET (4<<1)
#define GAP_CHEM_TYPE_LICOR (5<<1)
typedef struct {
GCardinal name;
GCardinal trace_name;
GCardinal trace_type;
GCardinal left; /* left neighbour */
GCardinal right; /* right neighbour */
GCardinal position; /* position in contig */
GCardinal length; /* total length of reading */
GCardinal sense; /* 0 = original, 1 = reverse */
GCardinal sequence;
GCardinal confidence;
GCardinal orig_positions;
GCardinal chemistry; /* see comments above (GAP_CHEM_*) */
GCardinal annotations; /* start of annotation list */
GCardinal sequence_length; /* clipped length */
GCardinal start; /* last base of left cutoff */
GCardinal end; /* first base of right cutoff */
GCardinal template; /* aka subclone */
GCardinal strand; /* 0 = forward, 1 = reverse */
GCardinal primer; /* 0 = unknown, 1 = forwards, */
/* 2 = reverse, 3 = custom forward */
/* 4 = custom reverse */
GCardinal notes; /* Unpositional annotations */
} GReadings;
The reading structure contains information related to individual sequence
fragments. It should be read and written using the gel_read and
gel_write functions. Whilst it is perfectly possible to use
GT_Read to access this data, using gel_read will read from an
in-memory cache and so is much faster. Using GT_Write to write a
GReadings structure must never be used as it will invalidate the cache.
io_read_reading_name and io_write_reading_name instead of
io_read_text or io_write_text. See section io_read_reading_name and io_write_reading_name.
GAP_SENSE_* macros should be used in preference to integer
values.
chemistry &
GAP_CHEM_DOUBLE contains the terminator reaction information. Non
zero implies a terminator reaction, which can then optionally be used
as double stranded sequence.
GAP_STRAND_* macros should be used in preference to integer
values.
GAP_PRIMER_* macros
should be used in preference to integer values.