Liu Lab at Huazhong University of Science and Technology








CrossKP: A cross-modal ensemble for enzyme kinetic parameter prediction

CrossKP combines a cross-attention neural branch (ESM2 protein embeddings × MolT5/MACCS substrate features) with an ExtraTrees regressor on tabular physicochemical features. The two branches are fused at a fixed 1:3 ratio (neural : ExtraTrees).

CrossKP is available for download.


REQUIREMENTS:

INSTALLATION:
  1. Download and unpack:
    unzip CrossKP_Paper_Repro.zip
    cd CrossKP_Paper_Repro
  2. Install dependencies:
    pip install -r requirements.txt
  3. Download pre-trained language models:
    huggingface-cli download Rostlab/prot_t5_xl_uniref50 --local-dir pretrained/prot_t5_xl_uniref50
    huggingface-cli download laituan245/molt5-base-smiles2caption --local-dir pretrained/molt5-base-smiles2caption
    ESM2 downloads automatically on first run.
  4. Fix paths:
    python fix_bundle_paths_here.py

USAGE:
1) Build feature caches (one-time):
python scripts/build_lm_features.py --task kcat --model-dir pretrained --device cuda:0
python scripts/build_lm_features.py --task km   --model-dir pretrained --device cuda:0
python fix_bundle_paths_here.py

2) PairHold prediction:
python scripts/run_pairhold.py --task kcat
python scripts/run_pairhold.py --task km

3) LowSimCV prediction:
python scripts/run_lowsimcv.py --task kcat
python scripts/run_lowsimcv.py --task km

4) IdOOD similarity sweep:
python scripts/run_idoood.py --task kcat
python scripts/run_idoood.py --task km

WHAT IS INCLUDED:
IncludedExcluded (too large)
• Neural-branch weights (PairHold + LowSimCV outer folds)
• ExtraTrees code + local refit in runners
• CataPro-Master CSVs + PairHold splits
• GVP/Rxn auxiliary .npy feature blocks
• IdOOD cluster sidecars (sequence_clusters.csv)
• Expected metrics (expected_metrics.json)
• Language-model feature caches (train_feats_*.pkl)
• ExtraTrees weights (.joblib)
• ProtT5 / ESM2 / MolT5 checkpoints
• Baseline model weights (CataPro / UniKP / DLKcat)


PACKAGE LAYOUT:
CrossKP_Paper_Repro/
  README.md
  expected_metrics.json          # headline numbers for verification
  requirements.txt
  fix_bundle_paths_here.py       # run once after unpacking
  datasets/
    kcat/  km/                   # CataPro-Master CSVs
    split_kcat/ split_km/        # PairHold train/test indices
    prepared_kcat|km/            # GVP/Rxn .npy shipped; ESM2 pkl built by you
    clusters_kcat|km/            # IdOOD sequence cluster sidecars
  weights/
    pairhold/{kcat,km}/fold_*.pth       # 10-fold neural checkpoints
    lowsimcv/{kcat,km}/outer_fold_*.pth # 10 outer-fold neural checkpoints
  code/                          # eval_bns_etr, train_semantic_bns, vendor/
  scripts/                       # build_lm_features, run_pairhold, run_lowsimcv, run_idoood
  pretrained/                    # place HF model checkpoints here
  results/                       # outputs appear here
		

CONTACT US:
Any questions about CrossKP, please email to liushiyong@gmail.com.