Is there a risk that using the blast libs to do blast work could result in reproducibility issues if someone were to spot check the results with the NCBI executable? I am working on a program to do ortholog mining (and other things) that relies on BLAST as a key tool. Using the libraries directly gives me the best control over the behavior of the program, but I'm worried that there could be a case where my implementation of BLAST gives a different result than the NCBI compiled binary. Is this a reasonable concern, or will it be fine?
The other option is to make system calls, but using
system() makes me cringe.