sokrypton / sokrypton/ColabFold

colabfold_search v1.6.1 crashes using only `paired` or `unpaired`

Open
#821 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

Hi,
I tried to use the --pair-mode paired or unpaired with colabfold_search on the H1140 CASP16 target, using either only the first sequence as a monomer or both sequences as a multimer, and using local templates. I get these results:

  • H1140 chain 1 with unpaired works: I get a a3m and a m8 files
  • H1140 chain 1 with paired crashes directly:
    FileNotFoundError: [Errno 2] No such file or directory: '/H1140_chain1_paired/0.m8'
  • H1140 complex with unpaired crashes:
Input /output/H1140_all_paired/tmp/1150175913593999343/profile_1 does not exist
Error: Alignment died
Traceback (most recent call last):
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/bin/colabfold_search", line 6, in <module>
    sys.exit(main())
             ~~~~^^
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/lib/python3.13/site-packages/colabfold/mmseqs/search.py", line 481, in main
    mmseqs_search_monomer(
    ~~~~~~~~~~~~~~~~~~~~~^
        mmseqs=args.mmseqs,
        ^^^^^^^^^^^^^^^^^^^
    ...<19 lines>...
        unpack=args.unpack,
        ^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/lib/python3.13/site-packages/colabfold/mmseqs/search.py", line 131, in mmseqs_search_monomer
    run_mmseqs(mmseqs, ["search", base.joinpath("qdb"), dbbase.joinpath(uniref_db), base.joinpath("res"), base.joinpath("tmp"), "--threads", str(threads)] + search_param)
    ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/lib/python3.13/site-packages/colabfold/mmseqs/search.py", line 47, in run_mmseqs
    subprocess.check_call([mmseqs] + params)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/lib/python3.13/subprocess.py", line 419, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '[PosixPath('mmseqs'), 'search', PosixPath('/output/H1140_all_paired/qdb'), PosixPath('/shared/databases2/colabfold_db_20240603/uniref30_2302_db'), PosixPath('/output/H1140_all_paired/res'), PosixPath('/output/H1140_all_paired/tmp'), '--threads', '64', '--num-iterations', '3', '--db-load-mode', '0', '-a', '-e', '0.1', '--max-seqs', '10000', '--prefilter-mode', '0', '--k-score', "'seq:96,prof:80'"]' returned non-zero exit status 1.
  • H1140 complex with paired crashes:
Traceback (most recent call last):
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/bin/colabfold_search", line 6, in <module>
    sys.exit(main())
             ~~~~^^
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/lib/python3.13/site-packages/colabfold/mmseqs/search.py", line 588, in main
    msa = msa_to_str(
        unpaired_msa, paired_msa, query_sequences, query_seqs_cardinality
    )
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/lib/python3.13/site-packages/colabfold/input.py", line 85, in msa_to_str
    msa += pair_msa(query_seqs_unique, query_seqs_cardinality, paired_msa, unpaired_msa)
           ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/lib/python3.13/site-packages/colabfold/input.py", line 65, in pair_msa
    + pad_sequences(unpaired_msa, query_seqs_unique, query_seqs_cardinality)
      ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/software/miniconda3/envs/mf-colabfold-1.6.1/lib/python3.13/site-packages/colabfold/input.py", line 38, in pad_sequences
    lines = a3m_lines[n].split("\n")
            ~~~~~~~~~^^^
IndexError: list index out of range

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 in colabfold/mmseqs/search.py at the reported mmseqs_search_monomer and msa_to_str call sites, then inspect colabfold/input.py around pair_msa and pad_sequences. Reproduce the four H1140 chain and complex cases with paired and unpaired modes, using local templates. Done means these modes no longer fail with the reported missing-file, alignment, or IndexError errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
bioinformatics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.