-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathIsochoreTable.H
53 lines (49 loc) · 1.68 KB
/
IsochoreTable.H
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/****************************************************************
IsochoreTable.H
Copyright (C)2013 William H. Majoros ([email protected]).
This is OPEN SOURCE SOFTWARE governed by the Gnu General Public
License (GPL) version 3, as described at www.opensource.org.
****************************************************************/
#ifndef INCL_IsochoreTable_H
#define INCL_IsochoreTable_H
#include "BOOM/Regex.H"
#include "BOOM/Vector.H"
#include "BOOM/String.H"
#include "BOOM/ConfigFile.H"
#include "BOOM/Map.H"
#include "DiscreteDistribution.H"
#include "ContentType.H"
#include "Isochore.H"
#include "GarbageCollector.H"
class IsochoreTable
{
static BOOM::Regex lineRegex, globalRegex, commentRegex;
BOOM::Vector<Isochore*> isochores;
BOOM::Vector<float> boundaries;
int queueCapacity;
GarbageCollector &garbageCollector;
static BOOM::String romanNumerals[21];
void loadIsochore(BOOM::ConfigFile &,Isochore &);
void loadSubmodels(BOOM::ConfigFile &configFile,Isochore &);
void loadContentSensor(BOOM::ConfigFile &configFile,
const BOOM::String &modelLabel,
DistributionType distrType,
const BOOM::String &distrLabel,
ContentType contentType,
Isochore &);
void loadSignalSensor(BOOM::ConfigFile &configFile,
const BOOM::String &modelLabel,
const BOOM::String &consensusLabel,
Isochore &);
void loadSignalPeptideModel(const BOOM::String &filename,
BOOM::ConfigFile &configFile,Isochore &);
BOOM::String toRomanNumerals(int);
public:
IsochoreTable(GarbageCollector &);
void load(const BOOM::String &filename);
Isochore *getIsochore(float GC);
Isochore *getIthIsochore(int i);
int getQueueCapacity();
int getNumIsochores();
};
#endif