Skip to main content

A Lipidomics Database Explorer Package

Project description

Lipid Librarian

Build and Installation Instructions

Make sure you've installed python 3.11 and are using this version to create the virtual environment as well. If you experience slow performance, consider running a local SQL server to serve the ALEX¹²³ database instead of reading it from a file, or disable ALEX¹²³ for your queries.

Python Virtual Environment

make install install_optional

Docker Container

docker build -t lipidlibrarian -f Containerfile .

OCI Container for Docker/Podman/Kubernetes

buildah build -t lipidlibrarian -f Containerfile .

Test Lipid Librarian

Run pytest in the git root directory with a venv activated with LipidLibrarian installed. It is highly recommended to run a local ALEX123 SQL Database for performance reasons (see below)

pytest

Run Lipid Librarian

CLI

In case you installed Lipid Librarian into a 'venv' virtual environment, make sure you activate it before with source venv/bin/activate.

lipidlibrarian "PC(18:1_20:0)" "PE 38:1" "816.6477;0.001;+H+" "Cholesterol" "SLM:000487065"
lipidlibrarian path/to/file
cat path/to/file | lipidlibrarian

Docker

docker run lipidlibrarian "PC(18:1_20:0)" "PE 38:1" "816.6477;0.001;+H+" "Cholesterol" "SLM:000487065"

Podman

podman run lipidlibrarian "PC(18:1_20:0)" "PE 38:1" "816.6477;0.001;+H+" "Cholesterol" "SLM:000487065"

Import Python Package

from lipidlibrarian.LipidQuery import *

query1 = LipidQuery("PC(18:1_20:0)").query()
query2 = LipidQuery("PE 38:1").query()
query3 = LipidQuery("816.6477;0.001;+H+").query()
query4 = LipidQuery("Cholesterol").query()
query5 = LipidQuery("SLM:000487065").query()

for lipid in query1:
    print(repr(lipid))

for lipid in query2:
    print(format(lipid, 'json'))

for lipid in query3:
    print(format(lipid, 'html'))

for lipid in query4:
    print(repr(lipid))

for lipid in query5:
    print(repr(lipid))

Run a local ALEX¹²³ SQL Database

The performance of querying the ALEX¹²³ database is quite low, as the whole file has to be parsed into memory first. To alleviate this issue, run a local SQL database to serve the information from ALEX¹²³ to lipidlibrarian:

podman run --detach --name alex123-sql --env MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 --env MARIADB_USER=alex123 --env MARIADB_PASSWORD=alex123 --env MARIADB_DATABASE=alex123 -p 3306:3306  docker.io/library/mariadb:latest

sync_alex123_sql_database --sql mysql+pymysql://alex123:alex123@127.0.0.1:3306/alex123

lipidlibrarian --sql --sql-host 127.0.0.1 --sql-port 3306 --sql-user alex123 --sql-password alex123 --sql-database alex123 "PC(18:1_20:0)"

or alternatively:

mkdir -p data/alex123/sql
gdown 1K5-PnK9HEA5L0Y79CaLgFMKOQGddDSgi -O data/alex123/sql/alex123_db.sql

podman  run --detach --name alex123-sql --env MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 --env MARIADB_USER=alex123 --env MARIADB_PASSWORD=alex123 --env MARIADB_DATABASE=alex123 -p 3306:3306 -v ./data/alex123/sql:/docker-entrypoint-initdb.d:O  mariadb:latest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lipidlibrarian-0.5.0.tar.gz (88.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lipidlibrarian-0.5.0-py3-none-any.whl (89.4 MB view details)

Uploaded Python 3

File details

Details for the file lipidlibrarian-0.5.0.tar.gz.

File metadata

  • Download URL: lipidlibrarian-0.5.0.tar.gz
  • Upload date:
  • Size: 88.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lipidlibrarian-0.5.0.tar.gz
Algorithm Hash digest
SHA256 ae93f7c3ac2cfc4f965d453105b1eeefcd0f6765738b44202ce0b50f8076cd5b
MD5 0d5532fa05a7cda7774446af7f2e9abb
BLAKE2b-256 c56f72e29325b78575c01f2441aae2d5bcf3646b6056a4eb532e18d38640ea3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for lipidlibrarian-0.5.0.tar.gz:

Publisher: publish.yaml on LipiTUM/lipidlibrarian

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lipidlibrarian-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: lipidlibrarian-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 89.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lipidlibrarian-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c5eb8d06548c305018d5b0736612f5acaf5e94eae64d2f2ab43ed9b39f7e00a5
MD5 3486d2815a30093bef41abc281836081
BLAKE2b-256 b2a6e277c86c494e3689f1158378940eb78618b32f021f3f8617eb43133610d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for lipidlibrarian-0.5.0-py3-none-any.whl:

Publisher: publish.yaml on LipiTUM/lipidlibrarian

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page