For other versions or installation methods, please refer to [PyTorch documentation](https://pytorch.org/get-started/locally/).
For other versions or installation methods, please refer to [PyTorch documentation](https://pytorch.org/get-started/locally/).
MuLAN and its dependencies can then be installed with
MuLAN and its dependencies can then be installed with
...
@@ -24,14 +24,35 @@ cd mulan
...
@@ -24,14 +24,35 @@ cd mulan
pip install .
pip install .
```
```
We suggest to do it in a dedicated conda environment.
We suggest to do it in a dedicated conda environment.
Cloning the repository will also download weights for different model versions trained on SKEMPI dataset. They are available in the folder
`models/pretrained`. To be able to load them within the package, the environmental variable must be set:
```bash
export MULAN="path/to/mulan/folder"
```
Alternatively, if you prefer to move the checkpoint files to a different folder, you can acces them in the new location by setting the
`MULAN_MODELS_DIR` variable pointing to the corresponding folder.
### Usage
### Usage
Available mulan models and pre-trained protein language models can be easily loaded through `mulan` interface. For MuLAN models:
```python
importmulan
print(mulan.get_available_models())
model=mulan.load_pretrained("mulan-ankh")
```
For some supported PLMs, instead:
```python
importmulan
print(mulan.get_available_plms())
model=mulan.load_pretrained_plm("ankh")
```
If the corresponding PLMs are not found on disk, they will be downloaded from HuggingFace Hub and stored by default in `~/.cache/huggingface/hub` folder.
We provide several command line interfaces for quick usage of MuLAN different applications:
We provide several command line interfaces for quick usage of MuLAN different applications:
-`mulan-predict` for $\Delta \Delta G$ prediction of single and multiple-point mutations;
-`mulan-predict` for $\Delta \Delta G$ prediction of single and multiple-point mutations;
-`mulan-att` to extract residues weights, related to interface regions;
-`mulan-att` to extract residues weights, related to interface regions;
-`mulan-landscape` to produce a full mutational landscape for a given complex;
-`mulan-landscape` to produce a full mutational landscape for a given complex;
-`mulan-train` to re-train the model on a custom dataset or to run cross validation (not added yet);
-`mulan-train` to re-train the model on a custom dataset or to run cross validation (not supported yet);
-`plm-embed` to extract embeddings from protein language models.
-`plm-embed` to extract embeddings from protein language models.
Since the script uses the `transformers` interface, only models that are saved on HuggingFace 🤗 Hub can be loaded.
Since the script uses the `transformers` interface, only models that are saved on HuggingFace 🤗 Hub can be loaded.
...
@@ -39,5 +60,16 @@ Information about required inputs and usage examples for each command are provid
...
@@ -39,5 +60,16 @@ Information about required inputs and usage examples for each command are provid
## Citation
## Citation
If you find this useful, please cite
```bibtex
@article {Lombardi2024.08.24.609515,
author = {Lombardi, Gianluca and Carbone, Alessandra},
title = {MuLAN: Mutation-driven Light Attention Networks for investigating protein-protein interactions from sequences},