Skip to main content

PyPI version Python Support Documentation Status Build Status

propy3

propy3 is a drop-in replacement for propy. The original project was developed by Dongsheng Cao and Yizeng Liang from 2010-2012. See the commit history for all changes made afterwards.

The reason for creating this fork of propy is to add Python 3 support.

The only point where you have to enter propy3 is at installation. Afterwards, you simply import propy.

Introduction

Sequence-derived structural and physicochemical features are highly useful for representing and distinguishing proteins or peptides of different structural, functional and interaction properties, and have been extensively used in developing methods and software for predicting protein structural and functional classes, protein-protein interactions, drug-target interactions, protein substrates, molecular binding sites on proteins, subcellular locations, protein crystallization propensity and peptides of specific properties. In order to conveniently apply these structural features from a protein sequence for researchers, we developed a propy package using pure python language, which could calculate a large number of protein descriptors from a protein sequence.

Features

The propy package has the following significant features:

  1. It is written by the pure python language. It only needs the support of some built-in modules in the python software.
  2. For academic users, it is free of charge. They can freely use and distribute it. For commercial purpose, they must contact the author.
  3. It can calculate a large number of protein descriptors including: amino acid composition descriptors, dipeptide composition descriptors, tri-peptide composition descriptors, Normalized Moreau-Broto autocorrelation descriptors, Moran autocorrelation descriptors, Geary autocorrelation descriptors, Composition, Transition, Distribution descriptors (CTD), sequence order coupling numbers, quasi-sequence order descriptors, pseudo amino acid composition descriptors, amphiphilic pseudo amino acid composition descriptors.
  4. The users could specify the needed properties of 20 amino acids to calculate the corresponding protein descriptors.
  5. The package includes the module which could directly download the protein sequence form uniprot website by uniprot id.
  6. The package includes the module which could automatrically download the property from the AAindex database. Thus, the user could calcualte thousands of protein features.

The protein descriptors calculated by propy

  1. AAC: amino acid composition descriptors (20)
  2. DPC: dipeptide composition descriptors (400)
  3. TPC: tri-peptide composition descriptors (8000)
  4. MBauto: Normalized Moreau-Broto autocorrelation descriptors (depend on the given properties, the default is 240)
  5. Moranauto: Moran autocorrelation descriptors(depend on the given properties, the default is 240)
  6. Gearyauto: Geary autocorrelation descriptors(depend on the given properties, the default is 240)
  7. CTD: Composition, Transition, Distribution descriptors (CTD) (21+21+105=147)
  8. SOCN: sequence order coupling numbers (depend on the choice of maxlag, the default is 60)
  9. QSO: quasi-sequence order descriptors (depend on the choice of maxlag, the default is 100)
  10. PAAC: pseudo amino acid composition descriptors (depend on the choice of lamda, the default is 50)
  11. APAAC: amphiphilic pseudo amino acid composition descriptors(depend on the choice of lamda, the default is 50)

Install

Pip

pip install propy3

BioConda

conda install -c bioconda propy3

Development

The project uses uv:

uv sync                          # create .venv with all dev dependencies
uv run pytest                    # run the tests
uv run pytest -m "not network"   # skip tests that need internet access
make lint                        # ruff + mypy
uv run pre-commit install        # optional: run the checks on each commit

Usage Example

For more examples, please see the user guide.

from propy import PyPro
from propy.GetProteinFromUniprot import GetProteinSequence

# download the protein sequence by uniprot id
proteinsequence = GetProteinSequence("P48039")

DesObject = PyPro.GetProDes(proteinsequence)  # construct a GetProDes object
print(DesObject.GetCTD())  # calculate 147 CTD descriptors
print(DesObject.GetAAComp())  # calculate 20 amino acid composition descriptors

# calculate 30 pseudo amino acid composition descriptors
paac = DesObject.GetPAAC(lamda=10, weight=0.05)

for i in paac:
    print(i, paac[i])

Release files for propy3 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for propy3 2.0.1
File Size Uploaded
propy3-2.0.1.tar.gz 283.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for propy3 2.0.1
File Interpreter ABI Platform
propy3-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 573.8 kB

Release files / propy3-2.0.1.tar.gz

Download URL propy3-2.0.1.tar.gz
Size 283.6 kB
Tags Source
SHA-256 checksum
How to use checksums
1a41bcc2b8059a6d6230ffb1c43dc275a1d53a0f53821b94a4b389baa54de7a2
BLAKE2b-256 checksum
How to use checksums
a18d6016e1c8ee9fbfa03f9a6607efd32224140cf443f043268b31f676eb938d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release files / propy3-2.0.1-py3-none-any.whl

Download URL propy3-2.0.1-py3-none-any.whl
Size 290.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
251e2b80985f8ec5aad96128da8945263a683a211b0eddee8da27573a12af9d4
BLAKE2b-256 checksum
How to use checksums
444bd26a5d41e6dcc1586b54654490391928a8017aff5f29f910fdedef6b11fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page