blastutils
a BLAST+ wrapper(inspired from blastjs) for Node.js
This version of blastjs is rewritten in ts for better scalability. Additional commands like blastdb_aliasing is also added for usage.
Install
If you do not have Node.js installed you can get it at https://nodejs.org
npm install blastutils
If Blast+ is not installed you can run:
node util/getBlast.js
and the latest version of Blast+ will be downloaded and placed in the bin folder for you.
Usage
make database
var blast = ; var type = 'nucl';var fileIn = './test.fasta';var outPath = './';var name = 'example'; blast;
blast n
var blast = ; blast; //optional, provides string output instead of JSON var dbPath = './example';var query = '>24.6jsd2.Tut\nGGTGTTGATCATGGCTCAGGACAAACGCTGGCGGCGTGCTTAATACATGCAAGTCGAACGGGCTACCTTCGGGTAGCTAGTG'+'\n>24.6jsd3.Tut\nATGATCATGGCTCAGATTGAACGCTGGCGGCATGCCTTACACATGCAAGTCGAACGGCAGCACGGGGAAGGGGCAACTCTTT';var dbPath = path; var option= type:"blastn" outputDirectory:__dirname + "/results/" rawOutput:true db:path outfmt:12 query:Nquery remote:false outputfileformat:"json" rawInput: true var Alias= dblist:'example''exampleProtein' dbtype:"nucl" out:"aliasdb" title:"aliasdb" directory:__dirname blast;
API
-
.makeDB(type, fileIn, outPath, name, cb)
callback is passed (err, stdOut, stdErr, fileOut). -
.blastN(db, query,option, cb)
callback is passed (err, output). -
.blastP(db, query,option, cb)
callback is passed (err, output). -
.blastX(db, query,option, cb)
callback is passed (err, output). -
.tblastN(db, query,option, cb)
callback is passed (err, output). -
.tblastX(db, query,option, cb)
callback is passed (err, output). -
.outputString(boolean)
this toggles the output being in a string (true) or as JSON (false).
default is JSON. -
.blastDbAlias(Alias,cb) Pass the Alias options based on the blastdb_alias options. For Reference check this blastdb_aliastools or type
blastdb_aliastools -helpcallback is passed (err, stdOut, stdErr, fileOut).
Updates
Passing a fasta file directly
blast n
var fastaoption= type:"blastn" outputDirectory:path rawOutput:false db:path outfmt:12 query:'/home/LT/shdba/IdeaProjects/blastjs/test/fastatest.fasta' remote:false outputfileformat:"json" rawInput:false blast;
- every other thing should work the same similar to other commands.