Featurama      Online Help - Featurama Development

This page is intended to centralize the development of Featurama. It should provide a more in-depth look at the infrastructure of the program as well as aid the developers in bug tracking.

Featurama is written in C++. It has a number of classes which are described below. It was the intention of the developers to create classes which, after no or little alteration, could be employed as modules in other biological software. Whether or not this is possible to achieve will become clear only through practice.
Featurama Classes
DNASequence
This class is used by Featurama to represent DNA sequences. Its implementation is similar to a string class. The sequence is stored as a character array from the 5' to the 3' end of the sequence (TODO: a more memory efficient representation for DNA sequences which only have four letters may need to be implemented for larger genomes). The length of the DNA sequence is also stored as a variable. This class holds methods for concatenating and lopping either end of the sequence.
DNAFeature
This class is used by Featurama to represent DNA features that are considered and/or picked by the program, it is publicly derived from the DNASequence class. Its variables include variables associated with melting temperature calculations and a variable for heuristically testing its feasibility. This class extends DNASequence class by incorporating melting temperature calculation and methods for feature evaluation.
ContentHeuristic
This class is used for evaluation of features using some affy-like content heuristics. Each heuristic is stored as a boolean variable. The DNAFeature class is a friend of this class and has methods for evaluating each heuristics:
  • No more than x A's in a row.
  • No more than x T's in a row.
  • No more than x C's in a row.
  • No more than x G's in a row.
  • No more than x A's and T's in a window of y bases.
  • No more than x C's and G's in a window of y bases.
Gene
This class stores the data associated with a gene: its description, its sequence, the number of features that have been found for it, and an STL vector of pointers to DNAFeature class data of the features found for this gene.
Genome
This class stores three variables: the number of genes in the genome, and an STL vector of pointers to Gene class data, an STL map of found features. The map uses the DNASequence of each feature as the key and a private helper class DNAFeatureEntry containing a pointer to the DNAFeature structure and a pointer to the Gene for which this feature was found, as the value of the map. If the feature has been found for multiple genes the Gene pointer is NULL.
Featurama
This class stores variables needed for running Featurama and storing variables for describing the statistics of each run. This includes a genome for which the features are picked, the parameters set by the user, the file name storing the genome in interest, number of features looked, number of features rejected for various reasons, etc.

Featurama Documentation Starting Page

SourceForge Logo