Skip to content
metabolomics-usPublic

About

Translate chemical identifiers at lite-speed

Resources

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

CTS-Lite

A lightweight Chemical Translation Service using a curated subset of 13 million compounds from the PubChem database

Project Health

CI/CD Website Last Commit

Website

API Usage

  • Please refer to the documentation for information regarding the API

Credits


Development

Stack

  • Go
  • SQLite
  • JavaScript/HTML/CSS
  • Docker
  • Playwright
  • Locust (load testing)

Testing

  • Run unit tests with go test ./...
  • Run E2E playwright tests with cd playwright && npm test

Docker

  • CTS-Lite is containerized with Docker
  • The GitHub Actions workflow will automatically build and deploy the complete application image upon any push or merge to the main branch
  • Note: to build the docker image locally, you must have the database built and stored as dataset/compounds.db
    • cd dataset && go run cmd/build-db/build-db.go cts-lite.csv compounds.db

Dataset Creation

  • To create the csv dataset, simply run the create_csv_dataset.sh script found under cmd/
  • To update the dataset used by production, make sure you elect to push to S3 at the end of the script
    • Then, the next time the app is deployed via GitHub Actions (push/merge to main), the latest dataset will be downloaded from S3 and the database will be rebuilt
  • To create a local instance of compounds.db (SQLite database used by the app), run the build-db module like so:
    • cd dataset && go run cmd/build-db/build-db.go cts-lite.csv compounds.db

About

Translate chemical identifiers at lite-speed

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages