-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #100 from choderalab/sprint-5
Updates for Sprint 5
- Loading branch information
Showing
21 changed files
with
1,033 additions
and
187 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,7 +18,13 @@ Tools and infrastructure for automated compound discovery using Folding@home. | |
2. Create a `conda` environment with the required dependencies: | ||
|
||
``` sh | ||
conda env create -n fah-xchem | ||
conda env create -f environment.yml | ||
``` | ||
|
||
If the above process is slow, we recommend using [mamba](https://github.com/mamba-org/mamba.git) to speed up installation: | ||
|
||
```sh | ||
mamba env create -f environment.yml | ||
``` | ||
|
||
3. Install `fah-xchem` in the environment using `pip`: | ||
|
@@ -48,6 +54,7 @@ Generate representative snapshots, plots, PDF report, and static site HTML in `r | |
fah-xchem generate-artifacts \ | ||
--compound-series-analysis-file results/analysis.json \ | ||
--config-file config.json \ | ||
--fragalysis-config fragalysis_config.json \ | ||
--fah-projects-dir /path/to/projects/ \ | ||
--fah-data-dir /path/to/data/SVR314342810/ \ | ||
--output-dir results \ | ||
|
@@ -56,7 +63,6 @@ fah-xchem generate-artifacts \ | |
--num-procs 8 | ||
``` | ||
|
||
|
||
### Unit conventions | ||
|
||
Energies are represented in configuration and internally in units of `k T`, except when otherwise indicated. For energies in kilocalories per mole, the function or variable name should be suffixed with `_kcal`. | ||
|
@@ -81,6 +87,53 @@ Some analysis options can be configured in a separate JSON file with schema give | |
|
||
The JSON file is passed on the command line using the `--config-file` option. | ||
|
||
#### Upload to Fragalysis | ||
|
||
To upload sprint results to [Fragalysis](https://fragalysis.diamond.ac.uk/viewer/react/landing) a JSON config file may be supplied. For example, | ||
|
||
`fragalysis_config.json` | ||
```json | ||
{ | ||
"run": true, | ||
"ligands_filename": "reliable-transformations-final-ligands.sdf", | ||
"fragalysis_sdf_filename": "compound-set_foldingathome-sprint-X.sdf", | ||
"ref_url": "https://url-link", | ||
"ref_mols": "x00000", | ||
"ref_pdb": "references.zip", | ||
"target_name": "protein-target", | ||
"submitter_name": "Folding@home", | ||
"submitter_email": "[email protected]", | ||
"submitter_institution": "institution-name", | ||
"method": "Sprint X", | ||
"upload_key": "upload-key", | ||
"new_upload": true | ||
} | ||
``` | ||
|
||
The JSON file is passed on the command line using the `--fragalysis-config` option. | ||
|
||
Description of the JSON parameters: | ||
|
||
* `run`: specify whether to run the Fragalysis upload. If set to `false` the results will not be uploaded (even if the JSON is supplied via the `--fragalysis-config` option). | ||
* `ligands_filename`: the name of the SDF file to upload to Fragalysis. | ||
* `fragalysis_sdf_filename`: the name to use for the SDF Fragalysis upload. This will be a copy of `ligands_filename` but must be in the form `compound-set_name.sdf`. | ||
* `ref_url`: the url to the post that describes the work e.g. for [Sprint 5](https://discuss.postera.ai/t/folding-home-sprint-5/2423). | ||
* `ref_mol`: a comma separated list of the fragments that inspired the design of the new molecule (codes as they appear in fragalysis - e.g. x0104_0,x0692_0). | ||
* `ref_pdb`: 1) the name of the protein PDB zipped file to upload, this should be named `references.zip` (recommended) or 2) the code to the fragment pdb from fragalysis that should be used (e.g. x0692_0). | ||
* `target_name`: the name of the target protein. | ||
* `submitter_name`: the name of the submitter. | ||
* `submitter_email`: the email address of the submitter. | ||
* `submitter_institution`: the name of the institution that the submitter is associated with. | ||
* `method`: the method by which the results were obtained (e.g. Sprint 5). | ||
* `upload_key`: the unique upload key used to upload to Fragalysis. | ||
* `new_upload`: specifies whether to upload a new set (`true`) or to update an existing set (`false`). | ||
|
||
For more information on the upload format see this forum [post](https://discuss.postera.ai/t/providing-computed-poses-for-others-to-look-at/1155/8). | ||
|
||
A unique `upload_key` is needed to push to Fragalysis, this can be requested [here](https://fragalysis.diamond.ac.uk/viewer/cset_key/). | ||
|
||
For more information on the entire upload process see this forum [post](https://discuss.postera.ai/t/instructions-around-the-docking-results-category/1212/2). | ||
|
||
#### Server-specific configuration | ||
|
||
Paths to Folding@home project and data directories are passed on the command line. See usage examples above. | ||
|
@@ -89,10 +142,10 @@ Paths to Folding@home project and data directories are passed on the command lin | |
|
||
#### Conda | ||
|
||
This project uses [conda](https://github.com/conda/conda) to manage the environment. To set up a conda environment named `fah-xchem` with the required dependencies, run | ||
This project uses [conda](https://github.com/conda/conda) to manage the environment. To set up a conda environment named `fah-xchem` with the required dependencies, create the conda environment as described above. To install `fah-xchem` as `dev` run: | ||
|
||
``` sh | ||
conda env create -n fah-xchem | ||
```sh | ||
pip install -e . | ||
``` | ||
|
||
#### Running tests locally | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,4 +26,7 @@ dependencies: | |
- pip | ||
- pip: | ||
- git+https://github.com/openforcefield/[email protected] | ||
- git+https://github.com/xchem/pandda_gemmi.git | ||
- git+https://github.com/xchem/gemmi_pandda.git | ||
- git+https://github.com/xchem/fragalysis-api.git | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,8 @@ | ||
from simtk.openmm import unit | ||
from openmmtools.constants import kB | ||
import numpy as np | ||
|
||
# TODO: should be a configuration parameter | ||
KT_KCALMOL = kB * 300 * unit.kelvin / unit.kilocalories_per_mole | ||
KCALMOL_KT = 1.0 / KT_KCALMOL | ||
KT_PIC50 = np.log10(np.e) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.