Skip to main content

Python package for creating simplified 2D protein visualizations. Specialized on showing differences and similarities between proteins of the same protein family.

Project description

FlatProt

image

FlatProt is a tool for 2D protein visualization aimed at improving the comparability of protein structures through standardized 2D visualizations. FlatProt focuses on creating highly comparable representations for same-family proteins. In this case FlatProt was used to generate comparable representations for 3 3FTx structures.

Contents

Getting Started

FlatProt needs python version: python= ">=3.11,<=3.13"

Download FlatProt via uv

We use and recommend uv as a fast, reliable Python package installer and resolver.

# Install FlatProt using uv
uv tool add FlatProt
# Install FlatProt using uv
uvx flatprot

Install Foldseek

Instructions for downloading the Foldseek software can be found in Foldseek's GitHub

--> FlatProt needs the path to the foldseek executable passed as argument to the main function to be used by the program.

Install dssp

Instructions for downloading dssp can be found here:

!The program runs on the mkdssp version 4.4.0! (some sources don't provide that (brew does!))

An example download workflow for usage can also be found in the google colab

First experiences with Google Colab

For direct usage of FlatProt including all parameters the following Collabs provide functionalities for using FlatProt without locally downloading anything. The runtime of the Colab is way longer than local usage. Therefore we don't advise using it for big amounts of data:

Annotation and Style Example

Open In Colab

This notebook demonstrates how to apply custom styles and various annotations (point, line, area) to a FlatProt projection.

Same Family Alignment Example

Open In Colab

This notebook demonstrates aligning three related three-finger toxin structures (Cobra, Krait, Snake) using a Foldseek database and then projecting them into 2D SVG visualizations using FlatProt.

Domain-Aligned Projection Example

Open In Colab

Generate and compare different 2D SVG visualizations of a protein structure based on its domains: Normal Projection, Domain-Aligned Projection, Domain-Separated Projection.

Compute Cystine Bridges Example

Open In Colab

This notebook demonstrates how to: Compute cystine (disulfide) bridges from a protein structure file (.cif); Create a FlatProt annotation file (.toml) highlighting these bridges; Generate a 2D SVG projection of the protein using flatprot project, applying the annotations.

Family Overlay Example

Open In Colab

This example script demonstrates how to align KLK (Kallikrein) structures and overlay their FlatProt projections.

Documentation

FlatProt's documentation can found here:

The documentation includes:

  • Detailed CLI usage instructions
  • File format specifications
  • API reference

important notes:

  • input PDB files need a header to work (important for predicted structures)
  • FlatProt's methods can be used via command line commands (cli)

Contributing

We welcome contributions to FlatProt! If you'd like to contribute, please follow these steps:

  1. Fork the repository: Create your own fork of the FlatProt repository on GitHub.
  2. Create a branch: Make your changes in a dedicated branch in your fork.
  3. Submit a pull request: Open a pull request from your branch to the staging branch of the t03i/FlatProt repository.

Please ensure your contributions adhere to the project's coding style and include tests where appropriate. For major changes, please open an issue first to discuss what you would like to change.

See CONTRIBUTING.md for more detailed guidelines.

Data

This project uses datasets that can be found on Zenodo.

Zenodo Data

Example visualizations

Cobra protein visualization Protein overlay visualization

Reference

If you use FlatProt in your research, please cite:

FlatProt: 2D visualization eases protein structure comparison Tobias Olenyi, Constantin Carl, Tobias Senoner, Ivan Koludarov, Burkhard Rost bioRxiv 2025.04.22.650077; doi: https://doi.org/10.1101/2025.04.22.650077

License

FlatProt is licensed under the Apache License 2.0. See the LICENSE file for more details.

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

flatprot-2.0.5.tar.gz (26.9 MB view details)

Uploaded Source

Built Distribution

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

flatprot-2.0.5-py3-none-any.whl (117.4 kB view details)

Uploaded Python 3

File details

Details for the file flatprot-2.0.5.tar.gz.

File metadata

  • Download URL: flatprot-2.0.5.tar.gz
  • Upload date:
  • Size: 26.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for flatprot-2.0.5.tar.gz
Algorithm Hash digest
SHA256 607a2751ee8708095de07c551f5b0b4cb94d53971d5e89f0440a3aa1b37c24b9
MD5 1304a6a8cb78513723a7ffb554aff3cd
BLAKE2b-256 6e5184a8bc32e46062536d267b5d43cf392e09ec68094a2d7e1de4be402c1b81

See more details on using hashes here.

Provenance

The following attestation bundles were made for flatprot-2.0.5.tar.gz:

Publisher: release.yml on t03i/FlatProt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flatprot-2.0.5-py3-none-any.whl.

File metadata

  • Download URL: flatprot-2.0.5-py3-none-any.whl
  • Upload date:
  • Size: 117.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for flatprot-2.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6ed253c5a08995dbb866109eb8be23ddd214f66fb20e460226c9ccfde7fef0bb
MD5 7152d54e8a0f9b972996b162f7e9f91d
BLAKE2b-256 6cd6830fe28c2228839569474b64257d6abdbcc89863d1c969f0e1afc8c909f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for flatprot-2.0.5-py3-none-any.whl:

Publisher: release.yml on t03i/FlatProt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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