int main(int argc, char* argv[]) { try { size_t kmerSize = 11; cost char* seq = "AGGCGCTAGGGTAGAGGATGATGA"; std::cout << "The initial sequence is '" << seq << "', kmer size is" << kmerSize << std::endl; // We create the graph from a given sequence, and for a given kmer size Graph graph = Graph::create( new BankStrings( seq, NULL), "-kmer-size %d -abundance-min 1 -verbose 0", kmerSize ); // Get the first node Node node = graph.buildNode(seq); // Create a node iterator that iterates over all the simple nodes from // the first node. Rememeber that a simple node has inDeg = outDeg = 1 Graph::Iterator<Node> path = graph.simplePath<Node> (node, DIR_OUTCOMING); // Iterate over the simple path: for (path.start(); !path.isDone(); path.next()) { std::cout << " [" << path.rank() << "] current item is " << graph.toString(path.item()) << std::endl; } std::cout << "The simple path was " << path.rank() << " long" << std::endl; } catch(Exception& e) { std::cerr << "EXCEPTION: " << e.getMessage() << std::endl; } return EXIT_SUCCESS; }