https://github.com/drorlab/pensa

PENSA - a collection of python methods for exploratory analysis and comparison of biomolecular conformational ensembles.

https://github.com/drorlab/pensa

Science Score: 46.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Committers with academic emails
    6 of 14 committers (42.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.7%) to scientific vocabulary

Keywords

biomolecules biophysics molecular-dynamics structural-biology
Last synced: 7 months ago · JSON representation

Repository

PENSA - a collection of python methods for exploratory analysis and comparison of biomolecular conformational ensembles.

Basic Info
  • Host: GitHub
  • Owner: drorlab
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 105 MB
Statistics
  • Stars: 142
  • Watchers: 14
  • Forks: 21
  • Open Issues: 4
  • Releases: 12
Topics
biomolecules biophysics molecular-dynamics structural-biology
Created almost 6 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License

README.md

PENSA - Python Ensemble Analysis

DOI Package Documentation
Status GitHub license Powered by MDAnalysis

A collection of Python methods for exploratory analysis and comparison of biomolecular conformational ensembles, e.g., from molecular dynamics simulations. All functionality is available as a Python package.

To get started, see the documentation which includes a tutorial for the PENSA library, or read our article or the corresponding preprint.

If you would like to contribute, check out our contribution guidelines and our to-do list.

Functionality

With PENSA, you can (currently): - compare structural ensembles of biomolecules (proteins, DNA or RNA) via the relative entropy of their features or statistical tests and visualize deviations on a reference structure. - project several ensembles on a joint reduced representation using principal component analysis (PCA) or time-lagged independent component analysis (tICA) and sort the structures along the obtained components. - cluster structures across ensembles via k-means or regular-space clustering and write out the resulting clusters as trajectories. - trace allosteric information flow through a protein using state-specific information analysis methods.

Biomolecules can be featurized using backbone torsions, sidechain torsions, or arbitrary distances (e.g., between all backbone C-alpha atoms). We also provide density-based methods to featurize water and ion pockets as well as a featurizer for hydrogen bonds. The library is modular so you can easily write your own feature reader.

PENSA also includes trajectory processing tools based on MDAnalysis and plotting functions using Matplotlib.

Documentation

PENSA's documentation pages are here, where you find installation instructions, API documentation, and a tutorial.

Example Scripts

For the most common applications, example Python scripts are provided. We show how to run the example scripts in a short separate tutorial.

Citation

General citation, representing the "concept" of the software: Martin Vögele, Neil Thomson, Sang Truong, Jasper McAvity. (2021). PENSA. Zenodo. http://doi.org/10.5281/zenodo.4362136 To get the citation and DOI for a particular version, see Zenodo.

Please also consider citing our our article: Systematic Analysis of Biomolecular Conformational Ensembles with PENSA M. Vögele, N. J. Thomson, S. T. Truong, J. McAvity, U. Zachariae, R. O. Dror J. Chem. Phys. 162, 014101 (2025) If you lack a JCP subscription, you can read the corresponding preprint.

Acknowledgments

Contributors

Martin Vögele, Neil Thomson, Sang Truong, Jasper McAvity

Beta-Testers

Alexander Powers, Lukas Stelzl, Nicole Ong, Eleanore Ocana, Emma Andrick, Callum Ives, Bu Tran, and Luca Morlok

Funding & Support

This project was started by Martin Vögele at Stanford University, supported by an EMBO long-term fellowship (ALTF 235-2019), as part of the INCITE computing project 'Enabling the Design of Drugs that Achieve Good Effects Without Bad Ones' (BIP152). Neil Thomson was supported by a BBSRC EASTBIO PhD studentship and Jasper McAvity by the Stanford Computer Science department via the CURIS program. Stanford University, the Stanford Research Computing Facility, and the University of Dundee provided additional computational resources and support that contributed to these research results.

Owner

  • Name: Dror Lab
  • Login: drorlab
  • Kind: organization
  • Location: Stanford, CA

Ron Dror's computational biology laboratory at Stanford University

GitHub Events

Total
  • Create event: 7
  • Issues event: 16
  • Release event: 1
  • Watch event: 58
  • Delete event: 6
  • Issue comment event: 24
  • Push event: 30
  • Pull request event: 9
  • Fork event: 4
Last Year
  • Create event: 7
  • Issues event: 16
  • Release event: 1
  • Watch event: 58
  • Delete event: 6
  • Issue comment event: 24
  • Push event: 30
  • Pull request event: 9
  • Fork event: 4

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 771
  • Total Committers: 14
  • Avg Commits per committer: 55.071
  • Development Distribution Score (DDS): 0.556
Top Committers
Name Email Commits
martinvoegele m****9@g****m 342
neilsyt n****n@d****k 209
Martin Vögele m****e@u****m 182
Sang Truong s****1@d****u 10
Sang T. Truong s****g@s****u 9
Jasper McAvity j****y@s****u 7
Neil J Thomson 5****n@u****m 3
Jasper McAvity j****y@g****m 2
Sang T. Truong s****g@c****u 2
Jasper McAvity 6****y@u****m 1
Jasper J McAvity j****y@s****u 1
Jasper J McAvity j****y@s****t 1
Ikko Ashimine e****r@g****m 1
Michael Ward m****9@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 29
  • Total pull requests: 48
  • Average time to close issues: 4 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 14
  • Total pull request authors: 8
  • Average comments per issue: 1.17
  • Average comments per pull request: 0.04
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 8
  • Pull requests: 7
  • Average time to close issues: about 20 hours
  • Average time to close pull requests: less than a minute
  • Issue authors: 7
  • Pull request authors: 1
  • Average comments per issue: 2.25
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • martinvoegele (12)
  • NeilJ-Thomson (4)
  • piia600 (2)
  • sangttruong (2)
  • ShubhamM96 (1)
  • izaguirr (1)
  • LMorlok (1)
  • MauricioMartil (1)
  • H-EKE (1)
  • erolic (1)
  • chyannn06 (1)
  • lucyraven (1)
  • Nithishwer (1)
  • orbeckst (1)
Pull Request Authors
  • martinvoegele (32)
  • sangttruong (9)
  • NeilJ-Thomson (5)
  • martinakaduc (2)
  • LMorlok (2)
  • jmcavity (1)
  • eltociear (1)
  • Mickdub (1)
Top Labels
Issue Labels
enhancement (7) bug (1) documentation (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 61 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 31
  • Total maintainers: 1
proxy.golang.org: github.com/drorlab/pensa
  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 7 months ago
pypi.org: pensa

exploratory analysis and comparison of biomolecular conformational ensembles.

  • Versions: 16
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 61 Last month
Rankings
Stargazers count: 7.9%
Forks count: 9.6%
Dependent packages count: 10.1%
Average: 14.1%
Downloads: 21.1%
Dependent repos count: 21.6%
Maintainers (1)
Last synced: 7 months ago

Dependencies

docs/requirements.txt pypi
  • MDAnalysis *
  • Sphinx ==3.1.2
  • biotite *
  • cython *
  • matplotlib *
  • mdshare *
  • mdtraj ==1.9.3
  • numpy *
  • pensa *
  • pyemma *
  • scipy >=1.2
  • sphinx_rtd_theme ==0.5.1
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==1.0.3
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.4
setup.py pypi
  • MDAnalysis *
  • biotite *
  • gpcrmining *
  • matplotlib *
  • mdshare *
  • mdtraj ==1.9.3
  • numpy *
  • pyemma *
  • scipy >=1.2
.github/workflows/greetings.yml actions
  • actions/first-interaction v1 composite
.github/workflows/python-package-conda.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
environment.yml pypi