ReadGeneModel.c geneid v 1.2 source documentation


Description:
Acquiring the information to establish the allowed connections between exon types, from the parameter file. Gene model might therefore be modified by the user, changing/adding features, distances or switch group restriction on.

Gene model rules have this form:

U1 : U2 : ... : Un D1 : D2 : ... : Dm dmin : dmax [block]
where
  • the list (Upstream Compatible) of types U1 : U2 : ... : Un are features allowed to connect in front of features in the list (Downstream Equivalent) D1 : D2 : ... : Dm, as long as they match the distances [dmin,dmax] requirement.

  • block flag in a rule means the restriction of having the same group is switch on for 2 candidates to connect by using this assembly class.
  • Maximum distance may be skipped by using the keyword "Infinity".
Briefing:
void shareGeneModel(gparam** isochores, int nIsochores)
To share the gene model information between several isochores by using the same pointers to the dictionary of features and other arrays and copying extra information.
long ReadGeneModel (FILE *file, dict *d,
                    int nc[], int ne[],
                    int UC[][MAXENTRY],
                    int DE[][MAXENTRY],
                    long md[], long Md[],
                    int block[])
Parsing the gene model rules to extract for every feature this information: lines (rules) where it was at the left part (upstream), at the right (downstream). For every rule (class or line), to save the range of distances allowed to connect and whether the restriction of having the same group is raised or not. This information is stored at the dictionary data structure and some extra structures such as UC, DE, nc, ne and distances arrays. If the option -F is activated, a couple of artificial rules with feature sGHOST are introduced to force one complete gene prediction.




Enrique Blanco Garcia © 2003