Bioinformatics and Scientific Programming Core Facility
- Ryan Dale, PhD, Scientific Information Officer
- Caroline Esnault, PhD, Bioinformatics Scientist
- Gennady Margolin, PhD, Bioinformatics Scientist
- Apratim Mitra, PhD, Bioinformatics Scientist
- Hongen (Henry) Zhang, PhD, Staff Scientist
- Eric Chang, BS, Postbaccalaureate Fellow
- Sydney Hertafeld, BS, Postbaccalaureate Fellow
- Nicholas Johnson, BS, Postbaccalaureate Fellow
The goal of the Bioinformatics and Scientific Programming Core (BSPC) is to provide expert bioinformatics support to NICHD researchers, assisting at all stages from experimental design through multiple iterations of analysis to final manuscript preparation. In addition, we develop software tools that can be applied to a wide range of bioinformatics, genomics, and general data analysis both at NICHD and in the larger international scientific community. We coordinate training for staff and trainees in basic programming and genomic analyses to help build bioinformatics support directly within labs.
Structure
NICHD’s Bioinformatics and Scientific Programming Core (BSPC) uses a “hub and spoke” model, consisting of a central core of staff (currently in Building 10) coordinating with embedded bioinformaticians (currently in Buildings 6 and 49) working directly in laboratories. This allows us to build centralized infrastructure that can be re-used across many research programs while at the same time maintaining focused and custom local support in labs. Joint meetings and discussion allow everyone, central and embedded, to share lessons learned and identify new tools and methods.
Projects overview
In 2019, the BSPC worked on 49 projects, collaborating with 36 PIs, fellows, staff scientists, and staff clinicians across 23 laboratories. The projects included assays such as bulk RNA-seq, single-cell RNA-seq, ChIP-seq, whole exome sequencing, whole genome sequencing, DNA methylation, CUT&RUN, bulk ATAC-seq, and single-cell ATAC seq. Some projects involved custom algorithm development and tool development, and many projects required integration with published studies. Roughly a third of the projects involved RNA-seq differential expression analysis; roughly half of the projects from this year have been completed and the rest remain ongoing.
Projects often begin with an in-depth discussion with researchers to understand the background and goals of the project. It is important for us to understand the underlying biology and details of the experimental design (when applicable) for each project, so that we can make the most informed analysis decisions. We then provide a prioritized plan for the first round of analysis and schedule the work. There are often several iterations of analysis, as a project progresses. Each iteration may add more sophisticated analyses, new data generated by the lab, or integrate results with published data. As expected for a no-cost shared resource, the time it takes for one iteration on one project is highly dependent on the existing workload across all other projects that we are handling in the Institute.
After each iteration, we meet to discuss the results in detail. The meeting includes a walk-through of the results, the computational background, discussion of how to use and interpret the tables, figures, and other output, and recommendations for next steps. Depending on the researchers' interests, this can also include a discussion of the code and help with running it or adapting it to other projects in the lab. The next iteration of analysis is then planned, prioritized, and scheduled.
Projects: computation and code
Most projects are multi-week or multi-month projects that continue after many iterations and often require authoring substantial amounts of custom R and Python code. We work closely with NICHD's Molecular Genomics Core, where much of the raw high-throughput sequencing data for NICHD are generated. We can access these data directly, avoiding the need to coordinate data transfer and/or storage space with researchers. Analysis performed by the BSPC makes extensive use of NIH’s Biowulf high-performance computing cluster, and there is no direct cost to researchers for work done by the BSPC.
To ensure long-term computational reproducibility, we build a complete software environment for each project, which allows us to track all versions of software and dependencies, and any one project’s environment can be updated without affecting any others. All source code is kept under version control so that the entire history of the project can be tracked. We also build reproducible workflows for each project that keep track of which results have been updated, and wherever possible, provide output as standalone, interactive HTML files, so that researchers can easily explore their results.
Additional software development and computational resources
The BSPC continues to develop and maintain publicly available open-source tools. One example is lcdb-wf, a system of workflows and pipelines to process high-throughput sequencing data, run extensive quality control, and perform differential ChIP-seq or RNA-seq analyses and which runs on NIH’s Biowulf high-performance computing cluster. We also continue to contribute to the Bioconda project, a system used by bioinformaticians worldwide to easily install biology-related software tools.
The BSPC maintains an RStudio Connect Server instance, which allows us to publish interactive applications that researchers can use to interactively explore and plot their data. We also maintain a GitLab instance in NICHD’s data center, which provides source code version control, issue tracking, and documentation for projects we work on in such a way that they can be shared with collaborators. These repositories currently store tens of thousands of lines of Python and R code and documentation written by the BSPC and used in various projects.
Contact
For more information, email ryan.dale@nih.gov.