A "Use Case" refers to a specific scenario that demonstrates how the software can be used to accomplish a particular task or objective. There are three interconnected use cases that progressively demonstrate the capabilities of PySSA: the first use case illustrates how to use PySSA to validate the ColabFold prediction method, the second involves comparing the wild-type protein to a mutated protein to determine if the amino acids crucial for receptor interaction remain in the same position, and the third showcases how to generate a high-quality, ray-traced image of a specific amino acid.
- Description
- Contents of this repository
- Installation
- Dependencies
- Architecture
- Use cases
- Citation
- References and useful links
- Acknowledgements
PySSA ('Python rich client for visual protein Sequence to Structure Analysis') is an open software project that
aims to combine PyMOL and ColabFold to enable the prediction and analysis of
3D protein structures for the scientific end-user.
PySSA allows the creation of managed and shareable projects with defined workflows for
the prediction and analysis of protein structures,
which can be conveniently carried out by scientists without
any special computer skills or programming knowledge on their local computers.
PySSA can help make protein structure prediction accessible for research and
development in protein chemistry and molecular biology, and for teaching.
In addition to the prediction and analysis capabilities, PySSA has a more user-friendly interface
for interacting with PyMOL, such as creating high-quality ray-tracing images in a few clicks.
There are five different Python packages that contain functionality for specific aspects of the architecture.
- pyssa
- The package contains Python modules, Qt .ui files and cascading stylesheets.
- application_process
- The package contains a Python module for the ApplicationProcessManager class.
- auxiliary_pymol
- The package contains Python modules for the communication and integration of Auxiliary PyMOL.
- pyssa_colabfold
- The package contains a modified version of the batch.py module of the ColabFold library. Moreover, the package contains the colabfold_run.py and the service.py module for managing the ColabFold microservice.
- pyssa_pymol
- The package contains Python modules for the communication and integration of User PyMOL.
The "docs" folder contains the end-user documentation in the form of markdown and HTML files. The subfolder "dev-notes", contains development notes.
Use cases describing specific workflows can be found here.
The "assets" folder consists of the subfolder "images" which contains the PySSA logo. If you are using PySSA for your own projects, you are welcome to give credit to PySSA by using the logo in your presentations, etc.
PySSA is tested and available for Windows 10 and 11.
For a convenient and user-friendly installation, the "PySSA Component Installer" is available.
Important:
- WSL2 cannot be uninstalled, once it is installed! Windows will integrate the WSL2 as a system component.
- Be aware that the computer needs to be restarted after installing WSL2.
A step-by-step guide can be found in the Wiki (click here to go to the guide).
A short guide on how to install PySSA in an offline environment can be found here.
A short guide on how to install PySSA by downloading ColabFold and PySSA during installation (i.e. online) can be found here.
The PySSA Component Installer user guide is available in the installer's menu under Help. If WSL2 or ColabFold installation fails, consult the user guide and read the troubleshooting section.
This is a Python project based on a virtual environment.
To modify the source code, download or clone the repository
and open it in an IDE that supports virtual environments (e.g. PyCharm).
Finally, run pip install -r requirements_dev.txt
to set up the virtual environment used for development.
The project supports using a setup.py file to create a package that works with the PySSA Component Installer.
To build the package run python setup.py create_win_package
.
The setup.py also supports building the documentation using the command:
python setup.py make_docs
.
Managed by PySSA-Installer:
- Windows Subsystem for Linux 2
- WSL2
- License: Microsoft Software License Terms
- Colabfold
- LocalColabfold
- License: MIT License
- PyQt5
- License: GNU General Public License (GPL)
- NumPy
- License: BSD 3-Clause "New" or "Revised" License
- Pandas
- License: BSD 3-Clause "New" or "Revised" License
- Matplotlib
- License: Python Software Foundation License (PSF)
- Biopython
- License: BSD 3-Clause License
- PyMOL Open-Source
- License: BSD-like license
- SQLite3
- License: Public Domain
Three distinct use cases are presented to illustrate the functionality of PySSA. Each use case builds upon the preceding one, and it is therefore recommended to view all three in order to gain a comprehensive understanding of the software's capabilities.
The use cases can be found under this wiki page: Use Cases
You can cite this software or this repository as it is defined in the CITATION.cff file.
ColabFold
- ColabFold GitHub repository
- Localcolabfold GitHub repository
- Mirdita, M., Schütze, K., Moriwaki, Y. et al. ColabFold: making protein folding accessible to all. Nat Methods 19, 679–682 (2022). https://doi.org/10.1038/s41592-022-01488-1
PyMOL
Developers:
- Martin Urban
- Hannah Kullik
End-user testers
- Jonas Schaub
- Achim Zielesny
Logo:
- Martin Urban
- Hannah Kullik
Initialization, conceptualization, and supervision:
- Achim Zielesny and Angelika Loidl-Stahlhofen
The PySSA project team would like to thank the communities behind the open software libraries and especially Warren L. DeLano for their amazing work.