Enerplex API Client
Project description
Enerplex API Client
The Enerplex API Client is a Python package designed to interact with the Enerplex platform, providing functionality to manage and retrieve data related to target proteins, ligands, and their embeddings. This package facilitates authentication, data retrieval, and file management through a user-friendly interface.
Features
- Authentication: Securely authenticate with the Enerplex API using user credentials.
- Target Proteins: Retrieve and manage information about target proteins.
- Ligands: Fetch ligands associated with specific proteins and upload new ligands.
- Embeddings: Retrieve embeddings for proteins and ligands.
- File Management: Download and manage files related to proteins, ligands, and embeddings.
Installation
Install the package using pip:
pip install enerplex
Setup
The package uses environment variables for configuration. Either set environment variable or create a .env file in your project directory with the following variables:
ENERPLEX_API_URL=<your-api-url>
ENERPLEX_API_USER=<your-username>
ENERPLEX_API_USER_PASSWORD=<your-password>
Usage
Authentication
The package automatically handles authentication. Tokens are refreshed as needed to ensure seamless interaction with the API.
Fetch Target Proteins
from enerplex import get_target_proteins
proteins = get_target_proteins()
for protein in proteins:
print(protein.name)
Fetch Ligands
from enerplex import get_ligands
ligands = get_ligands(protein_identifier=123)
for ligand in ligands:
print(ligand.id, ligand.name)
Download Files
from enerplex import download_target_protein_file
from pathlib import Path
protein = ... # A DBTargetProtein object
download_target_protein_file(protein, path=Path("/path/to/save/file"))
Upload Ligands
from enerplex import upload_ligand
from pathlib import Path
ligand = upload_ligand(
target_name="ProteinX",
score=92.5,
scoring_function="Docking",
ligand_structure_file_path=Path("/path/to/ligand/file")
)
print(ligand.id, ligand.name)
Contributing
Contributions are welcome! If you'd like to contribute, please fork the repository and submit a pull request. Ensure your code adheres to the existing style and is well-documented.
License
This package is licensed under the MIT License. See the LICENSE file for more details.
Support
For any issues or questions, please open an issue on the GitHub repository or contact the maintainer directly.
Example Workflow
Here's a complete example that retrieves a target protein, downloads its associated file, and uploads a new ligand:
from enerplex import get_target_proteins, download_target_protein_file, upload_ligand, DBProteinLigandComplex, DBTargetProtein
from pathlib import Path
# Retrieve proteins
proteins: list[DBTargetProtein] = get_target_proteins()
selected_protein: DBTargetProtein = proteins[0]
# Download protein file
download_target_protein_file(selected_protein, path=Path("protein_file.pdb"))
# Build a ligand with some workflow
# ...
# Upload the new ligand
new_ligand: DBProteinLigandComplex = upload_ligand(
target_name=selected_protein.name,
score=-9.3,
scoring_function="Vina",
ligand_structure_file_path=Path("ligand_structure.pdb")
)
print(f"Uploaded ligand: {new_ligand.id}, {new_ligand.name}")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file enerplex-0.1.2.tar.gz.
File metadata
- Download URL: enerplex-0.1.2.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d65530f8dc11d557ea95fde229729caa2fe0f21986d519556c3ee653a988384f
|
|
| MD5 |
d02e0ec36547e3ac888c849a7dc39b59
|
|
| BLAKE2b-256 |
f68879a467e1711bebd3885cb4fcabd75832dcaa61f0e8a075d1d11405d26f2f
|
Provenance
The following attestation bundles were made for enerplex-0.1.2.tar.gz:
Publisher:
publish.yml on NoxelS/enerplex-api-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
enerplex-0.1.2.tar.gz -
Subject digest:
d65530f8dc11d557ea95fde229729caa2fe0f21986d519556c3ee653a988384f - Sigstore transparency entry: 159007277
- Sigstore integration time:
-
Permalink:
NoxelS/enerplex-api-client@8d632afc06987a201064574fda1ac6bd7ed40282 -
Branch / Tag:
refs/tags/0.1.2 - Owner: https://github.com/NoxelS
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8d632afc06987a201064574fda1ac6bd7ed40282 -
Trigger Event:
release
-
Statement type:
File details
Details for the file enerplex-0.1.2-py3-none-any.whl.
File metadata
- Download URL: enerplex-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a00637de6bf62a45c590c05735a2410f34de73e809d09020f6d521c1b259aa58
|
|
| MD5 |
8475b6627a7a40e01cd1c24f25f28bfa
|
|
| BLAKE2b-256 |
3ba4149c7a6361c65f10c82e1a863288b4760796edefe2d1950cb84821fc1350
|
Provenance
The following attestation bundles were made for enerplex-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on NoxelS/enerplex-api-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
enerplex-0.1.2-py3-none-any.whl -
Subject digest:
a00637de6bf62a45c590c05735a2410f34de73e809d09020f6d521c1b259aa58 - Sigstore transparency entry: 159007280
- Sigstore integration time:
-
Permalink:
NoxelS/enerplex-api-client@8d632afc06987a201064574fda1ac6bd7ed40282 -
Branch / Tag:
refs/tags/0.1.2 - Owner: https://github.com/NoxelS
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8d632afc06987a201064574fda1ac6bd7ed40282 -
Trigger Event:
release
-
Statement type: