Jason Ernst: I'm going to first give an overview of chromatin
states and ChromHMM, and then give more specific detailed information on how to access existing
chromatin state annotations, which, for many purposes, would be sufficient.
But then, also, how you could run ChromHMM on new data that you might've generated that
you might be interested in working with.
So, ChromHMM leverages largely genome-wide maps of histone modifications.
We can also take other types of data, such as open chromatin.
And this data is typically mapped genome-wide based on ChIP-seq experiment, and there's
dozens of different histone modifications.
These five have become the core histone modifications of the Roadmap Epigenomics Project.
And then, there's been other marks that have been mapped in smaller numbers of cell types.
So, what we're interested in doing with ChromHMM is taking, potentially, many different maps
of genome-wide signal, and then converting that into chromatin state annotations that
leverage the combinatorial nature of the data, and the spatial information to give a single
annotation to each location in the genome.
And these annotations could correspond to candidate enhancer regions, or transcribe
regions, or promoters in gene starts.
So, we're underlying this assumption that there's these different classes of elements
that we don't get to observe directly.
But what we do observe after our pre-processing is a binary presence or absence call for each
of the input tracks, whether we had enough reads supporting its presence at a specific
location.
And then, we make a modeling assumption that at each location, we're in one of the finite
number of hidden states.
And associated with each of these hidden states is different probabilities of observing different
modifications.
So, for example, for in the state one, we would have a high probability for these marks,
and potentially lower probabilities of these marks.
And it's formerly based on a multi-varied hidden Markov model, which also allows spatial
information, so we could differentiate, for example, between here and here, we're still
in this state, just based on the neighborhood information.
And all these probabilities are learned, de novo, from the data itself.
So, to give an example of this, this came in the context of the ENCODE two project,
in collaboration with Brad Bernstein’s ENCODE production group, where a key set of histone
modifications were mapped across nine diverse cell types.
So, this looking at all the raw data at one location.
And what we did was we applied the modeling approach to each of these cell types, treating
additional cell types as if they were additional chromosomes.
So, we learned one common state definitions across the cell types, where we could have
cell-type specific assignments.
And what you see here are -- rows correspond to different states.
The columns correspond to different marks.
And then, the values correspond to what's the probability we would observe that mark
in that state.
And then, we can overlap -- so, once we've learned these models, we can assign each location
in the genome to one of these states in each cell type, and then we can overlap this with
other type of information, such as locations of transcription factor binding, evolutionarily
conserved elements, gene annotations, and start giving candidate annotations to these
signatures, so we could identify active promoter regions, which we often color in red, enhancer
regions in orange, weaker enhancer regions in yellow.
Insulator regions, transcribed, repressed regions, and heterochromatic regions.
So, this is another view of what we've done is we've taken the same gene and four different
cell types.
This is the raw input data.
And what we've done is we've summarized all the data into one chromatin state annotation
that's color coded per each cell type.
So, somebody could go into the genome browser and quickly scan [unintelligible] location
and get a sense in what different cell types it's active in or not, across the entire genome,
including the vast intergenic regions.
So, how we actually go about accessing these existing chromatin state annotations?
And I'm going to focus now on the set that had been produced as part of the recent Roadmap
Epigenomics publications, but I note that 16 of these 127 cell types were based on data
generated by the ENCODE project.
So, one issue is that we need to have a common set of marks across the states if we want
it -- if we don't want to confound downstream analysis.
So, as part of the Roadmap effort, we took the five marks that were common across all
the cell types, and learned this 15 chromatin state model, and now, you're seeing chromatin
state annotations across 127 cell types.
That ignored all these other modifications.
So, we learned another model based on adding H3K27 [unintelligible], which is another key
act -- mark of active elements, but that was only defined across 98 of the cell types.
We also have a alternative strategy, based on first imputing data sets, using a new method
ChromImpute, which I developed, which I won't have time to go into the details, but if you're
interested, it's published now in -- earlier this year.
And what this allows you to do is it makes predictions of what one of these experiments
should look like, leveraging all the other information we have, including how that mark
has looked in other cell types, and the other marks that you have in some cell type you're
interested in.
And we learned a chromatin state model based on the 12 marks that we had enough data to
be most confident with imputation on, and then have a chromatin state model defining
25 states based on imputed data from these 12 marks, giving a richer annotation.
And then, this is a screenshot of one location for these -- across 127 cell types of these
25 states.
And then, this is a screenshot of the -- labels of these states that's available on the UCSC
genome browser, summarizing the three different models.
These were the inputs that they're defined based off of, and then the candidate annotations
we've associated with these states.
So, all this data can be accessed in raw form, from the Roadmap ENCODE Integrative Analysis
Portal.
So, this is the URL.
And if you go to this portal, there'll be a tab -- Chromatin State Annotations.
And then, you can click on one of these three tabs to access one of the corresponding three
models.
And then, somebody can click here, and then click to visualize these chromatin states,
or you have links to download the raw data files, if you're a computational person, and
want to write your own scripts.
Alternatively, this can be accessed through the UCSC genome browser.
It's important to note that right now, it's for hg19 which, until very recently, was the
default, but it's no longer the default assembly on the browser.
But to actually annotate it, you have to through a couple steps.
It's available through the track hubs, so then this is this button.
And then, you're going to need to click here for the roadmap integrative analysis, and
click connect.
And I just want to highlight, this is different than the roadmap epigenomics data complete
connection.
That's if you want to access sort of the raw, unprocessed data.
But the more processed integrative analyses through the separate hub.
Once you click connect, you're going to get a series of menus now available on your browser.
And then, for this consolidated menu here is where you want to focus to access the ChromHMM
annotations.
Then the first -- once you click on that, then ChromHMM will be the first thing on this
menu.
And then, you would want to make sure both of these boxes are checked so you can have
access to either the directly observe data, or the imputed data.
And then, there's these options here that decide if you want to work off of the primary
core five mark model.
The one with -- the auxiliary one is the one that also is based on H2K27 [unintelligible],
and that defines across all the cell types.
And then, the imputed one is defined based on the imputed data for 12 marks.
And then, once you've accepted that, then you can -- it will load into the UCSC genome
browser, and you have access to all the chromatin state annotations in the browser.
And then, there's an alternative way of accessing it through the epigenome browser at the Washington
University.
I'll just give the URL, and not walk you through how to actually load it.
But there's information at that site.
So, now, to explain the ChromHMM software.
So, this is the URL, if you're interested in downloading ChromHMM, and the website.
And then, this link at the top is the software download.
And this is also another important link on this site, the software manual which has all
the details about the various commands.
So, in order to try running ChromHMM, if you're interested in starting it to launch it while
I'm talking, these would be the steps you would need to do.
You can download it from the website.
This is the full URL to the software.
Java already needs to be installed on your computer.
You would unzip ChromHMM.
Then, you would need to open a command line.
So, if you're like on Windows, you type from the start menu, you hit CMD.
Then, you would need to change into the ChromHMM directory, so CD to the path of the -- where
the ChromHMM draw file is sitting.
And then, you would enter this command.
So, it's -- I won't read it out loud, but you can see here.
This would launch ChromHMM on a Sample Data, and I'll take you through those steps in a
minute.
And this will take about five minutes to run.
So, if you're running it right now, by the time I start talking about the output, hopefully,
it'll be there.
So, what's input to ChromHMM?
So, ChromHMM -- the actual model learning is based on binarized data.
This 200 based pair by default resolution.
So, typically, how it's sort of recommended -- obtaining this, it's directly from a location
of aligned reads.
And there's two commands that one can do is if your reads are in a BED format, you can
use the command BinarizeBED.
And in the most recent version of ChromHMM, I've added another command, BinarizeBAM, which
does the same thing, but can directly read BAM files, so there's no need to first convert
your BAM files to BED files.
So, this is sort of stepping through the BinarizeBED commands.
So, the first part is information to Java, which tells you -- tells it how much memory
it's allocated, and then the dash jar and the ChromHMM dot jar, which is telling it
– Java -- which files to use.
And then, the next command that's -- is telling ChromHMM which of the several different commands
to be using.
So, by default, I mean, the first one here is BinarizeBED.
And then, there's a command to -- or the option to say which chromosome lengths -- it needs
to know the length of the chromosome.
And most standard chromosome length files are already included with the download, but
if you're using a nonstandard assembly, you'll need to download that yourself.
Then, you specify the directory that contains the BED files.
And then, there's this design file which the contents are first column specifies the cell
type, or tissue type of each file.
Then, what mark it is, and then the name of the file containing the [unintelligible] corresponding
to that.
And then, optionally, you can specify a corresponding control data set.
Then, the output directory and the -- is the last thing.
So, now, the actual learn model command has the same beginning here.
And then, learn models ChromHMM command.
This is one non-default parameter that you might want consider, and I specified that
before.
So, this dash P zero, what that allows ChromHMM to do is access more than one processor, so
it can run more efficiently, if you have a multi-processor machine.
If it's not specified by default, it will take only one processor.
And then, you specify the directory, which has the binarized inputs, so that would be
the output from the BinarizeBED command.
Then, the directory where you want the output report from ChromHMM to go.
The number of states you want ChromHMM to be able to learn with, and often times, in
practice, one will learn models across a range of states, and then use sort of the level
of biological interpretation to guide which one to sort of analyze in depth.
And then, you can specify the genome assembly of -- that you're working with.
And ChromHMM will use that, in terms of also doing automated enrichments.
So, you'll get a ChromHMM report when it's done, and if you've been running it on your
own laptop, hopefully something like this has opened in your browser -- will soon.
And just to take you through what's contained in this, you have an output record of what
the options you used were to the inputs, so you have a record of that.
Then, you have an emission parameter matrix.
And then, for each of these, you also have an option to download it in an SVG format,
or a tab to limited text file format, so you can get the numbers behind this.
Then, you have the transition parameters, which are part of the HMM, which help it to
define the model.
And then, there's a model file, which is not designed to be human readable, but more for
ChromHMM to be able to do additional work on that model, if you want to reuse it later.
And then, there's a link to the segmentation files.
So, these are fore column BED files saying for each coordinate range what state it's
in.
And then, file formats that are designed to be in UCSC genome browser IDV or other genome
browser friendly formats.
So, one can load into the browser.
It shows you automated enrichments for certain pre-loaded files, but you can also -- there's
options to provide your own annotations, either initially, or you can -- once you have the
annotations with other commands to compute additional enrichments.
You can also see positional enrichments [unintelligible] the enrichment relatives to some positions,
such as transcription start sites.
And then -- so, that was all for one of the cell types.
As you continue scrolling, you'll see the same information for the second cell type,
and for many how additional cell types you have.
And then, just to point out that these chromatin state annotations we've used previously to
show how they can be used to interpret disease-associated variation and -- as well as other recent works,
such as the work of Manolis Kellis where they used actually the ChromImpute annotations,
and then ChromHMM on top of it to dissect the FTO loci, as well as also interpreting
epigenetic variation associated with disease.
And there's many other examples in the literature by other researchers, either using existing
annotations, or using ChromHMM applied to their own data.
And so, that concludes this work [unintelligible] acknowledge to Manolis Kellis, and all the
ENCODE and Roadmap consortium which has provided this data.
[applause]
And I just want to point out that -- I won't go through it -- but it's included in the
slides, if you download it, many other additional ChromHMM commands are also described in the
manual.
So, that's available.
[end of transcript]