X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=src%2Fgenealgorithms.h;h=a91f67ddcae2345497c24841ff93dc6d6d5ebf82;hb=5d72c22c72f7f7438d491373a9685aa8a790b1d2;hp=6bc133fa96174478746cd828659a476e02ea52ec;hpb=7e811915a713eeef44f03385a1fc1f74a5301c30;p=germs.git diff --git a/src/genealgorithms.h b/src/genealgorithms.h index 6bc133f..a91f67d 100644 --- a/src/genealgorithms.h +++ b/src/genealgorithms.h @@ -24,17 +24,12 @@ #include class GeneOrder; +struct Component; -struct Component{ - Component(int b,int e,int s):begin(b),end(e),sign(s){} - bool operator==(const Component& c){ - return begin == c.begin && end == c.end && sign == c.sign; - } - int begin; - int end; - int sign; -}; - +/** + * Simple interval struct, holds the indexes + information if the interval is + * oriented or not. + */ struct Interval{ Interval(size_t f,size_t s,bool o = false):first(f),second(s),oriented(o){} bool operator==(const Interval& i){ @@ -52,6 +47,8 @@ struct Interval{ std::pair longestSequences(const GeneOrder& go); /** + * Uses the Robinson-Schensted algorithm on the gene order. Gives the longest + * increasing and decreasing subsequences. */ std::vector > robinsonSchensted(const GeneOrder& go);