Este es un tema que también tiene que ver con la reproducibilidad de resultados: siempre es mejor usar el binario de explosión sin procesar proporcionado por NCBI o UCSC, porque hará que sus resultados sean más fáciles de reproducir por otros científicos y le ahorrará mucho tiempo dedicado a escribir pruebas (más tiempo de lo que puedes imaginar).
Para el trabajo diario a menudo he usado exonerate, una herramienta escrita en C que puede hacer alineación tanto global como local, tiene una interfaz simple tipo Unix, y no requiere formatear su entrada como con explosión
Por otra parte, tomar en cuenta que las personas suelen utilizar una combinación de archivos make y secuencias de comandos para definir una tubería, en lugar de llamar a todo, desde una secuencia de comandos: la mayoría de los lenguajes de programación no son buenos para definir las tuberías, mientras que las herramientas de construcción automatizados como el maquillaje no son útil para tareas de scripting. Eche un vistazo a estos ejemplos: http://skam.sourceforge.net/skam-intro.htmlhttp://swc.scipy.org/lec/build.html
Adición: Sé que BLAST volver a implementar sería inútil.Tampoco puedo usar una interfaz para una explosión que se ejecuta en la web, porque quiero definir mi propia biblioteca de secuencias para alinearme. Me encantaría encontrar una biblioteca que ofrezca blast y smith-waterman y posiblemente otros algoritmos de alineación, que se puedan invocar desde mi código sin tener que escribir mis secuencias en un archivo de entrada y comenzar una llamada al sistema con parámetros complicados para ejecutar las alineaciones . – brandstaetter
¿Hay algún motivo por el que no desee realizar llamadas 'system()' a una copia local de BLAST? –
No quiero escribir las secuencias en un archivo, que es necesario como entrada para esos programas independientes. – brandstaetter