Skip to content
This repository was archived by the owner on May 22, 2023. It is now read-only.

Repository files navigation

FORECasT

Favoured Outcomes of Repair Events at Cas9 Targets

Docker Repository on Quay.io

FORECasT is a web application that gives access to a predictor of Cas9 editing outcome resulting from Cas9-induced double strand breaks. The paper is available on BioRxiv, and the application itself at https://partslab.sanger.ac.uk.

The application consists of two components: a React front end (this repository) and a predictor. Having it as two separate servers allows to decouple the model from the interface and develop both components independently.

Running

Locally

  1. Start predictor server (see README). According to instructions, it will run on port 5001

  2. Install packages and run the FORECasT server, it will be opened in a browser automatically

    npm install
    REACT_APP_MODEL_HOST=http://127.0.0.1:5001 npm run start

With Docker

docker pull quay.io/cellgeni/mprofile-web
docker pull quay.io/felicityallen/selftarget
docker network create forecast-net
docker run -d --name selftarget --net forecast-net quay.io/felicityallen/selftarget
docker run -d --name forecast -p 80:80 --net forecast-net -e "REACT_APP_MODEL_HOST=http://selftarget:8006" quay.io/cellgeni/mprofile-web

Open http://127.0.0.1 in browser

Cleaning up

docker rm -f selftarget forecast
docker network rm forecast-net

With Kubernetes

  1. Check FORECasT and SelfTarget Docker images for the latest tags and update corresponding tags in k8s/forecast.deployment.yaml and k8s/predictor.deployment.yaml in "spec > template > spec > containers > image"
  2. Deploy each component:
    kubectl apply -f k8s/forecast.deployment.yaml
    kubectl apply -f k8s/forecast.service.yaml
    kubectl apply -f k8s/predictor.deployment.yaml
    kubectl apply -f k8s/predictor.service.yaml
    
  3. An external IP for the forecast service will be requested and assigned from the infrastructure provider. It can take a couple minutes.
    $ kubectl get services
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    predictor NodePort 10.233.48.4 <none> 80:31935/TCP 16d
    forecast LoadBalancer 10.233.47.253 172.27.18.205 8000:32146/TCP 16d
    If EXTERNAL-IP is stuck in pending state, check the reason with kubectl describe service forecast.

About

Computational prediction of editing outcomes resulting from Cas9-induced double strand breaks

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages