sokrypton / sokrypton/ColabFold
Different outputs between mmseqs2 API and colabfold_search
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 2.9k
- Forks
- 747
- PR merge metrics
- No merged PRs in 30d
Description
Hello !
I wanted to run the MSA calculation of a set of proteins to do structure prediction. I used the script that calls the mmseqs2 API that colabfold uses for the MSA calculation.
Except that now, I wanted to use mmseqs2 directly to be able to run my calculation in a cluster.
To do this, I used the script colabfold_search.sh without a precomputed index(https://gist.github.com/milot-mirdita/67509c248746c4c774128fc84ab91b6f), with the two databases uniref30_2103 and colabfold_envdb_202108. I set USE_ENV to 1, USE_TEMPLATE to 0 and the FILTER to 1.
The problem is that the resulting MSA is very different from the MSA I got from using the API.
For example, with this protein sequence of 679 in length.
With the API I get an MSA of 20446 sequences, while with colabfold_search.sh I get an MSA of 20865 in size, and only 1150 sequences in common between the two methods.
Is there any way to get the same output as the API using the colabfold_search.sh script?
the input and the outputs are here :
https://drive.google.com/drive/folders/1ZcAHKRzxT4hK-Bjb8ZKozDfaO_cTptwO?usp=sharing
- The msa of the mmseqs2 API is stored in msa_api.pickle
- The msa of mmseqs2 launched in the cluster is in the form of file.a3m I converted it myself in file msa_mmseqs2.pickle to make the comparison.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with colabfold_search.sh and compare its settings with the mmseqs2 API path, using uniref30_2103 and colabfold_envdb_202108, USE_ENV=1, USE_TEMPLATE=0, and FILTER=1. Compare the supplied msa_api.pickle and msa_mmseqs2.pickle outputs to identify the source of the differing sequence sets. Done means documenting how to reproduce the API output with the script or explaining the relevant difference.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- bioinformatics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100