Joshua Cook

Joshua Cook

Graduate Student

Harvard Medical School

Biography

Josh is a computational biologist pursuing his PhD. at Harvard Medical School. There, he is co-advised by Professor Kevin Haigis and Professor Peter Park as he studies cancer genetics and evolution. Specifically, he is working to understand the tissue-specific impacts of KRAS mutations on the behavior of cancers.

In his free time, Josh enjoys learning about programming and computer science - his current project is creating an iOS app in Swift. Off the computer, his hobbies include running and caring for his plants.

Interests

  • Cancer genetics and evolution
  • Swift and iOS development

Education

  • BS in Biochemistry and Molecular Biology, 2017

    University of California, Irvine

  • BS in Chemistry, 2017

    University of California, Irvine

Skills

R

Proficient

Python

Intermediate

Swift

Beginner

Linux

Sufficient

Statistics

Moderate

iOS

Beginner

Projects

.js-id-programming

mustashe

A system for stashing and loading the results of long running computations.

Frailea castanea from seed

My attempt at growing Frailea castanea from seed.

Germination Tracker iOS App

A simple app to help me record data on my seedlings.

Growing Lithops from seed

Documenting my journey from seed to Lithops

ggasym (“gg-awesome”)

‘ggasym’ (pronounced “gg-awesome”) plots a symmetric matrix with three different fill aesthetics.

Plant Tracker iOS App

An app to help my mom keep track of and care for her plants.

'mustashe' Explained

The purpose of the ‘mustashe’ R package is to save objects that result from some computation, then load the object from file the next time the computation is performed. In other words, the first time a chunk of code is evaluated, the output can be stashed for the next time the code chunk is run. This post explains how ‘mustashe’ works. See the previous post for an introduction to the package.

'mustashe'

The purpose of the ‘mustashe’ R package is to save objects that result from some computation, then load the object from file the next time the computation is performed. In other words, the first time a chunk of code is evaluated, the output can be stashed for the next time the code chunk is run. ‘mustashe’ can be installed from CRAN or from GitHub. install.packages("mustashe") # install.packages("devtools") devtools::install_github("jhrcook/mustashe") Check out the next post the see how ‘mustashe’ works under-the-hood.

OncoTree Tidygraph

Introduction Cancers are often first classified by their tissue of origin, but there are several types of cancer for each tissue. Further, each of these can have several subdivisions. For example, head and neck cancers can be further divided into seven cancers, including head and neck squamous cell carcinoma (HNSC). HNSC itself has six subtypes, too. This hierarchy can be represented in a directed acyclic graph (DAG), as shown below.

GitHub Actions for Compiling and Converting LaTeX

Introduction I am preparing a manuscript for submission to a scientific journal and decided to compose it in $\LaTeX$ using Overleaf. While Overleaf, an online $\LaTeX$ editor, has many collaboration features (including live, multi-person editing and review) many people, namely my PI, dislikes both $\LaTeX$ nor Overleaf, and instead prefers MS Word documents. One of Overleafs great feautres is the ability to use GitHub for version control. Therefore, I set up a GitHub Action workflow to test the compilation of the LaTeX document and convert it to docx Word format.

Setting axes to integer values in 'ggplot2'

The problem I stumbled across this problem as a TA for an introductory R course. It was a minor question on a Problem Set focussed on creating a Shiny app that the instructor had seeminly dismissed as trivial and not bothered to include in his solution guide. Anyways, I needed to be able to grade the problem set, so I gave it a shot. Like any good programmer, I Googled the question and clicked on the most appealing Stack Overflow response.

Accomplish­ments

mustashe

My R package, ‘mustashe’, has been accepted to CRAN. It is ‘A simple system for saving and loading objects in R. Long running computations can be stashed after the first run and then reloaded the next time. Dependencies can be added to ensure that a computation is re-run if any of its dependencies or inputs have changed.’

100 Days of Python

To become comfortable with Python, I completed an hour (usually more) of deliberate practice. I primarily followed data science-centered tutorials, namely Python for Data Analysis and Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. I also followed the tutorials for the common plotting libraries, Matplotlib, Seaborn, and Plotly. I recorded my progress at the linked GitHub repository. I did not finish the Hands on ML book in the 100 days, but I continued working through it afterwords.

Completed Hacktoberfest 2019

I opened four pull requests to open source projects to complete the Hacktoberfest challenge. I merged large features into my Germination and Plant Tracker apps (1, 2, 3). Also, I made a pull request to add documentation for a statsitcal test using by Hierarchical HotNet (Reyna, et al.. Bioinformatics. 2018) from the Raphael Lab at Princton University (4).

100 Days of Swift

I challenged myself to do at least an hour of Swift every day for 100 days. I recorded my progress at the linked GitHub repository. Towards the end of the challenge, I started developing two iOS apps, a Plant Tracker and a Germinaton Tracker.

Tissue-specific oncogenic activity of KRAS A146T

The Haigis Lab published on a biochemical, signaling, and computational description of the KRAS A146T allele.

Honorable Mention NSF GRFP

I have been awarded an Honorable Mention in the 2019 National Science Foundation (NSF) Graduate Research Fellowship Program competition

ggasym

My R package, ‘ggasym’, has been accepted to CRAN. It was further promoted by RStudio in their March edition of Top 40 New CRAN Packages and R Weekly (March 18, 2019).

Toxoplasma gondii disrupts β1 integrin signaling and focal adhesion formation during monocyte hypermotility

My undergraduate reseach in the Lodoen Lab at UC Irvine on the interactions between the single-celled parasite, T. gondii, and human monocytes was accepted by JBC.

Contact

  • Boston, MA 02215