File: cyclic_shape.cpp

package info (click to toggle)
seqan2 2.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 228,748 kB
  • sloc: cpp: 257,602; ansic: 91,967; python: 8,326; sh: 1,056; xml: 570; makefile: 229; awk: 51; javascript: 21
file content (31 lines) | stat: -rw-r--r-- 912 bytes parent folder | download | duplicates (2)
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
#include <seqan/modifier.h>
#include <seqan/stream.h>

using namespace seqan2;

int main(int, char const **)
{
    // create a (generic) CyclicShape
    typedef CyclicShape<GenericShape> TShape;
    TShape shape;
    stringToCyclicShape(shape, "1110010");

    // print cyclic Shape
    CharString out;
    cyclicShapeToString(out, shape);
    std::cout << "shape: " << out << std::endl;

    // determine weight and span
    std::cout << "weight: " << (int)weight(shape);
    std::cout << ", span: " << (int)shape.span << std::endl;

    // modify a text to leave out characters
    CharString str = "this is an original string";
    ModifiedString<CharString, ModCyclicShape<TShape> > modStr(str, shape);

    // modStr can be used like a normal String
    std::cout << str << " => " << modStr << std::endl;
    std::cout << "length: " << length(str) << " => " << length(modStr) << std::endl;

    return 0;
}