The high-level goal of our project is to build an algorithm to reduce
noise in biological networks to improve the performance of various
information mining tasks on the denoised network.
COPIED: We want to build an algorithm for improving the signal-to-noise ratio of undirected, weighted networks.
Some of the information mining tasks considered are listed as
follows:
- Network clustering
- Function prediction
- Low dimensional embedding
- Link prediction
Evidently, the performance metrics differ between tasks. We will first consider the task of function prediction.
Although not required to use the code, the project uses Jupyter Notebooks to visualize, tinker, and play with the code. It is highly recommended, but if you just want to use the code in some pipeline then you only need to install the correct packages.
The project has a few dependencies:
- python 3.7+
- matplotlib
- scipy
- numpy
- pandas
The easiest way to set this all up is with conda, which you can install through miniconda or anaconda. Then, run the following commands:
For running Jupyter notebook locally, start at the root of the directory of the project and run the following commands:
Everything should now work as expected!
Sometimes it is necessary to run the project on the cluster. To do this, we run the notebook remotely on the cluster and use an SSH tunnel to forward the notebook to your laptop.
Jupyter notebook remote tutorial
The conda environment denoise contains the python package, so it
should be as easy as activating the environment to use the code. To
update the package, run the following commands: