Skip to main content

Cli for fitting macromolecule pH titration or binding assays data e.g. fluorescence spectra.

Project description

PyPI Tests codecov RtD zenodo

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 --help
    

    For example:

    clop prtecan list.pH -k ph --scheme ../scheme.txt --dil additions.pH --norm \
      --out prova2 --Klim 6.8,8.4 --sel 7.6,20
    

    To 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 PyPI:

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-quickstart
    

    Edit 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.yml
    

    Remember to update tools version e.g. nox_poetry==0.9.

What is missing to modernize:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clophfit-0.3.11.tar.gz (30.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clophfit-0.3.11-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

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

Hashes for clophfit-0.3.11.tar.gz
Algorithm Hash digest
SHA256 0464772f51ef78310fab0472d06ec87a494d50d2d9af5e3518eeb1e8ede2bd4a
MD5 777c80b0a23cc94089ecabe3b0361b1e
BLAKE2b-256 64b3f7fd27b8f00113bcbb92fc88568c9900758ff90d037e273204b5a4fa80b5

See more details on using hashes here.

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

Hashes for clophfit-0.3.11-py3-none-any.whl
Algorithm Hash digest
SHA256 7c9085fbd516bfb9b4ea57c7ad12283462148c57901dfdacaa650f15e36baa4d
MD5 e712ad0e9c4bb6cf4acffe50abb28f91
BLAKE2b-256 f0fc0c4a04332521128dde982528b8bb9d593c86e275bdb34aa232d6fa765128

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page