-
Notifications
You must be signed in to change notification settings - Fork 58
Description
Background
openPIP is an open‐source web portal for storing, visualizing and sharing protein–protein interaction (PPI) data. As currently implemented, it uses a LAMP/Symfony stack (PHP, JavaScript, etc.) and relies on the PSI-MI tabular format. After a decade of incremental updates, the codebase and interfaces are outdated. In this project, we want a complete rewrite of openPIP (“openPIP 2.0”) to use modern frameworks and extend its capabilities. This will improve maintainability and allow new features such as support for diverse molecular interaction data.
Goal
the new openPIP 2.0 will be built with modern web frameworks (e.g. Python/React) and containerization, replacing the old PHP/Symfony codegithub.com. It will feature a revamped admin/upload interface and support for multiple interaction formats and types.
Enhanced Data Upload and Interaction Support
The new platform will improve data handling. Currently openPIP assumes binary PPI data in the PSI-MI TAB format. We will extend this to support multiple molecular interaction data types and formats:
• Standard formats: In addition to PSI-MI-TAB, we will also accept a simpler tabular format (CSV file).
• Improved upload UI: Implement a drag-and-drop or bulk upload interface with real-time validation and progress feedback.
• Metadata and annotation: Support importing molecules information from public databases.
Difficulty Level
Medium
The current codebase was updated several times and the documntation of the code is not deep enough to make it easy to go throug this codebase.
Size and Length of Project
large: 350 hours, 22 weeks
Skills
To modernize openPIP while preserving its ease of use, we will adopt current web technologies. For example:
• Backend: Use Python (e.g. Django or Flask) or Node.js (Express) for the server. The original openPIP backend was PHP/Symfony, which could be replaced for better performance and community support.
• Frontend: Use a modern JavaScript framework (such as React or Vue.js) for a dynamic user interface, combined with visualization libraries (Cytoscape.js) for network graphs.
• Database/Storage: Continue with a robust SQL database (MySQL/PostgreSQL). Docker containerization (already available in current openPIP) will be used to simplify deployment on cloud or cluster environments.
Public Repository and Resources
openPIP Repository
openPIP website
openPIP Paper
Potential Mentors
Mohamed Helmy, VIDO, University of Saskatchewan
Gary Bader, University of Toronto