gabrielbianchin commited on
Commit
30b3093
·
1 Parent(s): b332b8e

upload files

Browse files
Files changed (3) hide show
  1. README.md +68 -0
  2. adapter_config.json +42 -0
  3. adapter_model.safetensors +3 -0
README.md ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-nc-nd-4.0
3
+ datasets:
4
+ - SaeedLab/SeqScreen
5
+ tags:
6
+ - proteins
7
+ - molecules
8
+ - bioinformatics
9
+ - drug-discovery
10
+ - feature-extraction
11
+ - transformers
12
+ - lora
13
+ - peft
14
+ base_model: facebook/esm2_t36_3B_UR50D
15
+ library_name: peft
16
+ ---
17
+
18
+ # SeqScreen - ESM2 LoRA Adapter
19
+
20
+ This repository contains the LoRA adapter weights for the protein encoder used in SeqScreen. SeqScreen is a sequence-based virtual screening method built on a dual-encoder contrastive architecture. The adapter fine-tunes [ESM2 T36 (3B)](https://huggingface.co/facebook/esm2_t36_3B_UR50D) on protein-molecule interaction task.
21
+
22
+ The projection layers are available separately at [SaeedLab/SeqScreen-Finetuning](https://huggingface.co/SaeedLab/SeqScreen-Finetuning), which also contains the full model description, architecture diagram, and usage examples.
23
+
24
+ \[[Github Repo](https://github.com/pcdslab/SeqScreen)\] | \[[Dataset on HuggingFace](https://huggingface.co/datasets/SaeedLab/SeqScreen)\] | \[[Model Collection](https://huggingface.co/collections/SaeedLab/seqscreen)\] | \[[Cite](#citation)\]
25
+
26
+ ## Abstract
27
+
28
+ Virtual screening aims to identify candidate molecules that bind to a target protein, playing a central role in computational drug discovery. Sequence-based deep learning methods offer an applicable alternative to structure-based approaches, but typically process one protein-molecule pair at a time, limiting their scalability to large molecular libraries. Contrastive learning methods inspired by CLIP have shown promise for learning joint protein-molecule representations, but standard CLIP training was designed for symmetric tasks and does not account for the asymmetric and one-to-many nature of protein-molecule binding. In this paper, we introduce *SeqScreen*, a sequence-based virtual screening method built on a dual-encoder contrastive architecture. SeqScreen introduces a protein-centric batch construction strategy and an asymmetric multi-positive InfoNCE loss to cope with the protein-centric nature of virtual screening. We conduct a systematic evaluation across 8 protein language models and 3 molecular language model variants. The protein-centric batch construction consistently outperforms standard CLIP training across all evaluated encoders, while requiring approximately 32 times fewer training epochs and 7 times fewer forward passes during inference compared to pair-based methods. On the LIT-PCBA dataset, SeqScreen outperforms all sequence-based baselines, achieving a relative improvement of up to 39% in EF at 0.5 over the best competing method, while remaining competitive with traditional docking approaches without requiring 3D structural information.
29
+
30
+ ## Model Details
31
+
32
+ This adapter corresponds to the **SeqScreen-Finetuning** configuration, in which ESM2 T36 is fine-tuned via LoRA alongside the projection layers. Two configurations are available in this collection:
33
+
34
+ - [SeqScreen-Frozen](https://huggingface.co/SaeedLab/SeqScreen-Frozen): only the projection layers are trained, both encoders are frozen.
35
+ - [SeqScreen-Finetuning](https://huggingface.co/SaeedLab/SeqScreen-Finetuning): the projection layers and ESM2 T36 are trained via LoRA, MolDeBERTa MLC is frozen.
36
+
37
+ | Field | Value |
38
+ |---|---|
39
+ | Base model | `facebook/esm2_t36_3B_UR50D` |
40
+ | Adapter type | LoRA |
41
+ | Target modules | `query`, `key`, `value` |
42
+ | LoRA rank (r) | 16 |
43
+ | LoRA alpha | 32 |
44
+ | LoRA dropout | 0.05 |
45
+ | Task type | `FEATURE_EXTRACTION` |
46
+ | Training data | BindingDB |
47
+
48
+ ## Usage
49
+
50
+ This adapter must be used together with [SaeedLab/SeqScreen-Finetuning](https://huggingface.co/SaeedLab/SeqScreen-Finetuning), which provides the projection layers. The full usage example, including molecule encoding and similarity computation, is available in that repository.
51
+
52
+ ### Dependencies
53
+
54
+ ```bash
55
+ pip install transformers peft torch
56
+ ```
57
+
58
+ ## Citation
59
+
60
+ The paper is under review. As soon as it is accepted, we will update this section.
61
+
62
+ ## License
63
+
64
+ This model and associated code are released under the CC-BY-NC-ND 4.0 license and may only be used for non-commercial, academic research purposes with proper attribution. Any commercial use, sale, or other monetization of this model and its derivatives, which include models trained on outputs from the model or datasets created from the model, is prohibited and requires prior approval. Downloading the model requires prior registration on Hugging Face and agreeing to the terms of use. By downloading this model, you agree not to distribute, publish or reproduce a copy of the model. If another user within your organization wishes to use the model, they must register as an individual user and agree to comply with the terms of use. Users may not attempt to re-identify the deidentified data used to develop the underlying model. If you are a commercial entity, please contact the corresponding author.
65
+
66
+ ## Contact
67
+
68
+ For any additional questions or comments, contact Fahad Saeed (fsaeed@fiu.edu).
adapter_config.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "facebook/esm2_t36_3B_UR50D",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 32,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "megatron_config": null,
23
+ "megatron_core": "megatron.core",
24
+ "modules_to_save": null,
25
+ "peft_type": "LORA",
26
+ "peft_version": "0.18.1",
27
+ "qalora_group_size": 16,
28
+ "r": 16,
29
+ "rank_pattern": {},
30
+ "revision": null,
31
+ "target_modules": [
32
+ "query",
33
+ "value",
34
+ "key"
35
+ ],
36
+ "target_parameters": null,
37
+ "task_type": "FEATURE_EXTRACTION",
38
+ "trainable_token_indices": null,
39
+ "use_dora": false,
40
+ "use_qalora": false,
41
+ "use_rslora": false
42
+ }
adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f388134ead7fd7cbffe93427e892ec1adaf192a7adb587e6da60046ef130de35
3
+ size 35419376