High-Performance Computing at the NIH
GitHub YouTube @nih_hpc RSS Feed
Upcoming Classes & Seminars

Introduction to Biowulf
Instructors: NIH HPC Staff

An online, self-paced class, with video tutorials and hands-on exercises. New Biowulf users are encouraged to work through the entire class, and experienced Biowulf users can view specific videos to brush up on a particular section.

Click here to get to the class.

No registration required
Magnetoencephalography in Major Depressive Disorder: Leveraging high performance computing resources
Speaker(s): Allison Nugent (NIMH)
Location: Bldg 50, Rm 1227     Date/Time: Tue Jul 17, 2018, 10am - 11am


Magnetoencephalography (MEG) is an imaging technique enabling mapping of electrophysiological brain activity at extremely high temporal resolution, with spatial resolution on the order of several millimeters. The analysis of MEG, particularly resting state MEG, is not straightforward, and requires management of large multi-dimensional datasets. As such, most analysis methods employ some form of dimension reduction, compromising the richness of the information present. Even with dimension reduction, applying state of the art analysis methods may require several hours of computational time per dataset. In this seminar, I will give a brief overview of MEG, including the sources of MEG signals, basic data pre-processing techniques, and reconstruction of MEG images in anatomical space. I will also cover several analysis techniques we have employed on resting state MEG data which were made possible through the NIH HPC resources. I will also discuss how MEG has informed our knowledge of the pathophysiology of major depressive disorder and its treatment with the rapid acting antidepressant ketamine.
No registration required
Creating and running software containers with Singularity
Instructor(s): Afif Elghraoui (NIH HPC Staff)
Location: NIH Library Training Room, Bldg 10     Date/Time: Thu Jul 26, 2018, 9 am - 12 pm


Containers give you the freedom to install custom software in a portable virtual environment. This environment can be copied and shared, fostering collaboration and reproducibility in bioinformatics analyses.

In this workshop, you will use Singularity to create and run containers. You will learn how to install Singularity on your Linux system, create containers with your choice of Linux distribution and software, and use Singularity to run containerized applications, especially on the NIH Biowulf cluster.

please note: for this workshop, access to a Linux environment with the ability to execute commands as the root user is necessary. A Linux laptop or virtual machine (VM) should fulfill this requirement. Access to temporary cloud VMs will be provided for attendees who do not have a suitable system of their own.

Priority is given to Biowulf users

(NIH login required)

Biowulf Seminar Series 2017-2018

Bioinformatics Methods for Immunogen Conformational Stabilization and Antibody Resistance Prediction
Gwo-Yu Chuang, NIAID/VRC. 12 June 2018. [Videocast]

Cryo-EM studies of glutamate receptors and nucleosomes
Sagar Chittori, NCI. 9 May 2018. [Videocast]

Structure, dynamics and function of intrinsically disordered proteins from experiment and molecular simulation.
Robert Best, NIDDK. 24 Apr 2018. [Videocast]

Precise genome-wide mapping of single nucleosomes and linkers in vivo
Razvan Chereji (NICHD). 20 Mar 2018. [Videocast]

How to Build a Dog in 2,392,715,236 steps
Heidi Parker, NHGRI. 21 Feb 2018 [Videocast]

Relion Tips & Tricks; Parallel Jobs & Benchmarking
David Hoover and Jerez Te, NIH HPC staff. 16 Jan 2018.
(Relion PDF) (Parallel PDF)

Python in HPC
Wolfgang Resch, NIH HPC Staff. 30 Nov 2018.
(Slides and GitHub repo)

