CURLCAKE is a software to generate Compact Unstructured RNA
Libraries Covering All K-mErs.
The algorithm is given:
It outputs two sequences files as textual files.
CURLCAKE was developed by Yaron Orenstein
in Bonnie Berger's group
at Massachusetts Institute of Technology: MIT.
It is a heuristic algorithm based on finding disjoint paths
in a de Bruijn graph.
The RNA sequences corresponding to the paths
are unstractured (i.e. likely to have high folding energy).
Input and Output
CURLCAKE takes as input eight parameters:
1. k - the k value to cover.
2. length - length of unique part of the probe.
3. multiplicity - how many times each k-mer has to occur.
4. attempts - a limit on the random extensions t try.
5. output_incomplete_file - filename to output incomplete probe sequences.
6. output_compelte_file - filename to output complete probe sequences.
7. RNAshapes executable (version 2.1.6) (download below)
8. seed (optional) - for random. Default: 0.
Get the software
A binary is available here (requires java 1.7 or higher):
Make sure RNAshapes has executable permission (to change in Unix: 'chmod 755 RNAshapes').
Java code is available here:java -jar curlcake.jar <k> <len> <multi> <attempts> <output_incomplete_filename> <output_complete_filename> <RNAshapes_executable> <seed - optional>
Example run:
java -jar curlcake.jar 7 35 1 100 incomplete.txt complete.txt ./RNAshapes 0