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?