I need a a software for genome assembly based on an algorithm of mine. In genome assembly the software is given millions of strings (reads) and merges two strings based on some detected overlap between them. For example:
AAGTTAAATGAGA and GTTCCCAAGTTAA will merge into:
GTTCCCAAGTTAAAAGTTAAATGAGA because AAGTTAA is a an overlapping string between them. So basically, for every set of strings with overlap between the you are looking for "the shortest common superstring" that both of them are sub-strings of it.
I have some variation to this process, which I'll explain in detail later.
I need the software to work in parallel on CUDA. The amount of data here is massive. Millions of strings, each of length 40~150. There are some known algorithms how to quickly construct overlap graphs (look for ABySS assembler for example) using hash tables, prefix graph etc.
There should be at least a basic GUI to load a file, watch the progress and get statistics about the output.
THE MAIN TASK HERE IS: The algorithm must be efficient time-wise. It should be able to process hundreds of millions of string in few hours (some algorithms for genome assembly, like SOAPdenovo are even faster than that, though they are using different approach other than aimple overlap detection [de-bruijn graph]). It is very simple to write the software, but it is not that simple to write it efficiently.
Bid only if you are willing to read about the subject (the biological background). I will provide you with a list of many similar software some of them are open-sourced so you can make use of.
I am myself a programmer and I have the code written in Perl and in Matlab (not very efficiently). It is not good enough to help you, but just to let you know that I will be able to understand your questions and to answer them.
20 freelancers are bidding on average $1270 for this job
Very interested to work on this project. Available to start immediately and finish as soon as possible. Please contact in PMB to discuss details if you are interested in the offer. Best Regards, Zeke