Cli for fitting macromolecule pH titration or binding assays data e.g. fluorescence spectra.
Project description
ClopHfit
Cli for fitting macromolecule pH titration or binding assay data, e.g. fluorescence spectra.
- Version: "0.3.11"
Features
- Plate Reader data Parser.
- Perform non-linear least square fitting.
- Extract and fit pH and chloride titrations of GFP libraries.
- For 2 labelblocks (e.g. 400, 485 nm) fit data separately and globally.
- Estimate uncertainty using bootstrap.
- Subtract buffer for each titration point.
- Report controls e.g. S202N, E2 and V224Q.
- Correct for dilution of titration additions.
- Plot data when fitting fails and save txt file anyway.
Usage
-
Extract and fit titrations from a list of tecan files collected at various pH or chloride concentrations:
clop prtecan --helpFor example:
clop prtecan list.pH -k ph --scheme ../scheme.txt --dil additions.pH --norm \ --out prova2 --Klim 6.8,8.4 --sel 7.6,20To reproduce older pr.tecan add [--no-weight]{.title-ref} option:
clop prtecan list.pH -k ph --scheme ../scheme.txt --no-bg --no-weight \ --out 4old --Klim 6.8,8.4 --sel 7.6,20 -
Predict chloride dissociation constant [K_d]{.title-ref} at given pH:
clop eq1 --help
To use clophfit in a project:
from clophfit import prtecan, binding
Installation
You can get the library directly from
:
pip install clophfit
Development
Prepare a virtual development environment and test first installation:
pyenv install 3.10.2
poetry env use 3.10
poetry install
poetry run pytest -v
Make sure:
pre-commit install
pre-commit install --hook-type commit-msg
For Jupyter:
poetry run python -m ipykernel install --user --name="cloph-310"
To generate docs:
poetry run nox -rs docs
When needed (e.g. API updates):
sphinx-apidoc -f -o docs/api/ src/clophfit/
Use commitizen and github-cli to release:
poetry run cz bump --changelog-to-stdout --files-only (--prerelease alpha) --increment MINOR
gh release create (--target devel) v0.3.0a0
Remember!!! Update::
- ClopHfit/docs/requirements.txt
- ClopHfit/.github/workflows/constraints.txt
Development environment
-
Test automation requires nox and nox-poetry.
-
Formatting with black[jupyter] configured in pyproject.
-
Linters are configured in .flake8 .darglint and .isort.cfg and include:
- flake8-isort - flake8-bugbear - flake8-docstrings - darglint - flake8-eradicate - flake8-comprehensions - flake8-pytest-style - flake8-annotations (see mypy) - flake8-rst-docstrings- rst-lint
-
pre-commit configured in .pre-commit-config.yaml activated with:
- pre-commit install - commitizen install --hook-type commit-msg -
Tests coverage (pytest-cov) configured in .coveragerc.
-
Type annotation configured in mypy.ini.
-
Commitizen also used to bump version:
cz bump --changelog-to-stdout --files-only --prerelease alpha --increment MINOR-
need one-time initialization:
(cz init)
-
-
xdoctest
-
sphinx with pydata-sphinx-theme and sphinx-autodoc-typehints. (nbsphinx, sphinxcontrib-plantuml):
mkdir docs; cd docs sphinx-quickstartEdit conf.py ["sphinx.ext.autodoc"] and index.rst [e.g. api/modules]:
sphinx-apidoc -f -o docs/api/ src/clophfit/ -
CI/CD configured in .github/workflows:
tests.yml release.ymlRemember to update tools version e.g. nox_poetry==0.9.
What is missing to modernize:
- coveralls/Codecov
- release drafter; maybe useful when merging pr into main.
- readthedocs or ghpages? https://www.docslikecode.com/articles/github-pages-python-sphinx/
Code of Conduct
Everyone interacting in the readme_renderer project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PSF Code of Conduct.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clophfit-0.3.11.tar.gz.
File metadata
- Download URL: clophfit-0.3.11.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.8.10 Linux/5.15.0-1022-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0464772f51ef78310fab0472d06ec87a494d50d2d9af5e3518eeb1e8ede2bd4a
|
|
| MD5 |
777c80b0a23cc94089ecabe3b0361b1e
|
|
| BLAKE2b-256 |
64b3f7fd27b8f00113bcbb92fc88568c9900758ff90d037e273204b5a4fa80b5
|
File details
Details for the file clophfit-0.3.11-py3-none-any.whl.
File metadata
- Download URL: clophfit-0.3.11-py3-none-any.whl
- Upload date:
- Size: 35.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.8.10 Linux/5.15.0-1022-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c9085fbd516bfb9b4ea57c7ad12283462148c57901dfdacaa650f15e36baa4d
|
|
| MD5 |
e712ad0e9c4bb6cf4acffe50abb28f91
|
|
| BLAKE2b-256 |
f0fc0c4a04332521128dde982528b8bb9d593c86e275bdb34aa232d6fa765128
|