Task-Specific Profiles and Custom Databases
To choose a database, you can use task-specific profiles or custom databases.
Task-Specific Profiles
The MSA Search NIM includes task-specific profiles that download only the databases required for specific use cases. This reduces storage requirements and startup time.
Listing Available Profiles
To list available profiles:
Example output:
Selecting a Profile
To select a specific profile, use the NIM_MODEL_PROFILE environment variable with the profile hash from list-model-profiles. The example below uses the PDB70-only profile (databases:pdb70, roughly ~100 MB on disk)—a small quick-start choice. Profiles that include Uniref30 (for example the databases:uniref30 hash) require on the order of ~500 GB. For more information, refer to Available Profiles.
To verify the selected profile after the service starts:
Available Profiles
Profile hashes may change between NIM releases. Always use list-model-profiles to get the current hashes for your version.
Custom Databases
You can use custom or manually downloaded MMSeqs2 databases with the MSA Search NIM by mounting them into the container and configuring the NIM_MODEL_NAME environment variable.
Custom databases completely replace the default databases. When you set NIM_MODEL_NAME, the NIM will only use databases found in that directory — it will not mix custom databases with the default model profile databases. If you need multiple databases, download them individually from NGC and mount them all under the same NIM_MODEL_NAME directory.
Prerequisites
Before proceeding, ensure the following prerequisites are met:
- Your databases are in MMSeqs2 format, created using
mmseqs createdbor compatible tools. - For GPU Server support (enabled by default), databases must be indexed with
mmseqs createindex. Refer to Indexing Databases for GPU Server for instructions. Databases downloaded from NGC are already indexed and ready for GPU Server use.
Specifying Custom Databases
Mount your custom database directory into the Docker container and set the
NIM_MODEL_NAME environment variable inside the container pointing to the
mounted directory.
Example: Loading a Manually Downloaded Database
You can test this process by manually downloading one of the MSA Search databases and instructing NIM to load it as a custom database. This example uses PDB70, the smallest database, suitable for quick testing.
- Set the required variables and paths:
- Download the database and adjust permissions (the
ngcCLI creates owner-only files that the container’snvsuser cannot read):
- Run the NIM with the appropriate mount points and environment variables:
- Test the service with a simple query:
If your custom databases are not indexed for GPU Server, refer to Indexing Databases for GPU Server for instructions on how to create the required index.
To mount multiple databases, add additional -v flags for each database directory, all under the same NIM_MODEL_NAME:
-v "$DB1_PATH":/databases/db1:ro -v "$DB2_PATH":/databases/db2:ro
Available Databases
The following databases can be downloaded individually from NGC:
Database Directory Structure
Custom databases should be organized with each database in its own subdirectory under NIM_MODEL_NAME. The NIM automatically discovers databases by scanning for MMSeqs2 database files. For example,
Database Discovery
The NIM automatically discovers databases at startup using glob patterns:
Sequence databases: The NIM scans for **/*.idx files (MMSeqs2 index files). Each .idx file found registers a searchable database. The database name is derived from the parent directory name (for example, pdb70_220313/pdb70_220313.idx registers as pdb70_220313).
PDB structure archive: For structural template search, the NIM looks for a **/pdb*.zip file containing mmCIF structure files. This archive is used to retrieve 3D structures for template hits.
The discovery patterns can be customized using environment variables:
NIM_MSA_DB_INDEX_PATTERN: Pattern for sequence database discovery (default:**/*.idx)NIM_MSA_PDB_CIFS_ZIP: Pattern for PDB structure archive (default:**/pdb*.zip)
For additional configuration options and environment variables, refer to the Configuration Guide.