Questo è un argomento che ha anche a che fare con la riproducibilità dei risultati: è sempre meglio usare il binario dell'esplosione grezzo fornito da NCBI o UCSC, perché renderà i risultati più facili da riprodurre da altri scienziati e ti salverà un sacco di tempo speso per scrivere i test (più tempo di quanto tu possa immaginare).
Per il lavoro quotidiano ho spesso utilizzato exonerate, uno strumento scritto in C che può eseguire sia l'allineamento globale che locale, ha una semplice interfaccia unix-like e non richiede di formattare l'input come con esplosione. Inoltre, si tenga presente che le persone solitamente usano una combinazione di makefile e script per definire una pipeline, invece di chiamare tutto da uno script: la maggior parte dei linguaggi di programmazione non è buona per definire le pipeline, mentre gli strumenti di compilazione automatica come Make non lo sono utile per attività di scripting. Dai un'occhiata a questi esempi: http://skam.sourceforge.net/skam-intro.htmlhttp://swc.scipy.org/lec/build.html
Aggiunta: So che BLAST ri-attuazione sarebbe inutile.Non riesco nemmeno a usare un'interfaccia per un'esplosione che gira sul web, perché voglio definire la mia libreria di sequenze per allinearmi. Mi piacerebbe trovare una libreria che offra blast e smith-waterman e possibilmente altri algoritmi di allineamento, che possono essere chiamati dal mio codice senza dover scrivere le mie sequenze in un file di input e avviare una chiamata di sistema con parametri complicati per eseguire gli allineamenti . – brandstaetter
C'è qualche ragione per cui non vuoi fare chiamate "system()" a una copia locale di BLAST? –
Non voglio scrivere le sequenze su un file, che è necessario come input per quei programmi stand-alone. – brandstaetter