/service-multi-blast

Async BLAST+ query service and supporting libraries.

Primary LanguageKotlinApache License 2.0Apache-2.0

MultiBlast

License

This repository is a "monorepo" containing various projects relating to and supporting the VEuPathDB MultiBlast service stack.

For development details and information see the Developer Info doc and/or the Design doc

An index of available API documentation can be found at https://veupathdb.github.io/service-multi-blast/

Projects / Components

Services / Images

BLAST+ Query Service

A containerized service whose purpose is the asynchronous execution of BLAST queries against mounted databases.

BLAST+ Result Formatting Service

A containerized services whose purpose is the asynchronous formatting of ASN.1 BLAST query results into various other formats via the BLAST+ blast_formatter tool.

MultiBlast Queue Database

Docker image containing setup scripts to provision the database schemata necessary to support the MultiBlast query and report services.

Libraries

BLAST+ Query Parsing Tools

Multi-sequence BLAST query parsing tool kit.

BLAST+ CLI API Wrapper Type Library

NCBI BLAST+ tool CLI API wrapper.

Allows easy programmatic construction and validation of CLI calls to BLAST+ tools.

MultiBlast API SDK

JVM SDK for working with the MultiBlast API.

MultiBlast Common Utilities

Various utilities common to the other services and libraries in this repo.

Temp File Management Utilities

Expiring temporary file factory.

MultiBlast Gradle Plugin

A Gradle extension that adds utilities to support the MultiBlast project build tasks.

Deployment

MultiBlast Docker Compose Stack

Docker Compose stack configuration for MultiBlast.

User Database DDL

DDL for the database schema and tables backing MultiBlast in the VEuPathDB user database.

v2.0 Migration Script

Script to migrate the backing user database from v0.x and v1.x data to v2.x.

Test / Support

End-to-End Tests

Test script that performs end-to-end testing on a running MultiBlast instance.