This event has ended. You can find links to the research projects below, and keep scrolling for additional information about the event. Teams in bold were declared winners by our panel of mentor-judges!
Team | Link | Description |
---|---|---|
nf-qiagen | https://github.com/SVAI/nf-qiagen | Inferring regulators and pathways involved in NF1 and NF2 tumors originating from Schwann cells using gene expression data |
teamSTIR | https://github.com/SVAI/teamSTIR | Automated segmentation of whole body MRI using deep learning segmentation algorithms |
Dermaviz | https://github.com/SVAI/Dermaviz | Dermaviz: Comprehensive Research Suite for integrated Phenotyping, Genotyping and 3D Modeling for NF patients |
nullfunction | https://github.com/SVAI/nullfunction | Exploration of genomic, transcriptomic data in NF1 |
Team Shirin | https://github.com/SVAI/team-shirin | Database mining for CNF drug targets and mutation-histology correlations in NF1 |
teamone | https://github.com/SVAI/teamone | Exploration of NF drug screening data |
tumor-tensors | https://github.com/SVAI/tumor-tensors | Tools for visualizing model results and dicom labels |
GuidanceCue | https://github.com/SVAI/kinase-robot | Exploration of slit/robo pathway in neurofibroma data |
Gleukos | https://github.com/SVAI/Gleukos | Exploration of pNF drug screening data |
kinase-robot | https://github.com/SVAI/kinase-robot | Exploration of NF kinomics data |
databiology | https://github.com/caballero/nf-hackathon-2019 | Exploration of NF metadata |
The Children’s Tumor Foundation (CTF), the Neurofibromatosis Therapeutic Acceleration Program (NTAP), Sage Bionetworks, and the Silicon Valley AI group (SVAI) are excited to announce the second Neurofibromatosis (NF) hackathon that will be held in San Francisco in concomitance with the 2019 CTF Patient Forum and NF Conference. The first-ever NF2 hackathon, held in SF in June 2017, focused on a single set of genetic data (donated by Onno Faber, entrepreneur, and NF2 patient). Following in the footsteps of this successful event, the 2019 Hackathon will focus on analyzing diverse datasets including genomic, drug screening, drug-target association, imaging, and other data for all the three conditions of NF (NF1, NF2, Schwannomatosis).
We believe that open science, collaboration, and talented people are three main ingredients we need to bake a cure for NF. The event plans to attract experts in AI, genomics, bioinformatics, computer science, and life science to glean new insights into these rare diseases. Gathering these experts to find new associations and new perspectives, revolutionize the way we think about NF, and help make great discoveries happen!
The goals of the NF Hackathon are: 1) to make use of the data that our researchers and scientists have already produced, 2) to incentivize data sharing as a powerful practice that will allow researchers to move at a faster pace and create new insights, and 3) to create innovative collaborations between diverse disciplines.
We've prepared Docker containers that contain all of the necessary dependencies to retrieve data from Synapse and perform some basic analyses of these data. The goal of this is to help you orient yourself to the data prior to the event in September. We've created containers for both R and Python users. You can find instructions on running these containers and following the data demos below. If you like, you can also use these containers as a basis for creating your own Docker containers during the hackathon so that others can reproduce your analyses.
These instructions assume that you:
- have registered for a Synapse account
- have followed the How to Participate and Getting the Data! instructions on Synapse.
- have installed Docker Community Edition and that the docker service is running on your machine
- are running a Unix-based OS, such as Ubuntu or Mac. These instructions have not been tested on Windows-based platforms. If you are using Google Cloud Platform, please see the Google Cloud Docker instructions.
- Open a command line interface, such as Terminal.
- Do
docker pull nfosi/nf-hackathon-2019-r
to get the Docker image. - Do
docker run -e PASSWORD=<mypassword> -e ROOT=true --rm -p 8787:8787 nfosi/nf-hackathon-2019-r
to start the container. Make sure to replace<mypassword>
with a unique password. It cannot be "rstudio"! - Open your preferred browser and navigate to
localhost:8787
. Login using the username "rstudio" and the password that you set in step 3. - In the Files pane, click on "0-setup.Rmd" to get started, and to learn how to make your Synapse credentials available to
synapser
.
IMPORTANT NOTE To save any results created during your Docker session, you'll need to mount a local directory to the Docker container when you run it. This will copy anything saved to the working directory to your local machine. Before step 4, do mkdir output
to create an output directory locally. Then run the command in step 4 with a -v
flag e.g. docker run -e PASSWORD=pwd --rm -p 8787:8787 -v $PWD/output:/home/rstudio/output nfosi/nf-hackathon-2019-r
Alternatively, or in addition, you can save all of your results to Synapse using synapser
.
- Open a command line interface, such as Terminal.
- Do
docker pull nfosi/nf-hackathon-2019-py
to get the Docker image. - Do
docker run -p 8888:8888 nfosi/nf-hackathon-2019-py
to start the container. - Open your preferred browser and navigate to the one of the links provided in your Terminal window after running the previous command. It should look something like:
https://127.0.0.1:8888/?token=abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234
. - In the Files pane, click on "Work" and then "0-setup.ipynb" to get started, and to learn how to make your Synapse credentials available to the Python
synapseclient
.
IMPORTANT NOTE To save any results created during your Docker session, you'll need to mount a local directory to the Docker container when you run it. This will copy anything saved to the working directory to your local machine. Before step 4, do mkdir output
to create an output directory locally. Then run the command in step 4 with a -v
flag e.g. docker run -p 8888:8888 -v $PWD/output:/home/jovyan/work/output nfosi/nf-hackathon-2019-py
Alternatively, or in addition, you can save all of your results to Synapse using synapseclient
.
Please note, it's not necessary to run any of the docker containers we provide on the cloud, but we've provided instructions for doing this on Google Cloud if you prefer. This information will also be helpful if you want to use any other Rstudio or jupyter notebook-based Docker containers to conduct your analysis during the hackathon.
- Log into Google Cloud Platform and click on Compute Engine, followed by VM Instances. Click "Create".
- Name your instance, select a zone, and under "boot disk" click "change".
- Select a container optimized image: "Container-Optimized OS 73-xxxxx.xxx.x stable"
- Click "Allow HTTP Traffic", and then "Create"
- After the instance has started, click on the instance's name in the VM Instances table, click Edit, and then add "docker-server" as a network tag.
- Navigate back to the VM Instances Table and click on the 3-dot menu after your instance, then click on "View Network Details".
- Click on Firewall Rules -> Create Rule. Type in a name (e.g. allow-tcp), add "docker-server" to the "Target Tags box, add 0.0.0.0/0 to the source IP range (or, if you know what IPs you'll be accessing the RStudio Server/jupyter sessions from, you can specify those IPs). Then, under Protocols and Ports, click Specified protocols and ports, check the "tcp:" box, and add 8787,8888 to the box. Click "Create" to make the rule.
- Return to the VM Instances Table and click "SSH" to open a new SSH window. Also, note the "External IP" for your instance, you'll need this later.
- Move to step 2 of the GCP RStudio instructions or GCP jupyter instructions.
- Open a command line interface, such as Terminal.
- Do
docker pull nfosi/nf-hackathon-2019-r
to get the Docker image. - Do
docker run -e PASSWORD=<mypassword> -e ROOT=true --rm -p 8787:8787 nfosi/nf-hackathon-2019-r
to start the container. Make sure to replace<mypassword>
with a unique password. It cannot be "rstudio"! - Open your preferred browser and use the External IP you noted in step 8 of the previous section to navigate to
external_ip:8787
- e.g.12.345.678.910:8787
. Login using the username "rstudio" and the password that you set in step 4. - In the Files pane, click on "0-setup.Rmd" to get started, and to learn how to make your Synapse credentials available to
synapser
.
IMPORTANT NOTE To save any results created during your Docker session, you'll need to mount a local directory to the Docker container when you run it. This will copy anything saved to the working directory to your local machine. Before step 4, do mkdir output
to create an output directory locally. Then run the command in step 4 with a -v
flag e.g. docker run -e PASSWORD=pwd --rm -p 8787:8787 -v $PWD/output:/home/rstudio/output nfosi/nf-hackathon-2019-r
Alternatively, or in addition, you can save all of your results to Synapse using synapser
.
- Open a command line interface, such as Terminal.
- Do
docker pull nfosi/nf-hackathon-2019-py
to get the Docker image. - Do
docker run -p 8888:8888 nfosi/nf-hackathon-2019-py
to start the container. - The GCP SSH window will provide a link after running the previous command. It should look something like:
https://(c89a7a7be700 or 127.0.0.1):8888/?token=abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234
. Replace the portion in parentheses with your instance External IP address that you noted in Step 8 of the Google Cloud Docker instructions section. Navigate to this address, e.g.https://12.345.678.910:8888/?token=abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234.
- In the Files pane, click on "Work" and then "0-setup.ipynb" to get started, and to learn how to make your Synapse credentials available to the Python
synapseclient
.
IMPORTANT NOTE To save any results created during your Docker session, you'll need to mount a local directory to the Docker container when you run it. This will copy anything saved to the working directory to your local machine. Before step 4, do mkdir output
to create an output directory locally. Then run the command in step 4 with a -v
flag e.g. docker run -p 8888:8888 -v $PWD/output:/home/jovyan/work/output nfosi/nf-hackathon-2019-py
. Alternatively, or in addition, you can save all of your results to Synapse using synapseclient
.
These instructions for running Docker on Windwows courtesy of Lars Ericson:
We are given some docker images provisioned with data and Python or R for quick setup for the challenge.
I haven't tried to dual-boot my Windows Home Edition PC to Linux. I can still run the docker images. Here is the path:
-
Download Docker Toolbox. Note this is what works on Windows Home Edition. You need Windows Professional to run the more recent Docker. But it's OK, it still works.
-
Run the newly installed Docker Quickstart
-
In Docker Quickstart, download one of the docker images listed on the GitHub, for example
docker pull nfosi/nf-hackathon-2019-py
-
In Docker Quickstart, run
docker-machine ip
to get the IP address. Suppose it is 123.456.78.910. -
Run the docker image
docker run -p 8888:8888 nfosi/nf-hackathon-2019-py
It will tell you something like[I 00:16:50.410 NotebookApp] The Jupyter Notebook is running at: [I 00:16:50.411 NotebookApp] https://127.0.0.1:8888/?token=fa13464756954b325753106b75c8398c991ce9d05ff523de
-
Replace IP address 127.0.0.1 with the string you wrote down in Step 3 (because Windows will probably be blocked 127.0.0.1 for Docker). So something like
https://123.456.78.910:8888/?token=fa13464756954b325753106b75c8398c991ce9d05ff523de
-
Paste the modified URL into your Browser to get to the Docker image Jupyter notebook.
We've provided a template in a submodule of this repository. You can fork this submodule to start your own project to record your hackathon work! Check it out here.