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.
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
CeRVE's code structure includes two main components: the Multi-View Learning Approach (MLF) and the Directed Signed Graph Neural Network (DGNN).
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
Please refer to the data input example: ./data/sample-MLF
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
Please refer to the data input example: ./data/sample-DGNN
First, ensure you have the data samples in the ./data/sample-MLF
and ./data/sample-DGNN
directories.
In the SimDSconv.py
file, execute the MLF component with the following command:
python SimDSconv.py --data_path ./data/sample-MLF
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.
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.
Please refer to the original paper for data and results sections to understand more about algorithmic details and experimental setups.
If you have any suggestions for improving CeRVE or encounter any issues, feel free to submit an Issue or a Pull Request.