Skip to main content

Crate bio_tools

Crate bio_tools 

Source
Expand description

Install, run, and inspect third-party computational biology and chemistry tools, e.g. AlphaFold, Boltz, RFdiffusion, and ProteinMPNN.

The crate has three parts, usable independently:

  • tool_definitions::catalog: static, tool-agnostic metadata (summary, description, license, official links, cost, category) for every supported tool.
  • install: install::Installer owns per-tool environments and assets under a caller-chosen root, replacing application-specific shell and PowerShell scripts.
  • run: run::CommandSpec describes a shell-free invocation; run::run executes it with bounded capture, a timeout, and an optional on-disk run log.

The cli feature (on by default) additionally builds the standalone bio_tools executable. See the README for worked Rust and Python examples.

Modules§

install
Installation of optional third-party biology and chemistry tools.
run
Reusable execution of third-party command-line tools.
status
Get the status of each tool by running it with a simple command like --version, and confirming the application and exists and is healthy, or if there’s a problem. On a tool-by-tool basis, provies additional data like computation devices configured for.
tool_definitions
Individual tool details, which conform to our interfaces.

Structs§

LicenseData
Process
Registry data shared by Rust and Python applications.
Spec
Tool-specific descriptive data, identified by slug.
SpecData
Tool-specific descriptive data which does not depend on a UI framework or execution environment or on the tool’s identity (slug/name), so that the same field list can also back the catalog’s &'static str-based static data – see tool_definitions::catalog::CatalogEntry::spec.

Enums§

LaunchType
License
The specific license under which a tool (or its weights) is released. Coarser than this is LicenseCategory; this is what a link to the license’s own official text is built from – see License::official_url.
LicenseCategory
OperatingSystem
Used to categorize tools by which OS they support.
ProcessExpense
This is coarse, and is loosely correlated to expected runtime.
ToolCategory