ActionList al;
GeneOrder temp(go);
while(inversionDistance(temp) > 0){
- cout << "AL: " << al.size() << " : ";
cout << "Distance: " << inversionDistance(temp) << " : ";
copy(temp.begin(), temp.end(), ostream_iterator<int>(cout, " "));
cout << endl;
if (safe.size() > 0){
safe[0](temp);
al.push_back(safe[0]);
- cout << "AL: " << al.size() << " : ";
}else
return ActionList(); //TODO: Need to handle hurdles.
}
for (size_t i = 0; i < intervals.size(); ++i){
if (intervals[i].oriented && intervals[i].first != intervals[i].second){
SortAction sa(new ReverseAction(intervals[i]));
- size_t score = scoreActions(go,sa);
+ size_t score = scoreAction(go,sa);
cout << "Inversion: " << min(intervals[i].first,intervals[i].second) << ":" << max(intervals[i].first,intervals[i].second)-1 << " Score: " << score << endl;
pq.push(pair<size_t,SortAction>(score,sa));
}
return al;
}
-size_t GeneSorter::scoreActions(const GeneOrder& go, SortAction& sa){
+size_t GeneSorter::scoreAction(const GeneOrder& go, SortAction& sa){
GeneOrder temp(go);
sa(temp);
vector<Interval> intervals = findIntervals(temp);
*/
ActionList safeActions(const GeneOrder& go1);
- size_t scoreActions(const GeneOrder& go, SortAction& sa);
+ /**
+ * Calculates the score for an action given a gene order
+ */
+ size_t scoreAction(const GeneOrder& go, SortAction& sa);
~GeneSorter(){};
};