first previous next last contents

The GReadings Structure

/* 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.

name
The record number of the text string containing the reading identifier. Care must be taken to use the correct functions to access the reading name. Use 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.
trace_name
The record number of the text string containing the trace filename.
trace_type
The record number of the text string containing the type of the trace.
left
The left hand neighbour of this sequence, or 0 if this is the first reading in the contig. Sequences are stored in a doubly linked list which is sorted on positional order. The right hand neighbour of the sequence referenced by this field should be the same as this sequence number. NOTE: this is the reading number, not the record number.
right
The right hand neighbour of this sequence, or 0 if this is the last reading in the contig. The left hand neighbour of the sequence referenced by this field should be the same as this sequence number. NOTE: this is the reading number, not the record number.
position
The absolute position of this reading within the contig (starting from 1).
length
The total length of this reading, including cutoff data.
sense
The orientation of this reading. 0=original, 1=reversed. The GAP_SENSE_* macros should be used in preference to integer values.
sequence
The record number of the text string containing the complete sequence.
confidence
The record number of the 1 byte integer array containing the confidence values. This has one value per sequence base and so is the same length as the sequence array.
orig_positions
The record number of the 2 byte integer array containing the original positions of each base. This has one 2 byte value per sequence base.
chemistry
The chemistry type of this reading. 0=normal. 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.
annotations
The number of the first annotation for this reading. Annotations are stored in a linked list structure. This value is 0 if no annotations are available. NOTE: This is not the same as the record number of the first annotation.
sequence_length
The used length of sequence. This should always be the same as the end-start-1.
start
The position of the last base in the left hand cutoff data (starting from 1).
end
The position of the first base in the right hand cutoff data (starting from 1).
template
The template number. Readings sharing a template (ie insert) have the same template number.
strand
The strand this sequence was derived from. 0=forward, 1=reverse. The GAP_STRAND_* macros should be used in preference to integer values.
primer
The primer type for this sequence. 0=unknown, 1=forward, 2=reverse, 3=custom forward, 4=custom reverse. The GAP_PRIMER_* macros should be used in preference to integer values.

first previous next last contents
This page is maintained by staden-package. Last generated on 1 March 2001.
URL: http://www.mrc-lmb.cam.ac.uk/pubseq/manual/scripting_114.html