Skip to content

iremnaz-d/NetworkPPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PROTEIN-PROTEIN INTERACTION (PPI) NETWORK

PPI networks provide insights into the complex relationships between proteins and their roles in health and disease. This project holds every proteins' informations and stores the interactions using the given threshold. (Every interaction has a confidence score which means the connection's strength, and threshold stands for the minimum confidence scored link to store)

Why this project?

They are crucial in biological research and have various applications across different fields. PPI networks are utilized for understanding biological processes, investigating disease mechanisms, facilitating drug discovery and development, elucidating system biology and network biology, and predicting gene function.

Features

• First loads the interactions • Searchs for protein by its ID • Checks if two proteins have an interaction • Finds the most confident path between two proteins • Calculates the basic graph metrics (interactions are stored in a graph) • Gives the Breadth-First and Depth-First Traversal by specifying the origin protein

Tech Stack

Language: Java Data Structures: ArrayList Graph Implementation: Custom Directed Graph Algorithms: BFS, DFS, Dijkstra's Algorithm Java I/O: Java File API Version Control: Git

How it works?

• Protein interaction data is read from input files using Java File I/O • Proteins are represented as nodes in a manually implemented undirected graph • Interactions are added as edges only if their confidence score exceeds the given threshold • Graph data is stored using ArrayList-based adjacency structures • BFS and DFS are used to traverse the network starting from a specified protein • Dijkstra’s Algorithm is applied to find the most confident interaction path between two proteins

What I learned?

• Designing and implementing an undirected graph from scratch • Writing needed operations on graph • Applying graph traversal algorithms (BFS & DFS) in real-world data • Implementing Dijkstra’s Algorithm for path optimization • Understanding confidence-based edge weighting

About

A Java-based protein-protein interaction network analyzer using graph algorithms such as BFS, DFS, and Dijkstra's Algorithm.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages