-
Notifications
You must be signed in to change notification settings - Fork 87
Module: IO RNA Structure
JΓΆrg Winkler edited this page Mar 6, 2018
·
6 revisions
This project aims to implement I/O routines for
- fixed interactions with pseudoknot support
- base pair probability matrix (only read)
- alignments with consensus structure
StructureFile sf ("file.db", STRSEQ | ENERGY);
for (auto rec : sf)
{
structured_rna<rna4, dot_bracket3> structured_sequence;
structured_sequence = get<STRSEQ>(rec);
cout << get<ENERGY>(rec) << endl;
}
StructureFile sf ("bpp.ps", BPP);
for (auto rec : sf)
vector<vector<double>> matrix = get<BPP>(rec);
There is a config enum that allows the user to specify data fields to be obtained. A tuple of all required data is returned and can be accessed also through the enum variables.
- Develop the enum. Which data fields do we need? (see rna_record in SeqAn2)
- Implement the tuple to be returned. Its length is the number of elements in the enum.
- Write constructor: support Dot_bracket, Stockholm and ViennaRNA ps format as a start (we also need fasta, but this is sequence I/O).
- Implement the read() function dependent on file type. Skip information that is not stored.
- Implement the write() function. Check if required data fields are missing. Calculate values or set defaults for missing optional information (sequence length etc).
- seqan3/io/structure/ (directory)
- structure_file.hpp
- dot_bracket3.hpp
- bpp_matrix.hpp
- stockholm.hpp