It would be nice to have a general base class for indices such as ContextIndex and RSIndex. This class will ease the development of DB and CN indices (issues #17 and #18).
The base class can be a template mapping a set of keys to the stored values. For instance, in the case of the ContextIndex, the keys are the contexts and the values are the context positions into the genome.
The general index class must:
- implement an empty constructor
- support back-tracking when requested
- implement a method to randomly extract a value from a key's bucket
- provide a method to insert a value into a key's bucket
- support
RACES::IO::Archive
All the index classes should be implemented by using the general class. Since ContextIndex and DBIndex's keys are classes of DNA sequences consisting of sequences and their inverse complements, their extracting method should also return a flag to report which of the keys has been selected.
It would be nice to have a general base class for indices such as
ContextIndexandRSIndex. This class will ease the development of DB and CN indices (issues #17 and #18).The base class can be a template mapping a set of keys to the stored values. For instance, in the case of the
ContextIndex, the keys are the contexts and the values are the context positions into the genome.The general index class must:
RACES::IO::ArchiveAll the index classes should be implemented by using the general class. Since
ContextIndexandDBIndex's keys are classes of DNA sequences consisting of sequences and their inverse complements, their extracting method should also return a flag to report which of the keys has been selected.