{"id":23051521,"url":"https://github.com/averissimo/mass-blast","last_synced_at":"2025-04-03T04:15:19.083Z","repository":{"id":21068432,"uuid":"24367879","full_name":"averissimo/mass-blast","owner":"averissimo","description":"Workflow to accelerate the annotation of unkown coding sequences","archived":false,"fork":false,"pushed_at":"2017-10-05T23:36:27.000Z","size":18694,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-08T18:11:58.079Z","etag":null,"topics":["bioinformatics","blast","fasta"],"latest_commit_sha":null,"homepage":"https://averissimo.github.io/mass-blast","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/averissimo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-23T11:03:26.000Z","updated_at":"2017-10-05T23:13:10.000Z","dependencies_parsed_at":"2022-09-05T15:51:38.512Z","dependency_job_id":null,"html_url":"https://github.com/averissimo/mass-blast","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/averissimo%2Fmass-blast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/averissimo%2Fmass-blast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/averissimo%2Fmass-blast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/averissimo%2Fmass-blast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/averissimo","download_url":"https://codeload.github.com/averissimo/mass-blast/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246933384,"owners_count":20857055,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","blast","fasta"],"created_at":"2024-12-15T23:46:16.494Z","updated_at":"2025-04-03T04:15:19.057Z","avatar_url":"https://github.com/averissimo.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"MassBLAST\n==========\n\nCommand line application to perform BLAST queries from multiple files against different databases at once.\n\n[Official site](https://averissimo.github.io/mass-blast)\n\n[Download latest here](https://github.com/averissimo/mass-blast/releases/latest).\n\nA pre-print of the manuscript describing this application is available at bioRxiv and can be [accessed here](https://www.biorxiv.org/content/early/2017/07/03/131953).\n\n*General description of the MassBlast workflow:*\n\n[![Pipeline of MassBlast](docs/pipeline.png)](docs/pipeline.png)\n\n## Install\n\n1. Download BLAST+ and MassBlast from the links in the table below\n1. BLAST+ must be installed and available from a command line\n    - *check by running the command:* `blastn -version`\n1. Decompress MassBlast and it is ready to be used using the `mass-blast` script\n\nSoftware name | Windows       | Mac OS X | Linux |\n------------- | ------------- | -------- | ------|\nMassBlast *downloads* | [Download](https://github.com/averissimo/mass-blast/releases/download/v0.9.13/mass-blast-0.9.13-win32.zip) | [Download](https://github.com/averissimo/mass-blast/releases/download/v0.9.13/mass-blast-0.9.13-osx.tar.gz) | [Download](https://github.com/averissimo/mass-blast/releases/download/v0.9.13/mass-blast-0.9.13-linux-x86_64.tar.gz)\nBLAST+ (pre-requirement)|  [v2.2.30 (32-bit)](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.30/ncbi-blast-2.2.30+-win32.exe) | [v2.6.0](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.6.0/ncbi-blast-2.6.0+-x64-macosx.tar.gz) | [2.6.0](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.6.0/ncbi-blast-2.6.0+-x64-linux.tar.gz)\n\n*BLAST+ important notes*\n\n1. Must be installed before MassBlast is run\n1. *Windows users*\n    1. Must install [*32-bit* version *v2.2.30* of BLAST+](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.30/ncbi-blast-2.2.30+-win32.exe)\n    1. In case of an error in the first run:\n        - Delete `ncbi.ini` located at a subdirectory at the `AppData` folder in the user directory\n        - If problem persists, [submit an issue](https://github.com/averissimo/mass-blast/issues).\n1. *Mac OS X* and *Linux users*\n    - MassBlast was tested with version 2.6.0, but it could work with more recent versions *(or older and down to v2.2.30)*\n\n*note:* Ruby and all other requirements are included in the package files, it is not necessary to install *when using packaged version*.\n\n### How to use MassBlast?\n\n- Place fasta files with queries at `db_and_queries/queries` folder.\n  - You can have as many files as needed, see below for an example of a nucleic-acid query\n- Place blast databases at `db_and_queries/db` folder.\n  - Check \"How to setup a Blast database for a transcriptome\" below for more information on creating a Blast database.\n- Edit user.yml file to change options and BLAST engine to be used, check `user.yml.example` for more information.\n- run mass-blast script *(either double click it on Windows or as a command in the command line.*\n\nExample of a nucleic-acid query file that could be placed in `db_and_queries/queries` folder:\n\n```\n\u003eExample01\nattgggaatttactgcaactcaaggagaagaaaccctaccagacttttacaaggtgggct\ngaggagt\n\u003eExample03\nattgggaatttactgcaactcaaggagaagaaaccctaccagactttt\n\u003eExample02\nattgggaatttactgcaactcaaggagaagaaaccctaccagacttttacaaggtgggct\ngaggagtatttactgcaactcaaggagaagaaaccctaccagacttttacaaggtggtgg\ngcaactcaagcaactcaagcaactcaagcaactcaa\n```\n\n## Install and usage (from source code)\n\nWe do not recommend installing from source unless you plan to develop MassBlast further. The package available already has all dependencies pre-packaged and is ready to be used.\n\nRequirements:\n- Ruby interpreter\n- Bundler gem\n- rub `bundle install` at root directory\n- Options are configurable via `config/user.yml` file\n  - Change 'db_parent' and 'query_parent' to specify the parent directories for blast databases and queries\n  - Change 'dbs' and 'folder_queries' to specify the databases that should be used and which query folders should be crawled\n\n  $ ruby script.rb\n\n### External data\n\nThe test blast database and the taxonomy database are not kept in the git tree anymore, to get this auxiliary data run the command below or call mass-blast via script.rb\n\n    $ rake bootstrap.rb\n\nIf you need to include it on your code use:\n\n    require_relative 'src/download'\n\n    ExternalData.download(path_to_db_parent)\n\n### How to test it\n\n    $  rake spec\n\n### Type of BLAST methods available\n\nThe method is defined in the file `user.yml`\n\n- BLASTn: Nucleic-acid sequences against a nucleic-acid database\n- TBLASTn: Protein sequences against a nucleic-acid database (dynamically translated to amino-acid sequences in all six reading frames)\n- TBLASTx: Nucleic-acid sequences against nucleic-acid database, where both query and database are dynamically translated to amino-acid sequences into all six reading frames\n\n### Methods available\n\nAll different types have two implemented methods, blast and blast_folders\n\n- blast(qfile, db, out_file, query_parent=nil, db_parent=nil)\n  - *qfile*: query file path - string\n  - *db*: database name - string\n  - *out_file*: output file path (can be relative) -string\n  - *query_parent*: parent directory of query (optional) - string\n  - *db_parent*: parent directory of database (optional) - string\n\n*notes:* '*qfile*' and '*db*' arguments can be relative to '*query_parent*' and '*db_parent*' (respectively).\n\n- blast_folders( folders=nil, query_parent=nil, db_parent=nil )\n  - *folders*: list of folders (optional) - array of strings\n  - *query_parent*: parent directory of folders (optional) - string\n  - *db_parent*: parent directory of database (optional) - string\n\n*notes:* '*folder*' argument can be relative to '*query_parent*'. All optional parameters must be set in the config.yml file\n\n### How to setup a Blast database for a transcriptome\n\nUsing makeblastdb command that comes bundled with Blast+\n\n- Open the command line in your operating system\n- Navigate to directory\n- Go to directory that has the fasta file with the assembly\n- Run makeblastdb command in that directory\n\n  - nucleic-acids database\n\n  `$ makeblastdb -in \u003cfilename\u003e -dbtype nucl -out \"\u003cblast_db_new_name\u003e\" -title \"\u003cblast_db_new_name\u003e\"`\n\n- protein database\n\n  `$ makeblastdb -in \u003cfilename\u003e -dbtype nucl -out \"\u003cblast_db_new_name\u003e\" -title \"\u003cblast_db_new_name\u003e\"`\n\n*note:* do to not use spaces in the \u0026lt;blast db new name\u0026gt;\n\n#### Quickly setup databases\n\nPlace the fasta files for the database in db_and_queries/import_dbs directory and run the appropriate script.\n\nYou also need to say if it is a nucleic-acid or protein-based fasta file.\n\nFor Linux and Mac OS X run the `import_fastas.sh` script\n\n```\n$ cd db_and_queries/import_dbs\n# for nucleic-acid\n$ sh import_fastas.sh nucl\n# for protein\n$ sh import_fastas.sh prot\n```\n\nFor Windows run the `import_fastas.bat` script\n\n```\n$ cd db_and_queries/import_dbs\n# for nucleic-acid\n$ import_fastas.bat nucl\n# for protein\n$ import_fastas.bat prot\n```\n\n### Related Tools\n\n- [ORF-Finder](http://github.com/averissimo/orf_finder): Finds the longest Open Reading Frame from a nucleic-acid sequence\n- [BioRuby](http://bioruby.org/): Open source bioinformatics library for Ruby\n- [Gene Extractor](https://github.com/averissimo/gene-extractor/): can be used to extract genes from Kegg2 and GenBank using keyword search\n- [MassBlast package bundler](https://github.com/averissimo/app-mass-blast): Creates a package that can be easily used in all main Operating Systems without having to install Ruby and any Ruby dependecies\n\n## Ackowledgements\n\nMassBlast was developed primarily by *[André Veríssimo](http://web.tecnico.ulisboa.pt/andre.verissimo/)*, *Jean-Etienne Bassard* and *[Susana Vinga](http://web.tecnico.ulisboa.pt/susanavinga/)*\n\nA pre-print of the manuscript is available at bioRxiv and can be [accessed here](https://www.biorxiv.org/content/early/2017/07/03/131953)\n\nThis work was supported by:\n\n- European Union Framework Program 7, Project [BacHBERRY](www.bachberry.eu) *(FP7-613793)*;\n- [FCT](www.fct.pt), through IDMEC, under LAETA, projects *(UID/EMS/50022/2013)*;\n  - Susana Vinga acknowledges support by program\n Investigador FCT *(IF/00653/2012)* from [FCT](www.fct.pt), co-funded by the European Social Fund *(ESF)* through the Operational Program Human Potential *(POPH)*;\n  - André Veríssimo acknowledges support from [FCT](www.fct.pt) *(SFRH/BD/97415/2013)*.\n\nWe would like to thank *Cathie Martin* and *Philippe Vain* for reading the manuscript and providing us\nwith important comments and insights. We would also like to thank *Aldo Ricardo Almeida Robles* and *Nuno Mira* for testing MassBlast.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faverissimo%2Fmass-blast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faverissimo%2Fmass-blast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faverissimo%2Fmass-blast/lists"}