sokrypton / sokrypton/ColabFold

Passing custom MSA when running colabfold in docker

Open
#802 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
2.9k
Forks
747
PR merge metrics
No merged PRs in 30d

Description

Hello

What is the way to pass a custom msa when running colabfold batch using docker. At the moment I have a query.fasta and a query.a3m file that I generated myself using MMSeqs2 align.

Unless I am missing something, none of the flags seem to be about passing a custom a3m file as I can see it:

usage: batch.py [-h] [--msa-only]
[--msa-mode {mmseqs2_uniref_env,mmseqs2_uniref,single_sequence}]
[--pair-mode {unpaired,paired,unpaired_paired}]
[--pair-strategy {complete,greedy}] [--templates]
[--custom-template-path CUSTOM_TEMPLATE_PATH]
[--pdb-hit-file PDB_HIT_FILE]
[--local-pdb-path LOCAL_PDB_PATH] [--num-recycle NUM_RECYCLE]
[--recycle-early-stop-tolerance RECYCLE_EARLY_STOP_TOLERANCE]
[--num-ensemble NUM_ENSEMBLE] [--num-seeds NUM_SEEDS]
[--random-seed RANDOM_SEED] [--num-models {1,2,3,4,5}]
[--model-type {auto,alphafold2,alphafold2_ptm,alphafold2_multimer_v1,alphafold2_multimer_v2,alphafold2_multimer_v3,deepfold_v1}]
[--model-order MODEL_ORDER] [--use-dropout]
[--max-seq MAX_SEQ] [--max-extra-seq MAX_EXTRA_SEQ]
[--max-msa MAX_MSA] [--disable-cluster-profile] [--data DATA]
[--amber] [--num-relax NUM_RELAX]
[--relax-max-iterations RELAX_MAX_ITERATIONS]
[--relax-tolerance RELAX_TOLERANCE]
[--relax-stiffness RELAX_STIFFNESS]
[--relax-max-outer-iterations RELAX_MAX_OUTER_ITERATIONS]
[--use-gpu-relax] [--rank {auto,plddt,ptm,iptm,multimer}]
[--stop-at-score STOP_AT_SCORE]
[--jobname-prefix JOBNAME_PREFIX] [--save-all]
[--save-recycles] [--save-single-representations]
[--save-pair-representations] [--overwrite-existing-results]
[--zip] [--sort-queries-by {none,length,random}]
[--host-url HOST_URL] [--disable-unified-memory]
[--recompile-padding RECOMPILE_PADDING]
input results

The only way so far I have been able to bypass the MSA server call is if I already had the a3m downloaded using the msa only flag which also downloaded the .pickle file along with it. In that case running colabfold batch did not seem to call the server for msa and the .pickle file loaded in the log.

Thank you

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the batch.py command-line entry point and the existing --msa-only workflow described in the issue. Trace how query.fasta, query.a3m, and the accompanying .pickle file are discovered or loaded when running the Docker command. Done means the documented batch invocation can use a user-provided .a3m without calling the MSA server.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
bioinformatics, cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.