The BLAST Database used to be a giant monolithic database, created by the makeblastdb
tool, provisioned by NCBI. The process involved dumping all the contigs, genes, and proteins sequences from the entire ggKbase database and then running the makeblastdb
command. That’s why the BLAST Database was not frequently updated because it would take a very long time to take those two actions.
To solve this problem, the BLAST database is made up of many smaller BLAST databases, each of them comes from the contigs, genes, and proteins sequences of one ggKbase project. These smaller databases are combined together by using the blastdb_aliastool
(from NCBI) into one large searched BLAST database.
When this large database needs to be updated with the newly imported projects, we just need to run makeblastdb
on the sequences from the new projects and then re-run blastdb_aliastool
to append the new databases to the existing ones.
These actions are performed in the Rails console.
To create a new BLAST database:
BlastServices::Projects.create(project_id)
To update the BLAST database alias:
BlastServices::Projects.alias
To delete a BLAST database given a project
BlastServices::Projects.delete(project_id)