Skip to content

Repository files navigation

DARKINON

Hello! This is the official repository for our work DARKINON. Here, we aim to predict dark kinase-phosphosite associations.

In our previous study DARKIN, we provided a benchmark dataset and an evaluation of protein language models(pLMs). In this study, by using the best performing pLM, task-aware protein embeddings and developing a transformer based prediction model, we aimed to improve prediction performance compared to DARKIN and DeepKinZero (proposed by our lab).

image info

Dataset Format

SUB_ACC_ID SUB_MOD_RSD SITE_+/-7_AA KINASE_ACC_IDS
P68101 S52 MILLSELsRRRIRSI Q9BQI3
P83268 S51 RILLsELsR______ Q9BQI3
P05198 S52 MILLsELsRRRIRsI P28482,Q7KZI7,Q9BQI3,Q9NZJ5
P05198 S49 IEGMILLsELsRRRI Q9BQI3,Q9NZJ5

Installation & Setting up the Environment

As the first step you have to download this repository to your local environment. You can either download it az a zip file or just clone the repository like this:

git clone git@github.com:tastanlab/darkinon.git

Now you have to create a conda environment to be able to run the code. Create the conda environment like this:

conda create --name darkinon python=3.11.3

then activate this conda environment:

conda activate darkinon

install pip if it is not installed:

conda install pip

now install the required packages. You could either use the requirements.txt file like this:

pip install -r requirements.txt

or you could directly install the required packges like this:

pip install pandas
pip install numpy
pip install matplotlib

now you should be all set to run the code!

Running the Code

To run the transformer-based DARKINON Model, execute the main.py. This file supports several parameters:

  • mode: Set this to either 'train' or 'test'.
  • config_path: Specify the configuration .yml file you want to run.
  • num_of_models: The number of models you wish to train.

Example command:

python -u main.py --mode train \
--config_path configs/to_carry/model_config.yaml \
--num_of_models 3

Setting Up the YML Files

Example configuration files are located in the configs/experiment_configs/transformer_finetuning directory. While these files contain many parameters, you’ll typically only need to modify the following:

  • ['phosphosite']['dataset']['train'], ['validation'], ['test']:
    Paths to your training, validation, and test datasets. These should point to the DARKIN dataset splits. You can use default paths like:
    ../datasets/new_dataset/zsl/seed_12345/train_data.csv.

  • ['phosphosite']['dataset']['processor']['processor_type']:
    Specifies the protein language model (pLM) or word embedding used to encode phosphosites. Examples are available in the provided config files.

  • ['phosphosite']['dataset']['processor']['model_name']:
    Specifies the protein language model (pLM) for phosphosites that will be fine-tuned during training. (We used our phosphosite-aware model. huggingface : isikz/esm1b_mlm_pt_phosphosite)

  • ['kinase']['dataset']['processor']['processor_type']:
    Specifies the protein language model or embedding method used for kinases. Again, examples can be found in the config files.

  • ['kinase']['dataset']['processor']['kinase_embedding_path']:
    Path to the generated kinase embeddings. See tastanlab/darkin for embedding creation details. (We obtained kinase embeddings from our kinase-aware model. huggingface : isikz/esm1b_msa_mlm_ft_kinase)

  • ['phosphosite']['model']['embedding_mode'] and ['kinase']['model']['embedding_mode']:
    Sets how the embeddings are used. Available options:

    • cls: Use the CLS token from the embedding.
    • avg: Average all token embeddings.
    • sequence: Use the full embedding sequence.
    • concat: Concatenate all token embeddings into one long vector.
  • ['kinase']['dataset']['processor']:
    Contains optional toggles such as use_family, use_group, etc. Set these to true or false depending on your experimental preferences.

  • ['hyper_parameters']:
    Contains model training hyperparameters (e.g., learning rate, batch size, etc.). Adjust these according to your experimental setup.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages