MetabolomicsHub Common Data Model
Project description
MetabolomicsHub Common Data Model and Utility Tools (mhd-model)
You can find documentation on Github
Development Environment
Development environment for linux or mac
# install python package manager uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# add $HOME/.local/bin to your PATH, either restart your shell or run
export PATH=$HOME/.local/bin:$PATH
# install git from https://git-scm.com/downloads
# Linux command
apt update; apt install git -y
# Mac command
# brew install git
# clone project from github
git clone https://github.com/MetabolomicsHub/mhd_model.git
cd mhd-model
# install python if it is not installed
uv python install 3.12
# install python dependencies
uv sync
# install pre-commit to check repository integrity and format checking
uv run pre-commit
# open your IDE (vscode, pycharm, etc.) and set python interpreter as .venv/bin/python
Commandline Usage
# you can use any python version >= 3.12
pip install mhd-model
mhd-cli
Example API Usage
from mhd_model.mhd_client import MhdClient, MhdClientError
mhd_webservice_base_url = "https://www.metabolomicshub.org/api/submission"
api_key = "<your-api-key>"
def get_new_mhd_accession_example():
mhd_client: MhdClient = MhdClient(mhd_webservice_base_url, api_key)
try:
accession = mhd_client.get_new_mhd_accession(
dataset_repository_identifier="MTBLS1234567", accession_type="mhd"
)
print("Accession: %s" % accession)
except MhdClientError as ex:
print("Error: %s" % ex.message)
def get_new_test_mhd_accession_example():
mhd_client: MhdClient = MhdClient(mhd_webservice_base_url, api_key)
try:
accession = mhd_client.get_new_mhd_accession(
dataset_repository_identifier="MTBLS4444", accession_type="test"
)
print("Accession: %s" % accession)
except MhdClientError as ex:
print("Error: %s" % ex.message)
def submit_legacy_dataset_example():
announcement_file_path = "MTBLS9876543.announcement.json"
dataset_repository_id = "MTBLS9876543"
announcement_reason="Initial revision"
mhd_client: MhdClient = MhdClient(mhd_webservice_base_url, api_key)
try:
revision: SubmittedRevision = mhd_client.submit_announcement_file(
dataset_repository_id=dataset_repository_id,
mhd_id=None,
file_path=announcement_file_path,
announcement_reason=announcement_reason,
)
print("Revision: %s" % revision.revision)
except MhdClientError as ex:
print("Error: %s" % ex.message)
def submit_mhd_dataset_example():
announcement_file_path = "MTBLS9876543.announcement.json"
mhd_id = "MHD0000001"
dataset_repository_id = "MTBLS22222"
announcement_reason="Initial revision"
mhd_client: MhdClient = MhdClient(mhd_webservice_base_url, api_key)
try:
revision: SubmittedRevision = mhd_client.submit_announcement_file(
dataset_repository_id=dataset_repository_id,
mhd_id=mhd_id,
file_path=announcement_file_path,
announcement_reason=announcement_reason,
)
print("Revision: %s" % revision.revision)
except MhdClientError as ex:
print("Error: %s" % ex.message)
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
mhd_model-0.1.62.tar.gz
(111.5 kB
view details)
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
mhd_model-0.1.62-py3-none-any.whl
(143.6 kB
view details)
File details
Details for the file mhd_model-0.1.62.tar.gz.
File metadata
- Download URL: mhd_model-0.1.62.tar.gz
- Upload date:
- Size: 111.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b983b172a4da63f80702dee7faae63c881356a665e9df80e48f42ad62b53811
|
|
| MD5 |
8a9b4b49a08c00f5e6f73938bbb97ee9
|
|
| BLAKE2b-256 |
28b1858a05d5dec7d5756d8b4b18938e779d7fa6766c8ae33440df44a9ef4eba
|
File details
Details for the file mhd_model-0.1.62-py3-none-any.whl.
File metadata
- Download URL: mhd_model-0.1.62-py3-none-any.whl
- Upload date:
- Size: 143.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba9a1cc87889807d9c2fbb5bd7433339eb5293ad593b61fdbb2c4f6d19033c05
|
|
| MD5 |
223b8ab6892ed3db33d5765997797c21
|
|
| BLAKE2b-256 |
56c5107a18e6e02eab7c359505dcdf436a3764db2dea46b6060bfda5bf42f617
|