/CeRVE

Multi-view learning framework for predicting unknown types of cancer markers via directed graph neural networks fitting regulatory networks

Primary LanguagePython

CeRVE: Multi-View Learning Framework for Predicting Unknown Types of Cancer Markers

CeRVE (Cancer Marker Prediction using Multi-View Learning and Directed Graph Neural Networks) is a multi-view learning framework designed to predict unknown types of cancer markers. This method combines multi-view learning with directed graph neural networks to enhance the accuracy of cancer marker prediction.

Environment Dependencies

The implementation of CeRVE relies on the following environment:

  • Python: 3.7
  • Numpy: 1.21.5
  • Scikit-learn: 1.2
  • Torch: 1.10.2
  • Scipy: 1.7.3

Please ensure that you have the above dependencies installed before running this project. You can install these dependencies using the following command:

pip install numpy==1.21.5 scikit-learn==1.2 torch==1.10.2 scipy==1.7.3

Code Structure

CeRVE's code structure includes two main components: the Multi-View Learning Approach (MLF) and the Directed Signed Graph Neural Network (DGNN).

1. Multi-View Learning Approach (MLF)

The MLF component includes:

  • GUS Similarity Calculation
  • Sigmoid Similarity Calculation
  • Similarity Fusion
  • Snake Convolution

Ultimately, MLF integrates these processing steps to output a feature matrix for subsequent graph neural network processing.

Implementation Reference: SimDSconv.py

Data Input

Please refer to the data input example: ./data/sample-MLF

2. Directed Signed Graph Neural Network for Fitting Regulatory Mechanisms (DGNN)

The DGNN component takes the feature matrix generated by MLF and a directed graph as input, aiming to fit regulatory mechanisms using graph neural networks, thereby enhancing the prediction capabilities for cancer markers.

Implementation Reference: sdgnn.py

Data Input

Please refer to the data input example: ./data/sample-DGNN

Usage Instructions

1. Prepare the Data

First, ensure you have the data samples in the ./data/sample-MLF and ./data/sample-DGNN directories.

2. Run the Multi-View Learning Approach (MLF)

In the SimDSconv.py file, execute the MLF component with the following command:

python SimDSconv.py --data_path ./data/sample-MLF

3. Run the Directed Signed Graph Neural Network (DGNN)

In the sdgnn.py file, execute the DGNN component with the following command:

python sdhnn.py --feature_matrix_path <path_to_feature_matrix> --graph_path <path_to_graph>

Where <path_to_feature_matrix> is the path to the feature matrix output by MLF, and <path_to_graph> is the path to the directed graph file.

Results

The generation and evaluation of results can be analyzed through the output files obtained from the above two steps. Specific results can be referred to in the result section of the project.

References

Please refer to the original paper for data and results sections to understand more about algorithmic details and experimental setups.

Contributing

If you have any suggestions for improving CeRVE or encounter any issues, feel free to submit an Issue or a Pull Request.