pytcpl: A lite Python version of tcpl: An R package for processing high-throughput chemical screening data
pytcpl is a streamlined Python package that incorporates the mc4, mc5 and mc6 levels of tcpl, providing concentration-response curve fitting and hitcalling based on tcplfit2. It utilizes the Invitrodb version 4.1 release as its backend database.
conda create --name pytcpl
conda activate pytcpl
conda install pip
pip install -r requirements.txt
Notes:
- Download & Install invitroDBv4.1 on you local machine or server
- Goto config_db.yaml to add/set your own MySQL database connection parameters
- Goto config.yaml to customize pipeline behaviour
- Goto DDL to set Data Definition Language (DDL) statements, used to create new MySQL database schema objects
- Automate list generation aeid_list.in suited for balanced workloads for distributed compute instances
- Goto aeid_list.in to set assay endpoint ids (aeids) to be processed by the pipeline (only has effect if aeid_list_manual: 1 in config_db.yaml)
python src/pipeline/pipeline_main.py --instance_id 0 --instances_total 1
- Replace
python
withpython3
orpy
depending on your python version - Goto logs to see the redirected terminal logs and check in the error logs what went wrong for which assay endpoint id
- Note: Parameters
instance_id
andinstances_total
are used for distributing workload onto multiple compute engine instances (e.g. gcloud VMs). - Example: Distribute workload onto 2 VM instances. Run:
python src/pipeline/pipeline_main.py --instance_id 0 --instances_total 2
on one machine andpython src/pipeline/pipeline_main.py --instance_id 1 --instances_total 2
on another machine
- Generate per-chemical-results from all processed assay endpoints
- Fetch relevant metadata tables from invitrodb
- Remove output files NOT contained in aeid_list.in
streamlit run src/app/curve_surfer_app.py --server.address="localhost"
- If you run the command, the Curve Surfer web app should open as a new browser tab
- Curve Surfer only works for assay endpoints already processed by pipeline
- Or goto online version https://pytcpl.streamlit.app/