Skip to content

openPIP 2.0: Modernizing the Open-source Protein Interaction Platform #275

@MoHelmy

Description

@MoHelmy

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions