Analyze protein sequences from the CLI — MW, pI, GRAVY, instability, domains, secondary structure, and PDB lookup.
Project description
🧬 ProteinPulse
Analyze protein sequences from the command line.
ProteinPulse is a fast, dependency-light CLI tool for protein sequence analysis. No internet connection required for core analysis — just paste a sequence and go.
Features
| Command | What it does |
|---|---|
analyze |
MW, pI, GRAVY, instability index, charge, extinction coefficient |
domains |
Scan for zinc fingers, RGD, NLS, TM regions, glycosylation sites, and 20+ more motifs |
structure |
Chou-Fasman secondary structure prediction (α-helix / β-sheet / coil) |
pdb |
Fetch structure metadata from RCSB PDB |
full |
All of the above in one shot |
Installation
pip install proteinpulse
Requires Python 3.9+. No conda, no virtualenv required.
Quick Start
# Physicochemical properties
proteinpulse analyze MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG
# From a FASTA file
proteinpulse analyze my_protein.fasta
# Domain scan
proteinpulse domains MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG
# Secondary structure prediction
proteinpulse structure MQIFVKTLTGKTITLEVEPSDTIENVKAK
# Fetch PDB metadata
proteinpulse pdb 1UBQ
# Full report in one command
proteinpulse full MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG --pdb 1UBQ
# Save output as JSON
proteinpulse full my_protein.fasta --output json --save report.json
Output Formats
All commands support --output with three options:
table— rich, coloured terminal table (default)json— machine-readable JSONcsv— flat CSV (foranalyzeanddomains)
Use --save <file> to write output to disk.
Commands Reference
analyze
proteinpulse analyze SEQUENCE [--output table|json|csv] [--save FILE]
Computes:
- Molecular weight (Da and kDa)
- Isoelectric point (pI)
- GRAVY hydrophobicity index (Kyte-Doolittle)
- Instability index (Guruprasad et al.)
- Net charge at pH 7
- Extinction coefficient
- Aromaticity and aliphatic index
- Full amino acid composition
domains
proteinpulse domains SEQUENCE [--output table|json] [--save FILE]
Scans for 20+ motifs including: zinc fingers, RGD, KDEL/HDEL ER retention, nuclear localisation signals, transmembrane regions, N/O-glycosylation, phosphorylation sites (CK2, PKC, PKA), leucine zippers, EF-hands, SH2/SH3 binding, 14-3-3 binding, and more.
structure
proteinpulse structure SEQUENCE
Predicts α-helix, β-sheet, turn, and coil percentages using Chou-Fasman propensity scores.
pdb
proteinpulse pdb PDB_ID [--output table|json] [--save FILE]
Fetches title, experimental method, resolution, chain count, residue count, and deposition dates from RCSB PDB.
full
proteinpulse full SEQUENCE [--pdb PDB_ID] [--output table|json] [--save FILE]
Runs all analyses and optionally fetches a PDB entry.
Programmatic Use
from proteinpulse.sequence import load_sequence
from proteinpulse.properties import compute_properties
from proteinpulse.domains import scan_domains
from proteinpulse.structure import predict_secondary_structure
seq = load_sequence("MQIFVKTLTGKTITLEVEPSDTIENVKAK")
props = compute_properties(seq)
hits = scan_domains(seq)
struct = predict_secondary_structure(seq)
print(props.molecular_weight_kda) # e.g. 3.24
print(props.isoelectric_point) # e.g. 6.73
print([h.name for h in hits]) # e.g. ['SH3 binding (PXXP)']
print(struct.dominant) # e.g. 'Alpha-Helix'
Development
git clone https://github.com/Eswar-mse/proteinpulse
cd proteinpulse
pip install -e ".[dev]"
pytest tests/ -v
License
MIT © ProteinPulse Contributors
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 proteinpulse-0.1.0.tar.gz.
File metadata
- Download URL: proteinpulse-0.1.0.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e12a617113945abd70dc80655b3fc8ba9bfb54cdfdcd4e2226330b0df57cc809
|
|
| MD5 |
09339ff4bf1148a27c359f621b97dd86
|
|
| BLAKE2b-256 |
c5f0be9259d60a17709fac34bc0abbc4db2ef1340d1340b52577fb99a0940b0f
|
Provenance
The following attestation bundles were made for proteinpulse-0.1.0.tar.gz:
Publisher:
publish.yml on Eswar-mse/proteinpulse
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proteinpulse-0.1.0.tar.gz -
Subject digest:
e12a617113945abd70dc80655b3fc8ba9bfb54cdfdcd4e2226330b0df57cc809 - Sigstore transparency entry: 1761983952
- Sigstore integration time:
-
Permalink:
Eswar-mse/proteinpulse@dc469ae18e19919a7caabd9dd13d59723fce6902 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Eswar-mse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dc469ae18e19919a7caabd9dd13d59723fce6902 -
Trigger Event:
push
-
Statement type:
File details
Details for the file proteinpulse-0.1.0-py3-none-any.whl.
File metadata
- Download URL: proteinpulse-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f439c590844a6a6e23ee585cf417c29b3c0fe22b1bf38055e5d582ceb21ccae1
|
|
| MD5 |
b0b89485713fbc71e41424d385ca7908
|
|
| BLAKE2b-256 |
7ae9be25963e1c938d5bd9b2410d73a312ec4fd9e1155418caa6a8cea7c7f6da
|
Provenance
The following attestation bundles were made for proteinpulse-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Eswar-mse/proteinpulse
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proteinpulse-0.1.0-py3-none-any.whl -
Subject digest:
f439c590844a6a6e23ee585cf417c29b3c0fe22b1bf38055e5d582ceb21ccae1 - Sigstore transparency entry: 1761984065
- Sigstore integration time:
-
Permalink:
Eswar-mse/proteinpulse@dc469ae18e19919a7caabd9dd13d59723fce6902 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Eswar-mse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dc469ae18e19919a7caabd9dd13d59723fce6902 -
Trigger Event:
push
-
Statement type: