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 pytcplconda activate pytcplconda install pippip install -r requirements.txtNotes:
- 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
pythonwithpython3orpydepending 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_idandinstances_totalare 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 2on one machine andpython src/pipeline/pipeline_main.py --instance_id 1 --instances_total 2on 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/