YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Enzyme EC number prediction
This model predicts the EC number of an enzyme from its amino acid sequence. It was built for the Leak CURBER enzyme classification task and uses only the training data that comes with the task.
Results
Validation accuracy (top 1), as scored by the leaderboard:
| Level | Accuracy |
|---|---|
| L4 | 0.7735 |
| L3 | 0.9179 |
| L2 | 0.9314 |
| L1 | 0.9539 |
Method
- Every input is searched against all training sequences with MMseqs2.
- The EC numbers of the 30 best matches become candidates. A tree model with 300 trees scores each candidate from 36 features, such as alignment score, sequence identity, coverage, rank of the match and how common the EC number is. The candidate with the highest score is the answer.
- Inputs without any match are answered by a second search that uses short pieces of merged amino acid letters, together with a small convolutional network trained on the training set.
- If the search fails, step 3 is used for every input.
The tree model was trained on searches of training sequences against the rest of the training set, with close relatives hidden, so that the training data looks like the validation data.
Files
| File | Purpose |
|---|---|
| predict.py | Reads the input file and writes the predictions |
| model.npz | Training sequences and labels, the convolutional network and the tree model |
| mmseqs_avx2, mmseqs_sse41 | MMseqs2 programs for newer and older CPUs |
| MMSEQS2_LICENSE.md | License of the MMseqs2 programs |
| Dockerfile | Builds the evaluation container |
Usage
python predict.py --input input.parquet --output predictions.jsonl
The input file has the columns id and sequence. The output has one line per unique sequence. A run on 11,367 sequences takes about 2.5 minutes on 2 CPUs and needs no internet.
Third party software
MMseqs2 by Steinegger and Soding, used unmodified. It is released under the MIT License (copy in MMSEQS2_LICENSE.md). Source: https://github.com/soedinglab/MMseqs2