31enum FeatureType {UNKNOWN_FEATURE = -1, startF, stopF, assF, dssF, tssF, ttsF, exonpartF, exonF, intronpartF, intronF, irpartF, CDSF, CDSpartF, UTRF, UTRpartF, nonexonpartF, nonirpartF};
154 incompGroups = strongerGroups = NULL;
156 geneBegin = geneEnd = -1;
167 delete strongerGroups;
171 string getName()
const {
return name;}
172 int getPriority()
const {
return priority;}
173 int getBegin()
const {
return begin;}
174 int getEnd()
const {
return end;}
175 int getGeneBegin()
const {
return geneBegin;}
176 int getGeneEnd()
const {
return geneEnd;}
177 int getCopyNumber()
const {
return copynumber;}
178 void addCopyNumber(
int n) {copynumber += n;}
179 int getSize()
const {
if (hints)
return hints->size();
else return 0;}
180 string getSource()
const {
if (hints){
return hints->front()->esource;}
else return "";}
181 list<HintGroup*> *getIncompGroups(){
return incompGroups;}
182 list<HintGroup*> *getStrongerGroups(){
return strongerGroups;}
183 list<Feature*> *getHints() {
return hints;}
184 void print(ostream& out,
bool withHints=
false);
186 void addFeature(
Feature *hint);
188 void updateFeatureConformance(
HintGroup &other);
189 bool nestedGenePossible(
HintGroup &other);
191 bool canCauseAltSplice();
192 void setActiveFlag(
bool active);
193 void setDiscardFlag(
bool discard);
194 void addIncompGroup(
HintGroup *otherGroup);
195 void addStrongerGroup(
HintGroup *otherGroup);
196 void sortIncompGroup(){
if (incompGroups) {incompGroups->sort();}}
198 list<Feature*> *hints;
199 list<HintGroup*> *incompGroups;
200 list<HintGroup*> *strongerGroups;