pard

Physicochemical Amino acid Replacement Distances (PARD)

https://github.com/mics-lab/pard

Science Score: 75.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 13 DOI reference(s) in README
  • Academic publication links
    Links to: pubmed.ncbi, ncbi.nlm.nih.gov, sciencedirect.com, springer.com, wiley.com, nature.com, science.org, zenodo.org
  • Academic email domains
  • Institutional organization owner
    Organization mics-lab has institutional domain (www.mics.centralesupelec.fr)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.6%) to scientific vocabulary

Keywords

aminoacid epstein grantham python sneath
Last synced: 6 months ago · JSON representation ·

Repository

Physicochemical Amino acid Replacement Distances (PARD)

Basic Info
  • Host: GitHub
  • Owner: MICS-Lab
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 417 KB
Statistics
  • Stars: 9
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 9
Topics
aminoacid epstein grantham python sneath
Created over 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme Citation

README.md

PARD (Physicochemical Amino acid Replacement Distances)

DOI Coverage Downloads

Overview

Amino acid replacements (also referred to as substitutions) are changes from one amino acid to a different one in a protein - and there are different ways to assess the difference between the two amino acids that come into play in an amino acid replacement.

One can look at one or several properties' discrepancy between two amino acids. To list only a few: polarity [1] [3] [4] [8], molecular volume / relative sizes of amino-acid side chains [1] [3] [4], mean number of lone pair electrons on the side-chain [2], maximum moment of inertia for rotation at the α―β bond [2] or at the β―γ bond [2] or at the γ―δ bond [2], presence of a pyrrolidine ring (proline (P)) [2], experimental protein activity and stability after exchanging one amino acid into another [5], Chou-Fasman alpha helical [8], beta strand [8] and/or reverse turn propensity parameters [8], etc.

pard is a package designed to make those Physicochemical Amino acid Replacement Distances calculations straightforward with Python.

One typical use is to establish a 'distance' between a wild-type protein and its mutated version. Sometimes, rather than a distance, a similarity is outputted (e.g. with the Conformational similarity weight matrix [7] or EMPAR [8]). The higher the distance, the more different the two amino acids are. The higher the similarity, the more similar the two amino acids are. Whenever a distance is not outputted but rather a similarity, a warning (that the user can turn off) will be raised.

Getting started

Install from PyPI (recommended)

To use pard, run pip install pard in your terminal.

Usage

```py

Imports

from pard.grantham import grantham from pard.sneath import sneath from pard.experimentalexchangeability import experimentalexchangeability from pard.koshigoldstein import koshigoldstein, MatrixType

Basic examples

aminoacid1: str = "W" # Tryptophan aminoacid2: str = "L" # Leucine distancegrantham: int = grantham(aminoacid1, aminoacid2) print(distancegrantham)

distancesneath: int = sneath(aminoacid1, aminoacid2) print(distancesneath)

distanceee: float = experimentalexchangeability( aminoacid1, aminoacid2, False, warning=True ) print(distance_ee)

More subtle examples

Koshi-Goldstein has several scores and can estimate the likelihood of InDels

distancekoshigoldsteinall: float = koshigoldstein( "-", "A", MatrixType.ALLRESIDUES, False, warning=True ) print(distancekoshigoldsteinall) or equivalently py

Imports

import pard

Basic examples

aminoacid1: str = "W" # Tryptophan aminoacid2: str = "L" # Leucine distancegrantham: int = pard.grantham.grantham(aminoacid1, aminoacid2) print(distancegrantham)

distancesneath: int = pard.sneath.sneath(aminoacid1, aminoacid2) print(distancesneath)

distanceee: float = pard.experimentalexchangeability.experimentalexchangeability( aminoacid1, aminoacid2, False, warning=True ) print(distanceee)

More subtle examples

Koshi-Goldstein has several scores and can estimate the likelihood of InDels

distancekoshigoldsteinall: float = pard.koshigoldstein.koshigoldstein( "-", "A", pard.koshigoldstein.MatrixType.ALLRESIDUES, False, warning=True ) print(distancekoshigoldsteinall) will output:

61 30 177 1.6 ``` which are the correct values [1] [2] [5] [6] .

Exit codes:

- 1: Argument amino_acid_1 or amino_acid_2 is neither of length 1 nor length 3. See error message.

About the source code

  • Follows PEP8 Style Guidelines.
  • All functions are unit-tested with pytest.
  • All variables are correctly type-hinted, reviewed with static type checker mypy.
  • All functions are documented with docstrings.

Unit tests details

Coverage ```

Name Stmts Miss Cover

pard_init.py 3 0 100% pard_handling3lettercodedecorator.py 18 2 89% pard_rawpythondictionaries.py 71 0 100% pard\empar.py 8 0 100% pard\epstein.py 7 0 100% pard\experimentalexchangeability.py 10 0 100% pard\grantham.py 5 0 100% pard\kolaskar.py 8 0 100% pard\koshigoldstein.py 55 2 96% pard\miyata.py 5 0 100% pard\sneath.py 5 0 100% tests_init_.py 0 0 100% tests\testempar.py 26 0 100% tests\testepstein.py 46 0 100% tests\testexperimentalexchangeability.py 30 0 100% tests\testgrantham.py 25 0 100% tests\testkolaskar.py 26 0 100% tests\testkoshigoldstein.py 108 0 100% tests\testmiyata.py 25 0 100% tests\testpard.py 3 0 100% tests\testrawpythondictionaries.py 24 0 100% tests\test_sneath.py 21 0 100%

unittestssimple.py 5 0 100%

TOTAL 534 4 99% ```

