Skip to main content

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:

from an SQL dump file:

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

or alternatively:

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)"

from this container you can create the SQL dump file:

podman exec alex123-sql mariadb-dump --user alex123 --password=alex123 alex123 > alex123_db.sql

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.2.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.2-py3-none-any.whl (89.4 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lipidlibrarian-0.5.2.tar.gz
Algorithm Hash digest
SHA256 9ac78763cca85ee17fcc0b50508311f0e028670d2ea26160537608079ebd87b2
MD5 cdaa5d976e562d945e7e37c53b8684c6
BLAKE2b-256 cda7dadcd75d3ce4764add2419c4f5a4b65d9a67192439b17d3aa4a0af8e48b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for lipidlibrarian-0.5.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: lipidlibrarian-0.5.2-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.14

File hashes

Hashes for lipidlibrarian-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 42848b08032c2d600c30a7257873c22d7fb57dfcad891c5ba667bac88c6096a3
MD5 b0cc591cf9cb2a04c75ffe9c22f03a7a
BLAKE2b-256 47d46f23d2a19d4d9b5d6164545e1419735195b4b33671b305387481a5d91583

See more details on using hashes here.

Provenance

The following attestation bundles were made for lipidlibrarian-0.5.2-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.

Release history Release notifications | RSS feed

This release

0.5.2 This release

2 files

0.5.1

2 files

0.5.0

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page