Giter Club home page Giter Club logo

pdgrapher's Introduction

PDGrapher

Project structure

The project consists of next folders:

  • data contains all of the data on which our models were built. On how to obtain this data, refer to Data section,
  • docs contains documentation, built with 'sphinx',
  • src/pdgrapher contains the source code for PDGrapher,
  • examples contains some examples that demonstrate the use of PDGrapher library, read the README.md in examples folder for more instructions,
  • tests contains unit and integration tests.

Virtual environment

conda env create -f conda-env.yml
conda activate pdgrapher
pip install pip==23.2.1
pip install -r requirements.txt

pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.10.1+cu111.html
pip install torchmetrics==0.9.3
pip install lightning==1.9.5
pip install torch-sparse==0.6.13

Data

For processed data, download the compressed folders and place them in data/processed/ with the following commands:

cd data
mkdir processed
cd processed
wget https://figshare.com/ndownloader/files/43624557
tar -xzvf torch_data.tar.gz
cd ../
wget https://figshare.com/ndownloader/files/43632327
tar -xzvf splits.tar.gz

Building

This project can be build as a Python library by running pip install -e . in the root of this repository.

Documentation

Documentation can be build with next two commands:

  • sphinx-apidoc -fe -o docs/source/ src/pdgrapher/ updates the source files from which the documentation is built,
  • docs/make html builds the documentation

Then, the documentation can be accessed locally by going to docs/build/html/index.html All of the settings along with links to instructions can be found and modified in docs/source/conf.py.

pdgrapher's People

Contributors

dmohorcic avatar ggonzalezp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pdgrapher's Issues

Query regarding inference of trained model and use of mutilated graphs

Hi
I found the paper very interesting but have some doubts regarding the model and explanation to following points will greatly help in increasing my understanding of the model.

I see that you are training two models, Response prediction model and Perturbagen discovery model.
In some calls to model, mutilate_mutations input argument is used. (e.g. lines a, b)

As per my observation, this input is only used when initial state is 'diseased'. Are you using the mutilate_mutations argument to modify the links in base PPI network to mimic PPIs in disease state?
How do you get this data.mutations for any input sample for the model?

I am also clueless about how one can use the trained model for inference. I guess one needs to run only the trained Perturbagen discovery model during inference. Is this right?
During inference if you have a query vector of disease state and a vector of target/healthy state, what other inputs are needed. How does one get data.mutations during inference?

Can you please clarify how did you run inference for results presented in the paper? It will be very helpful if you can share the inference script, model checkpoints and the sample inputs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.