libokj commited on
Commit
416833a
·
1 Parent(s): 141df83

Upload 154 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. configs/callbacks/csv_prediction_writer.yaml +4 -0
  2. configs/callbacks/default.yaml +5 -0
  3. configs/callbacks/early_stopping.yaml +17 -0
  4. configs/callbacks/inference.yaml +6 -0
  5. configs/callbacks/model_checkpoint.yaml +19 -0
  6. configs/callbacks/model_summary.yaml +7 -0
  7. configs/callbacks/none.yaml +0 -0
  8. configs/callbacks/rich_progress_bar.yaml +6 -0
  9. configs/callbacks/tqdm_progress_bar.yaml +2 -0
  10. configs/data/collator/default.yaml +5 -0
  11. configs/data/collator/none.yaml +2 -0
  12. configs/data/drug_featurizer/ecfp.yaml +6 -0
  13. configs/data/drug_featurizer/fcs.yaml +4 -0
  14. configs/data/drug_featurizer/graph.yaml +2 -0
  15. configs/data/drug_featurizer/label.yaml +15 -0
  16. configs/data/drug_featurizer/mol_features.yaml +4 -0
  17. configs/data/drug_featurizer/none.yaml +2 -0
  18. configs/data/drug_featurizer/onehot.yaml +15 -0
  19. configs/data/drug_featurizer/tokenizer.yaml +6 -0
  20. configs/data/dti.yaml.bak +21 -0
  21. configs/data/dti_data.yaml +20 -0
  22. configs/data/protein_featurizer/fcs.yaml +4 -0
  23. configs/data/protein_featurizer/label.yaml +12 -0
  24. configs/data/protein_featurizer/none.yaml +2 -0
  25. configs/data/protein_featurizer/onehot.yaml +12 -0
  26. configs/data/protein_featurizer/tokenizer.yaml +6 -0
  27. configs/data/protein_featurizer/word2vec.yaml +6 -0
  28. configs/data/split/cold_drug.yaml +4 -0
  29. configs/data/split/cold_protein.yaml +4 -0
  30. configs/data/split/none.yaml +0 -0
  31. configs/data/split/random.yaml +10 -0
  32. configs/data/transform/minmax.yaml +5 -0
  33. configs/data/transform/none.yaml +2 -0
  34. configs/debug/advanced.yaml +25 -0
  35. configs/debug/default.yaml +35 -0
  36. configs/debug/fdr.yaml +11 -0
  37. configs/debug/fdr_advanced.yaml +11 -0
  38. configs/debug/limit.yaml +12 -0
  39. configs/debug/overfit.yaml +13 -0
  40. configs/debug/profiler.yaml +12 -0
  41. configs/experiment/bindingdb.yaml +9 -0
  42. configs/experiment/chembl_random.yaml +9 -0
  43. configs/experiment/chembl_rmfh_random.yaml +9 -0
  44. configs/experiment/davis.yaml +9 -0
  45. configs/experiment/demo_bindingdb.yaml +9 -0
  46. configs/experiment/dti_experiment.yaml +19 -0
  47. configs/experiment/example.yaml +35 -0
  48. configs/experiment/ion_channels.yaml +9 -0
  49. configs/experiment/kiba.yaml +9 -0
  50. configs/experiment/kinase.yaml +13 -0
configs/callbacks/csv_prediction_writer.yaml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ csv_prediction_writer:
2
+ _target_: deepscreen.utils.lightning.CSVPredictionWriter
3
+ output_dir: ${paths.output_dir}
4
+ write_interval: batch
configs/callbacks/default.yaml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ defaults:
2
+ - model_checkpoint
3
+ - early_stopping
4
+ - model_summary
5
+ - rich_progress_bar
configs/callbacks/early_stopping.yaml ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.EarlyStopping.html
2
+
3
+ # Monitor a metric and stop training when it stops improving.
4
+ # Look at the above link for more detailed information.
5
+ early_stopping:
6
+ _target_: lightning.pytorch.callbacks.EarlyStopping
7
+ monitor: ${oc.select:callbacks.model_checkpoint.monitor,"val/loss"} # quantity to be monitored, must be specified!!!
8
+ min_delta: 0. # minimum change in the monitored quantity to qualify as an improvement
9
+ patience: 50 # number of checks with no improvement after which training will be stopped
10
+ verbose: False # verbosity mode
11
+ mode: ${callbacks.model_checkpoint.mode} # "max" means higher metric value is better, can be also "min"
12
+ strict: True # whether to crash the training if monitor is not found in the validation metrics
13
+ check_finite: True # when set True, stops training when the monitor becomes NaN or infinite
14
+ stopping_threshold: null # stop training immediately once the monitored quantity reaches this threshold
15
+ divergence_threshold: null # stop training as soon as the monitored quantity becomes worse than this threshold
16
+ check_on_train_epoch_end: False # whether to run early stopping at the end of the training epoch
17
+ log_rank_zero_only: False # logs the status of the early stopping callback only for rank 0 process
configs/callbacks/inference.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ defaults:
2
+ - model_summary
3
+ - rich_progress_bar
4
+
5
+ model_summary:
6
+ max_depth: 2
configs/callbacks/model_checkpoint.yaml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.ModelCheckpoint.html
2
+
3
+ # Save the model periodically by monitoring a quantity.
4
+ # Look at the above link for more detailed information.
5
+ model_checkpoint:
6
+ _target_: lightning.pytorch.callbacks.ModelCheckpoint
7
+ dirpath: ${paths.output_dir} # directory to save the model file
8
+ filename: "checkpoints/epoch_{epoch:03d}" # checkpoint filename
9
+ monitor: ${eval:'"val/loss" if ${data.train_val_test_split}[1] else "train/loss"'} # name of the logged metric which determines when model is improving
10
+ verbose: False # verbosity mode
11
+ save_last: True # additionally always save an exact copy of the last checkpoint to a file last.ckpt
12
+ save_top_k: 1 # save k best models (determined by above metric)
13
+ mode: "min" # "max" means higher metric value is better, can be also "min"
14
+ auto_insert_metric_name: False # when True, the checkpoints filenames will contain the metric name
15
+ save_weights_only: False # if True, then only the model’s weights will be saved
16
+ every_n_train_steps: null # number of training steps between checkpoints
17
+ train_time_interval: null # checkpoints are monitored at the specified time interval
18
+ every_n_epochs: null # number of epochs between checkpoints
19
+ save_on_train_epoch_end: null # whether to run checkpointing at the end of the training epoch or the end of validation
configs/callbacks/model_summary.yaml ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.RichModelSummary.html
2
+
3
+ # Generates a summary of all layers in a LightningModule with rich text formatting.
4
+ # Look at the above link for more detailed information.
5
+ model_summary:
6
+ _target_: lightning.pytorch.callbacks.RichModelSummary
7
+ max_depth: 2 # The maximum depth of layer nesting that the summary will include. `-1` for all modules `0` for none.
configs/callbacks/none.yaml ADDED
File without changes
configs/callbacks/rich_progress_bar.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.RichProgressBar.html
2
+
3
+ # Create a progress bar with rich text formatting.
4
+ # Look at the above link for more detailed information.
5
+ rich_progress_bar:
6
+ _target_: lightning.pytorch.callbacks.RichProgressBar
configs/callbacks/tqdm_progress_bar.yaml ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ tqdm_progress_bar:
2
+ _target_: lightning.pytorch.callbacks.TQDMProgressBar
configs/data/collator/default.yaml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ _target_: deepscreen.data.utils.collator.collate_fn
2
+ _partial_: true
3
+
4
+ automatic_padding: false
5
+ padding_value: 0.0
configs/data/collator/none.yaml ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ _target_: deepscreen.utils.passthrough
2
+ _partial_: true
configs/data/drug_featurizer/ecfp.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _target_: deepscreen.data.featurizers.fingerprint.smiles_to_fingerprint
2
+ _partial_: true
3
+
4
+ fingerprint: MorganFP
5
+ nBits: 1024
6
+ radius: 2
configs/data/drug_featurizer/fcs.yaml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ _target_: deepscreen.data.featurizers.fcs.drug_to_embedding
2
+ _partial_: true
3
+
4
+ max_sequence_length: 205
configs/data/drug_featurizer/graph.yaml ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ _target_: deepscreen.data.featurizers.graph.smiles_to_graph
2
+ _partial_: true
configs/data/drug_featurizer/label.yaml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #_target_: deepscreen.data.featurizers.categorical.smiles_to_label
2
+ #_partial_: true
3
+ #
4
+ #max_sequence_length: 100
5
+ ##in_channels: 63
6
+
7
+ _target_: deepscreen.data.featurizers.categorical.sequence_to_label
8
+ _partial_: true
9
+ charset: ['#', '%', ')', '(', '+', '-', '.', '1', '0', '3', '2', '5', '4',
10
+ '7', '6', '9', '8', '=', 'A', 'C', 'B', 'E', 'D', 'G', 'F', 'I',
11
+ 'H', 'K', 'M', 'L', 'O', 'N', 'P', 'S', 'R', 'U', 'T', 'W', 'V',
12
+ 'Y', '[', 'Z', ']', '_', 'a', 'c', 'b', 'e', 'd', 'g', 'f', 'i',
13
+ 'h', 'm', 'l', 'o', 'n', 's', 'r', 'u', 't', 'y']
14
+
15
+ max_sequence_length: 100
configs/data/drug_featurizer/mol_features.yaml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ _target_: deepscreen.data.featurizers.graph.smiles_to_mol_features
2
+ _partial_: true
3
+
4
+ num_atom_feat: 34
configs/data/drug_featurizer/none.yaml ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ _target_: deepscreen.utils.passthrough
2
+ _partial_: true
configs/data/drug_featurizer/onehot.yaml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #_target_: deepscreen.data.featurizers.categorical.smiles_to_onehot
2
+ #_partial_: true
3
+ #
4
+ #max_sequence_length: 100
5
+ ##in_channels: 63
6
+
7
+ _target_: deepscreen.data.featurizers.categorical.sequence_to_onehot
8
+ _partial_: true
9
+ charset: ['#', '%', ')', '(', '+', '-', '.', '1', '0', '3', '2', '5', '4',
10
+ '7', '6', '9', '8', '=', 'A', 'C', 'B', 'E', 'D', 'G', 'F', 'I',
11
+ 'H', 'K', 'M', 'L', 'O', 'N', 'P', 'S', 'R', 'U', 'T', 'W', 'V',
12
+ 'Y', '[', 'Z', ']', '_', 'a', 'c', 'b', 'e', 'd', 'g', 'f', 'i',
13
+ 'h', 'm', 'l', 'o', 'n', 's', 'r', 'u', 't', 'y']
14
+
15
+ max_sequence_length: 100
configs/data/drug_featurizer/tokenizer.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _target_: deepscreen.data.featurizers.token.sequence_to_token_ids
2
+ _partial_: true
3
+
4
+ tokenizer:
5
+ _target_: deepscreen.data.featurizers.token.SmilesTokenizer
6
+ vocab_file: resources/vocabs/smiles.txt
configs/data/dti.yaml.bak ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _target_: deepscreen.data.dti_datamodule.DTIdatamodule
2
+
3
+ defaults:
4
+ - _self_
5
+ - split: null
6
+ - drug_featurizer: null
7
+ - protein_featurizer: null
8
+
9
+ task: ${task.task}
10
+ n_class: ${oc.select:task.task.n_class,null}
11
+
12
+ data_dir: ${paths.data_dir}
13
+ dataset_name: null
14
+
15
+ batch_size: 16
16
+ train_val_test_split: [0.7, 0.1, 0.2]
17
+
18
+ num_workers: 0
19
+ pin_memory: false
20
+
21
+ train: ${train}
configs/data/dti_data.yaml ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _target_: deepscreen.data.dti.DTIDataModule
2
+
3
+ defaults:
4
+ - split: null
5
+ - drug_featurizer: none # ???
6
+ - protein_featurizer: none # ???
7
+ - collator: default
8
+
9
+ task: ${task.task}
10
+ num_classes: ${task.num_classes}
11
+
12
+ data_dir: ${paths.data_dir}
13
+ data_file: null
14
+ train_val_test_split: null
15
+
16
+ batch_size: ???
17
+ num_workers: 0
18
+ pin_memory: false
19
+
20
+ #train: ${train}
configs/data/protein_featurizer/fcs.yaml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ _target_: deepscreen.data.featurizers.fcs.protein_to_embedding
2
+ _partial_: true
3
+
4
+ max_sequence_length: 545
configs/data/protein_featurizer/label.yaml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #_target_: deepscreen.data.featurizers.categorical.fasta_to_label
2
+ #_partial_: true
3
+ #
4
+ #max_sequence_length: 1000
5
+ ##in_channels: 26
6
+
7
+ _target_: deepscreen.data.featurizers.categorical.sequence_to_label
8
+ _partial_: true
9
+ charset: ['A', 'C', 'B', 'E', 'D', 'G', 'F', 'I', 'H', 'K', 'M', 'L', 'O',
10
+ 'N', 'Q', 'P', 'S', 'R', 'U', 'T', 'W', 'V', 'Y', 'X', 'Z']
11
+
12
+ max_sequence_length: 1000
configs/data/protein_featurizer/none.yaml ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ _target_: deepscreen.utils.passthrough
2
+ _partial_: true
configs/data/protein_featurizer/onehot.yaml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #_target_: deepscreen.data.featurizers.categorical.fasta_to_onehot
2
+ #_partial_: true
3
+ #
4
+ #max_sequence_length: 1000
5
+ ##in_channels: 26
6
+
7
+ _target_: deepscreen.data.featurizers.categorical.sequence_to_onehot
8
+ _partial_: true
9
+ charset: ['A', 'C', 'B', 'E', 'D', 'G', 'F', 'I', 'H', 'K', 'M', 'L', 'O',
10
+ 'N', 'Q', 'P', 'S', 'R', 'U', 'T', 'W', 'V', 'Y', 'X', 'Z']
11
+
12
+ max_sequence_length: 1000
configs/data/protein_featurizer/tokenizer.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _target_: deepscreen.data.featurizers.token.sequence_to_token_ids
2
+ _partial_: true
3
+
4
+ tokenizer:
5
+ _target_: tape.TAPETokenizer.from_pretrained
6
+ vocab: iupac
configs/data/protein_featurizer/word2vec.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _target_: deepscreen.data.featurizers.word.protein_to_word_embedding
2
+ _partial_: true
3
+
4
+ model:
5
+ _target_: gensim.models.Word2Vec.load
6
+ fname: ${paths.resource_dir}/models/word2vec_30.model
configs/data/split/cold_drug.yaml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ _target_: deepscreen.data.utils.split.cold_start
2
+ _partial_: true
3
+
4
+ entity: drug
configs/data/split/cold_protein.yaml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ _target_: deepscreen.data.utils.split.cold_start
2
+ _partial_: true
3
+
4
+ entity: protein
configs/data/split/none.yaml ADDED
File without changes
configs/data/split/random.yaml ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ #_target_: torch.utils.data.random_split
2
+ #_partial_: true
3
+
4
+ #generator:
5
+ # _target_: torch.Generator # will use global seed set by lightning.seed_everything or torch.manual_seed automatically
6
+
7
+ _target_: deepscreen.data.utils.split.random_split
8
+ _partial_: true
9
+
10
+ seed: ${seed}
configs/data/transform/minmax.yaml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ _target_: deepscreen.data.utils.transform
2
+ _partial_: true
3
+
4
+ scaler:
5
+ _target_: sklearn.preprocessing.MinMaxScaler
configs/data/transform/none.yaml ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ _target_: deepscreen.utils.passthrough
2
+ _partial_: true
configs/debug/advanced.yaml ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+
3
+ # advanced debug mode that enables callbacks, loggers and gpu during debugging
4
+ job_name: "debug"
5
+
6
+ extras:
7
+ ignore_warnings: False
8
+ enforce_tags: False
9
+
10
+ hydra:
11
+ job_logging:
12
+ root:
13
+ level: DEBUG
14
+ verbose: True
15
+
16
+ trainer:
17
+ max_epochs: 1
18
+ accelerator: gpu
19
+ devices: 1
20
+ detect_anomaly: true
21
+ deterministic: false
22
+
23
+ data:
24
+ num_workers: 0
25
+ pin_memory: False
configs/debug/default.yaml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+
3
+ # default debugging setup, runs 1 full epoch
4
+ # other debugging configs can inherit from this one
5
+
6
+ # overwrite job name so debugging logs are stored in separate folder
7
+ job_name: "debug"
8
+
9
+ # disable callbacks and loggers during debugging
10
+ callbacks: null
11
+ logger: null
12
+
13
+ extras:
14
+ ignore_warnings: False
15
+ enforce_tags: False
16
+
17
+ # sets level of all command line loggers to 'DEBUG'
18
+ # https://hydra.cc/docs/tutorials/basic/running_your_app/logging/
19
+ hydra:
20
+ job_logging:
21
+ root:
22
+ level: DEBUG
23
+ # use this to also set hydra loggers to 'DEBUG'
24
+ verbose: True
25
+
26
+ trainer:
27
+ max_epochs: 1
28
+ accelerator: cpu # debuggers don't like gpus
29
+ devices: 1 # debuggers don't like multiprocessing
30
+ detect_anomaly: true # raise exception if NaN or +/-inf is detected in any tensor
31
+ deterministic: false
32
+
33
+ data:
34
+ num_workers: 0 # debuggers don't like multiprocessing
35
+ pin_memory: False # disable gpu memory pin
configs/debug/fdr.yaml ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+
3
+ # runs 1 train, 1 validation and 1 test step
4
+
5
+ defaults:
6
+ - default
7
+
8
+ trainer:
9
+ accelerator: gpu
10
+ fast_dev_run: true
11
+ detect_anomaly: true
configs/debug/fdr_advanced.yaml ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+
3
+ # runs 1 train, 1 validation and 1 test step
4
+
5
+ defaults:
6
+ - advanced
7
+
8
+ trainer:
9
+ accelerator: gpu
10
+ fast_dev_run: true
11
+ detect_anomaly: true
configs/debug/limit.yaml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+
3
+ # uses only 1% of the training data and 5% of validation/test data
4
+
5
+ defaults:
6
+ - default
7
+
8
+ trainer:
9
+ max_epochs: 3
10
+ limit_train_batches: 0.01
11
+ limit_val_batches: 0.05
12
+ limit_test_batches: 0.05
configs/debug/overfit.yaml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+
3
+ # overfits to 3 batches
4
+
5
+ defaults:
6
+ - default
7
+
8
+ trainer:
9
+ max_epochs: 20
10
+ overfit_batches: 3
11
+
12
+ # model ckpt and early stopping need to be disabled during overfitting
13
+ callbacks: null
configs/debug/profiler.yaml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+
3
+ # runs with execution time profiling
4
+
5
+ defaults:
6
+ - default
7
+
8
+ trainer:
9
+ max_epochs: 1
10
+ profiler: "simple"
11
+ # profiler: "advanced"
12
+ # profiler: "pytorch"
configs/experiment/bindingdb.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - dti_experiment
4
+ - override /task: binary
5
+
6
+ data:
7
+ train_val_test_split: [dti_benchmark/random_split_update/bindingdb_train.csv,
8
+ dti_benchmark/random_split_update/bindingdb_valid.csv,
9
+ dti_benchmark/random_split_update/bindingdb_test.csv]
configs/experiment/chembl_random.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - dti_experiment
4
+ - override /task: binary
5
+
6
+ data:
7
+ train_val_test_split: [chembl_random_global_balance_1_train.csv,
8
+ chembl_random_global_balance_1_valid.csv,
9
+ chembl_random_global_balance_1_test.csv]
configs/experiment/chembl_rmfh_random.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - dti_experiment
4
+ - override /task: binary
5
+
6
+ data:
7
+ train_val_test_split: [chembl_rmFH_random_global_balance_1_train.csv,
8
+ chembl_rmFH_random_global_balance_1_valid.csv,
9
+ chembl_rmFH_random_global_balance_1_test.csv]
configs/experiment/davis.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - dti_experiment
4
+ - override /task: binary
5
+
6
+ data:
7
+ train_val_test_split: [dti_benchmark/random_split_update/davis_train.csv,
8
+ dti_benchmark/random_split_update/davis_valid.csv,
9
+ dti_benchmark/random_split_update/davis_test.csv]
configs/experiment/demo_bindingdb.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - dti_experiment
4
+ - override /task: binary
5
+ - override /data/split: random
6
+
7
+ data:
8
+ data_file: demo/binddb_ic50_demo.csv
9
+ train_val_test_split: [0.7, 0.1, 0.2]
configs/experiment/dti_experiment.yaml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - override /data: dti_data
4
+ - override /model: dti_model
5
+ - override /trainer: gpu
6
+
7
+ seed: 12345
8
+
9
+ trainer:
10
+ min_epochs: 1
11
+ max_epochs: 500
12
+ precision: 16-mixed
13
+
14
+ callbacks:
15
+ early_stopping:
16
+ patience: 50
17
+
18
+ data:
19
+ num_workers: 8
configs/experiment/example.yaml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+
3
+ # to execute this experiment run:
4
+ # python train.py experiment=example
5
+
6
+ defaults:
7
+ - override /data: dti_data
8
+ - override /data/drug_featurizer: onehot
9
+ - override /data/protein_featurizer: onehot
10
+ - override /model: dti_model
11
+ - override /model/protein_encoder: cnn
12
+ - override /model/drug_encoder: cnn
13
+ - override /model/decoder: concat_mlp
14
+ - override /callbacks: default
15
+ - override /trainer: default
16
+
17
+ # all parameters below will be merged with parameters from default configurations set above
18
+ # this allows you to overwrite only specified parameters
19
+
20
+ tags: ["dti"]
21
+
22
+ seed: 12345
23
+
24
+ data:
25
+ data_file: davis.csv
26
+ batch_size: 64
27
+
28
+ model:
29
+ optimizer:
30
+ lr: 0.0001
31
+
32
+ trainer:
33
+ min_epochs: 1
34
+ max_epochs: 100
35
+ accelerator: gpu
configs/experiment/ion_channels.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - dti_experiment
4
+ - override /task: binary
5
+
6
+ data:
7
+ train_val_test_split: [dti_benchmark/ChEMBL33/train/Ion_channels_train_data.csv,
8
+ dti_benchmark/ChEMBL33/valid/Ion_channels_valid_data.csv,
9
+ dti_benchmark/ChEMBL33/test/Ion_channels_both_unseen_test_data.csv]
configs/experiment/kiba.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - dti_experiment
4
+ - /task: binary
5
+
6
+ data:
7
+ train_val_test_split: [dti_benchmark/random_split_update/kiba_train.csv,
8
+ dti_benchmark/random_split_update/kiba_valid.csv,
9
+ dti_benchmark/random_split_update/kiba_test.csv]
configs/experiment/kinase.yaml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # @package _global_
2
+ defaults:
3
+ - dti_experiment
4
+ - override /task: binary
5
+
6
+ data:
7
+ train_val_test_split:
8
+ - dti_benchmark/ChEMBL33/train/kinase_train_data.csv
9
+ - null
10
+ - null
11
+ # dti_benchmark/ChEMBL33/valid/kinase_valid_data.csv,
12
+ # dti_benchmark/ChEMBL33/test/kinase_both_unseen_test_data.csv
13
+