Giter VIP home page Giter VIP logo

tr_gps's Introduction

Modelling Transcriptional Regulation using Gaussian Processes

Author: William Purvis

Table of Contents

Project description

This project implements a custom latent force model in GPJax, a didactic Gaussian Process library for python, to infer the latent activity profile of the p53 transcription factor given the expressions of its target genes. The model is flexible, allowing for different data replicas to be used as well as enabling ablation studies.

How to install & run the project

The code for this project can either be installed and run within a docker container, or the repository can be run locally. To clone the repository run the following command:

git clone [email protected]:phy/data-intensive-science-mphil/projects/wp289.git

Installing and running in Docker

A dockerfile is provided to run the project alongside all of it's dependencies (defined in environment.yml) in a docker container. To build the docker image from the provided dockerfile run the following commands after cloning the repository:

docker build -t lfm_image . # builds docker image

As the project requires command-line interactions, the docker container needs to be run in interactive mode:

docker run -it lfm_image

The project can then be run within the docker container.

Running locally

To run this project without docker, create a conda environment from the provided environment.yml file and activate it:

conda env create -f environment.yml # create env
conda activate gpjax_wp289          # activate env

How to use the project

To run the GPJax implementation of the latent force model (LFM) used to obtain the latent activity of p53 presented in the report run the following command from the root directory:

python src/main.py

In addition, refactored code from the ALFI package is included to validate the results. This LFM can be run using:

python src/gpytorch/main_alfi.py

Additionally, example notebooks are provided as tutorials on how to use this package (src/notebook.py).

NOTE there is a depency issue with GPJax, and the following warning may appear (that can be safely ignored):

UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.

Documentation

This project uses NumPy-style doc strings and in-depth documentation on how to use the package can be obtained by navigating to the docs/ directory and building the documentation locally:

cd docs
make html # Generate HTML documentation

License

This project is licensed under the MIT license - see the LICENSE file for details.

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.