I want to do multiple sequence alignment in a program I'm writing in C, and will likely end up calling it millions of times with short DNA sequences (<10 sequences, <200bp). Do you know of any multiple sequence alignment libraries that provide an API that I can use? I could write the sequences to the file, make a system call to run a common alignment program (e.g. MUSCLE) then read in the results, but given the number of calls I'll be making this seems quite slow to do all the message passing on disk.
I'm ideally looking for a library in C/C++ with a simple API, with a GPL/MIT/BSD license. Does anyone have any experience of this?
I think seqan must have this functionality.
I wrote a small wrapper in C to call seqan and it seems to work great - thanks.
as is recomended by lh3, seqan should be your choice, bowtie also use this library too.