pytest

``` platform win32 -- Python 3.11.1, pytest-7.2.0, pluggy-1.0.0 plugins: anyio-3.6.2, mypy-0.10.3 collected 16 items

tests\testempar.py . [ 6%] tests\testepstein.py . [ 12%] tests\testexperimentalexchangeability.py . [ 18%] tests\testgrantham.py . [ 25%] tests\testkolaskar.py . [ 31%] tests\testkoshigoldstein.py ....... [ 75%] tests\testmiyata.py . [ 81%] tests\testpard.py . [ 87%] tests\testrawpythondictionaries.py . [ 93%] tests\testsneath.py . [100%]

====================== 16 passed in 0.11s ====================== ```

mypy detail

================================== mypy ================================== Success: no issues found in 24 source files

Useful links:

Citation

If you use this software, please cite it as below.

  • APA:

Lhotte, R. & Taupin, J. (2022). Physicochemical Amino acid Replacement Distances (PARD) package (Version 0.7.0.1) [Computer software]. https://doi.org/10.5281/zenodo.7013169

  • BibTeX:

@software{lhotte_pard_2022, author = {Lhotte, Romain and Taupin, Jean-Luc}, doi = {10.5281/zenodo.7013169}, month = {8}, title = {{Physicochemical Amino acid Replacement Distances (PARD) package}}, version = {0.7.0.1}, year = {2022} }

References

  • [1] Grantham, R., 1974. Amino acid difference formula to help explain protein evolution. science, 185(4154), pp.862-864.
  • [2] Sneath, P.H.A., 1966. Relations between chemical structure and biological activity in peptides. Journal of theoretical biology, 12(2), pp.157-195.
  • [3] Epstein, C.J., 1967. Non-randomness of ammo-acid changes in the evolution of homologous proteins. Nature, 215(5099), pp.355-359.
  • [4] Miyata, T., Miyazawa, S. and Yasunaga, T., 1979. Two types of amino acid substitutions in protein evolution. Journal of molecular evolution, 12(3), pp.219-236.
  • [5] Yampolsky, L.Y. and Stoltzfus, A., 2005. The exchangeability of amino acids in proteins. Genetics, 170(4), pp.1459-1472.
  • [6] Koshi, J.M. and Goldstein, R.A., 1995. Context-dependent optimal substitution matrices. Protein Engineering, Design and Selection, 8(7), pp.641-645.
  • [7] Kolaskar, A.S. and Kulkarni-Kale, U., 1992. Sequence alignment approach to pick up conformationally similar protein fragments. Journal of molecular biology, 223(4), pp.1053-1061.
  • [8] Rao, J.M., 1987. New scoring matrix for amino acid residue exchanges based on residue characteristic physical parameters. International Journal of Peptide and Protein Research, 29(2), pp.276-281.

Owner

  • Name: MICS-Lab
  • Login: MICS-Lab
  • Kind: organization
  • Location: France

Research laboratory in Mathematics and Computer Science at CentraleSupélec.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below. Lhotte, R., & Taupin, J. (2022). Physicochemical Amino acid
          Replacement Distances (PARD) package (Version 0.7.0.1) [Computer software].
          https://doi.org/10.5281/zenodo.7013169"
authors:
  - family-names: Lhotte
    given-names: Romain
    orcid: https://orcid.org/0000-0002-6131-5415
  - family-names: Taupin
    given-names: Jean-Luc
    orcid: https://orcid.org/0000-0002-5766-046X
title: Physicochemical Amino acid Replacement Distances (PARD) package
version: 0.7.0.1
doi: 10.5281/zenodo.7013169
link: https://github.com/MICS-Lab/pard
date-released: 2022-08-20

GitHub Events

Total
  • Watch event: 3
  • Fork event: 1
Last Year
  • Watch event: 3
  • Fork event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 328 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 22
  • Total maintainers: 1
pypi.org: pard

Physicochemical Amino acid Replacement Distances

  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 328 Last month
Rankings
Dependent packages count: 6.6%
Average: 23.1%
Dependent repos count: 30.6%
Downloads: 32.0%
Maintainers (1)
Last synced: 7 months ago

Dependencies

poetry.lock pypi
  • atomicwrites 1.4.1 develop
  • attrs 22.1.0 develop
  • colorama 0.4.5 develop
  • coverage 6.4.4 develop
  • coverage-badge 1.1.0 develop
  • filelock 3.8.0 develop
  • iniconfig 1.1.1 develop
  • mypy 0.971 develop
  • mypy-extensions 0.4.3 develop
  • packaging 21.3 develop
  • pluggy 1.0.0 develop
  • py 1.11.0 develop
  • pyparsing 3.0.9 develop
  • pytest 7.1.2 develop
  • pytest-mypy 0.9.1 develop
  • tomli 2.0.1 develop
  • typing-extensions 4.3.0 develop
pyproject.toml pypi
  • coverage ^6.4.4 develop
  • coverage-badge ^1.1.0 develop
  • mypy ^0.971 develop
  • pytest 7.1.2 develop
  • pytest-mypy ^0.9.1 develop
  • python ^3.10