Skip to main content

An open-source Python package of the AlphaPept ecosystem

Project description

Pip installation GUI and PyPi releases Downloads Downloads Downloads

structuremap

An open-source Python package for integrating information from predicted protein structures deposited in the AlphaFold database with proteomics data and specifically with post-translational modifications (PTMs). PTMs on the 3D protein structures can be visualised by AlphaMap. To enable all hyperlinks in this document, please view it at GitHub.


About

An open-source Python package for integrating information from predicted protein structures deposited in the AlphaFold database with proteomics data and specifically with post-translational modifications (PTMs). You can find a detailed description of the tool and its capabilities to generate biological insights in "The structural context of PTMs at a proteome wide scale" by Bludau et al. (2022). The complete anlaysis workflow of this study performed with structuremap can be found here.


License

structuremap was developed by the Mann Labs at the Max Planck Institute of Biochemistry and the University of Copenhagen and is freely available with an Apache License. External Python packages (available in the requirements folder) have their own licenses, which can be consulted on their respective websites.


Installation

structuremap can be installed and used on all major operating systems (Windows, macOS and Linux). There are two different types of installation possible:

  • Pip installer: Choose this installation if you want to use structuremap as a Python package in an existing Python 3.8 environment (e.g. a Jupyter notebook). If needed, the GUI and CLI can be installed with pip as well.
  • Developer installer: Choose this installation if you are familiar with CLI tools, conda and Python. This installation allows access to all available features of structuremap and even allows to modify its source code directly. Generally, the developer version of structuremap outperforms the precompiled versions which makes this the installation of choice for high-throughput experiments.

Pip

structuremap can be installed in an existing Python 3.8 environment with a single bash command. This bash command can also be run directly from within a Jupyter notebook by prepending it with a !:

pip install structuremap

Installing structuremap like this avoids conflicts when integrating it in other tools, as this does not enforce strict versioning of dependencies. However, if new versions of dependencies are released, they are not guaranteed to be fully compatible with structuremap. While this should only occur in rare cases where dependencies are not backwards compatible, you can always force structuremap to use dependency versions which are known to be compatible with:

pip install "structuremap[stable]"

NOTE: You might need to run pip install pip==21.0 before installing structuremap like this. Also note the double quotes ".

For those who are really adventurous, it is also possible to directly install any branch (e.g. @development) with any extras (e.g. #egg=structuremap[stable,development-stable]) from GitHub with e.g.

pip install "git+https://github.com/MannLabs/structuremap.git@development#egg=structuremap[stable,development-stable]"

Developer

structuremap can also be installed in editable (i.e. developer) mode with a few bash commands. This allows to fully customize the software and even modify the source code to your specific needs. When an editable Python package is installed, its source code is stored in a transparent location of your choice. While optional, it is advised to first (create and) navigate to e.g. a general software folder:

mkdir ~/folder/where/to/install/software
cd ~/folder/where/to/install/software

The following commands assume you do not perform any additional cd commands anymore.

Next, download the structuremap repository from GitHub either directly or with a git command. This creates a new structuremap subfolder in your current directory.

git clone https://github.com/MannLabs/structuremap.git

For any Python package, it is highly recommended to use a separate conda virtual environment, as otherwise dependency conflicts can occur with already existing packages.

conda create --name structuremap python=3.8 -y
conda activate structuremap

Finally, structuremap and all its dependencies need to be installed. To take advantage of all features and allow development (with the -e flag), this is best done by also installing the development dependencies instead of only the core dependencies:

pip install -e "./structuremap[development]"

By default this installs loose dependencies (no explicit versioning), although it is also possible to use stable dependencies (e.g. pip install -e "./structuremap[stable,development-stable]").

By using the editable flag -e, all modifications to the structuremap source code folder are directly reflected when running structuremap. Note that the structuremap folder cannot be moved and/or renamed if an editable version is installed. In case of confusion, you can always retrieve the location of any Python module with e.g. the command import module followed by module.__file__.


Usage

Python and Jupyter notebooks

structuremap can be imported as a Python package into any Python script or notebook with the command import structuremap.

A brief Jupyter notebook tutorial on how to use the API is also present in the nbs folder.


Troubleshooting

In case of issues, check out the following:

  • Issues: Try a few different search terms to find out if a similar problem has been encountered before
  • Discussions: Check if your problem or feature requests has been discussed before.

Citing structuremap

If you use structuremap for your work, please cite our publication:

Bludau I, et al. (2022) The structural context of posttranslational modifications at a proteome-wide scale. PLOS Biology 20(5): e3001636. https://doi.org/10.1371/journal.pbio.3001636


How to contribute

If you like this software, you can give us a star to boost our visibility! All direct contributions are also welcome. Feel free to post a new issue or clone the repository and create a pull request with a new branch. For an even more interactive participation, check out the discussions and the the Contributors License Agreement.


Changelog

See the HISTORY.md for a full overview of the changes made in each version.

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

structuremap-0.0.10.tar.gz (34.6 kB view details)

Uploaded Source

Built Distribution

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

structuremap-0.0.10-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file structuremap-0.0.10.tar.gz.

File metadata

  • Download URL: structuremap-0.0.10.tar.gz
  • Upload date:
  • Size: 34.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for structuremap-0.0.10.tar.gz
Algorithm Hash digest
SHA256 9653a36453426910ddbb28dec508c57aa5c1e8afd0b535011ea14bbee58598cf
MD5 e97ead66560fa9d1d2866f5683921ac5
BLAKE2b-256 79ba538ff3730dac35835f8b5d359b0d779b82d176f8b4b34394c5bfd45507c7

See more details on using hashes here.

File details

Details for the file structuremap-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: structuremap-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for structuremap-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 875fa82d364287e59d1118f41a13ffcb424a98df949dc22dcb9015e2557a8749
MD5 8e7b7c93b332359a1a190f9436efbbac
BLAKE2b-256 9ad6c4da95845469761aea8910bb3f7894a04d3f6457878d3f905be4a0be994c

See more details on using hashes here.

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