Effective use of the Biowulf batch system and storage systems
Steve Fellini, Tim Miller, Mark Patkus (NIH HPC staff). 30 Oct 2018.
(Batch System (PDF) and Storage System (PDF)

CMM CryoEM RELION Workshop
David Hoover (NIH HPC staff). 08 May 2018.

Slides and Handouts from Previous HPC Classes

Apart from the handouts listed below, the NIH HPC staff creates and maintains Training Videos to help users get the most out of our resources.

Building a reproducible workflow with Snakemake and Singularity (Slides and GitHub repo)
Students attending this class will learn how to build a workflow with Snakemake and how to make it more reproducible with Singularity containers. This class will make use of the Biowulf cluster and requires knowledge of the Linux command line as well as Python.
Wolfgang Resch, 21 February 2018

The NIH Biowulf Cluster: Scientific Supercomputing (PDF)
This two-part class is an introduction to the Biowulf Linux cluster for users who have NIH Biowulf accounts or Helix users planning to get one. Topics covered: cluster concepts, accounts, connection, storage, batch system, how to set up and submit a simple batch job, partitions, interactive jobs, swarm jobs, available scientific applications, job monitoring, resource allocation, licensed software.
Steven Fellini and Susan Chacko, 13 Feb 2018

Creating and running software containers with Singularity (tutorial)
This was a three hour hands-on workshop on how to user Singularity to create and run containers. Students learned how to install Singularity on a Linux system, create containers with their choice of Linux distribution and software, and use Singularity to run containerized apps.
Afif Elghraoui, 06 February 2018

NIH HPC Object Storage System Overview (PDF) (PPT)
This course introduces users to the concept of object storage - a new technology being used by many large Internet companies that is becoming increasingly popular for scientific use because of its capability to store large-scale, unstructured data. The class describes the NIH HPC object storage system in detail and includes a practical example of its use in a real scientific workflow.
Tim Miller, 9 Jan 2018

Bash Shell Scripting (PDF) (PPT)
The default shell on many Linux systems is bash. Bash shell scripting provides a method for automating common tasks on Linux systems (such as Helix and Biowulf), including transferring and parsing files, creating sbatch and swarm scripts, pipelining tasks, and monitoring jobs. A step-by-step data-driven lesson is available. There is a summary of Linux commands (PDF) available as well.
David Hoover, 19-20 October 2017

Introduction to Linux (PDF)
Course intended for researchers that are new to Linux/Unix. Covers Unix/Linux operating system concepts, a little history, basic file system navigation, text editing, bash (shell) syntax, file transfer, and a number of useful commands and utilities.
Ainsley Gibson, CSRA/HPC Staff, 19-20 Sep 2017

Singularity Demo( Slides |  Demo Readme)
1h intro and demo of Singularity containers for NIMH Reproducible Neuroscience Workshop

Using the HPC Systems Storage Effectively (PDF)
A course that describes the different storage systems available to NIH HPC users along with policies and best practices. Also explains how to avoid storage bottlenecks when running jobs.
Tim Miller, 16 Feb 2017

Parallel MATLAB jobs on Biowulf (PDF) (PPT) (Videos)
Developing MATLAB code for parallel computing, using the MATLAB compiler to deploy license-free code, automating swarm file generation, spawning and monitoring swarms interactively from within the MATLAB environment, and ordering jobs with dependencies to develop an analysis pipeline.
Dave Godlove, 17 Feb 2016

Swarm on the Biowulf Cluster (PDF) (PPT)
Swarm is a script designed to simplify submitting a group of commands to the Biowulf cluster. With the shift from PBS to Slurm, the functionalities and indiosycrasies of swarm have changed.
David Hoover, 22 Sep 2015

Rosetta Workshop
Tutorials and presentations from the Rosetta Design Group, hosted by Helix Systems. (NIH only)
Xavier Ambroggio and Monica Berrondo, 19-21 May 2009

Gene Synthesis using DNAWorks (PPT)
David Hoover, 15 Nov 2006

Linux Tutorials

Helix and Biowulf users will make most effective use of the systems if they are familiar with GNU/Linux.

Below are links to some tutorials which cover the basics of GNU/Linux commands.

Introduction to Linux at the TACC, Texas.
Introduction to Linux guide located on the the Linux Documentation Project's website.
A Basic Unix/Linux Tutorial, at Oxford University, UK.
Unix Tutorial for Beginners. Eight simple tutorials which cover the basics of Unix, at U. Surrey, UK.
Command-line crash course
The Linux Command Line, by William Shotts
Learn the Command Line, A web-based GUI tutorial by codeacademy

Other Training at NIH

The Technology Training Program at CIT offers courses relating to computing, networks, and information systems.

The NIH training program offers classes in writing, speaking, grant writing and more.

The FAES Graduate School runs short and long courses.