Post on 21-Dec-2015
ENCODE Timeline
• ENCyclopedia of Dna Elements. – Attempt to catalog as many functional
elements in human genome as possible using current technologies.
– Pilot project - finished 2007, covered 1% of genome.
– Production project - ramping up now. Genome-wide. Should have major amounts of data in 6 months.
ENCODE Experiments• Chromatin state:
– DNA Hypersensitivity assays– Chromatin Immunoprecipitation (ChIP)
• Histones in various methylation states• Sequence-specific transcription factors
– DNA methylation– Chromatin conformation capture (5C)
• Functional RNA discovery– Nuclear & cytoplasmic, short & long– RNA Immunoprecipitation
• Comparative Genomics• Human curated gene annotation
Role of UCSC
• Display data in context of what else is known on the UCSC Genome Browser and in other tools.
• Facilitate analysis of the data with both Web-based and command line tools.
Scientific Highlights of Pilot
• Transcription:– Lots of transcription outside of known genes.– Outside of known genes transcribed areas not
very well conserved across species.– Lots of rare splice variants, also poorly conserved.
• DNA/Protein Interactions– Good correlation between histone markers, gene
starts, and _active_ transcription.– Lots of “occupied transcription factor binding sites”
not conserved, near promoters etc.
• Biological noise?– Main controversy was whether to explain much of
the data as “biological noise” that was tolerated but not necessary for function.
ENCODE Production Phase• Moving from microarray based assays
to assays based on next-generation sequencing. (ChIP-chip to ChIP-seq)
• Genome-wide rather than regional.• Broader set of cell lines used more
consistently between labs.• Broader set of antibodies.• Some new technology development
continues.
ENCODE Cell Lines• Tier 1 - used in ALL experiments
– GM12878 (lymphoblastoid cell line)– K562 (chronic myeloid leukemia)
• Tier 2 - used in most experiments– HepG2 (hepatocellular carcinoma)– Hela-S3 (cervical carcinoma)– HUVEC (umbilical vein endothelial cells)– Keratinocyte (normal epidermal cells)– Likely will do an embryonic stem cell too.
• Tier 3 - used in one or two experiments– Many of these for assays such as DNAse
hypersensitivity, RNA measurements where don’t have to do separate experiment for each antibody.
Simple Model of Eukaryotic Transcription Regulation
• Initially chromatin “opened” to allow transcription factors to access DNA
• Multiple transcription factors bind to DNA in combination.– Most factors have such small DNA binding sites that
by themselves they are not specific or the binding even stable
• The right combination of factors in open chromatin leads to active transcription starting at the initiation complex.
• With the ENCODE experiments we can directly test most aspects of this model.
Chromatin Experiments
• In general applied across a large number of cell lines.
• DNAseI hypersensitivity• Formaldehyde Assisted Isolation of
Regulatory Elements• Methylation of CpG Islands• ChIP-seq of relevant factors
– H3K4me1,2,3 H3K9me3 H4K20me3, H3K27me3, H3K36me3, RPol-II, etc.
Transcription Factor ChIP
• Many antibodies in modest number of cell lines.
• Limited by good antibodies, hope for 100 or more.
• Current good antibodies include– E2F1, E2F4, E2F6, KAP1, L3MBTL2, STAT1,
CtBP1, CtBP2, SETDB1, ZNF180, ZNF239, ZNF263, ZNF266, ZNF317, ZNF342
• Part of project pipeline for raising and testing antibodies.
RNA measurement• RNA-seq of poly-A selected RNA to measure
mRNA levels in many cell lines.• Sequencing of G-cap selected tags (CAGE)• Sequencing 5’ and 3’ ends (paired end tags)• Measurement of RNAs of several types in
several cell compartments of a few cell lines.– Long/short, polyA/nonPolyA, associated with
proteins/not associated with proteins– Nucleus, cytosol, polysomes, chromatin, nucleolus
New Pilot Projects• Immunoprecipitation of RNA binding
proteins/RNA sequencing. • Mapping silencers and enhancers with
transient transfection assays• Computational identification of active
promoters• Deep comparative sequencing in targeted
regions and conservation analysis.• Chromatin Conformation Capture Carbon
Copy (5C) to capture long range regulatory elements and their targets.
ENCODE Timeline
• Grants funded for 4 years starting Sept 2007.
• First production data just now starting to roll into UCSC, not quite ready for public display.
• Data should accumulate quickly over next few years.
Data Release Policy• Once have reproducible data (where at least 2 of 3
replicates agree) should be released to public within a month.
• Data is still considered pre-publication! – Ok to publish a paper using data on a few genes.– Please wait for consortium papers before papers doing
full genome analysis.– Anyone can join ENCODE consortium analysis group to
help us write the papers.– We just have ~1 year after data release to write papers,
after that fair game to publish full genome analysis. – If in doubt please contact consortium via UCSC.
Mouse ES Cell Chromatin IP
• Brad Bernstein lab ChIP-seq based experiment on methylated histones now on UCSC Genome Browser.
• Shows some of the user interfaces that will be used for the ENCODE data
Gencode Project• Project to define structure (exons and introns)
for all common splice varients of all genes.• Human curators merge many lines of
evidence including– Computational gene predictions– RNA/DNA alignments– Paired end tags– Cross-species alignments– Possibly chromatin state data
• PI is Tim Hubbard• Much of the work done by Havana group
Data Mining with Table Browser
QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.
Table Browser
• Complete access to UCSC Database with results in tab-delimited format
• Method for creating “custom tracks” by combining and filtering existing tracks.
• Sample query - getting a table of Ensembl gene coordinates and associated Superfamily annotations.
Selected fields from related tables results: Ensemble Gene (ensGene) and Superfamily Description (sfDescription).
Custom Track Output
• Useful for visualizing results of queries in genome browser
• The way to produce more complex queries.
• Here we look at how well genes that are Ensembl but not UCSC are conserved across species.
681/3329 (20%) of Ensemble not known also not conserved1728/33,666 (5%) of Ensembl in general not conserved
UCSC Gene Sorter QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.
• Swiss army knife for dealing with gene sets.
• Hilights relationships and connections between genes.
• Powerful data mining tool.
Cytochrome P450 - a gene family important in drug metabolism.
The family is related in many ways. Sorted by protein homology
GNF Atlas 2 column in ‘median of replicates’ mode. Actual
Column includes 79 tissues, slide only fits first half.
GO-annotated membrane proteins that are expressed at least 8X in pancreatic islets cells and no more than 4X elsewhere outside of pancreas and central nervous system. These might be good candidates for targets of the autoimmune response that can cause Type I diabetes.
Candidate Pancreatic Islet Membrane Genes
FTP or HTTP Download
• Sequence
• Multiple genome alignments
• “Wiggle” track data.
• Database as tab-separated files
• Follow downloads link from http://genome.ucsc.edu
• Via ftp://hgdownload.cse.ucsc.edu
Public MySQL Access• Query mirror of our database directly
– Host: genome-mysql.cse.ucsc.edu– User: genome– No password needed
• Best to use table browser to find relevant tables in many cases.
• Some tables are split by chromosomes– chr1_est, chr2_est, etc.
• Some data (genome sequence, multiple alignments, wiggles) are in files just referenced by SQL tables.
• For some purposes easier to use via UCSC C library code than via SQL.
The Sordid Details of the UCSC Genome Informatics
Code Base
Download via http://genome.ucsc.edu/admin/cvs.htmlMany modules require MySQL to be installed.
Lagging Edge Software
• C language - compilers still available!
• CGI Scripts - portable if not pretty.
• SQL database - at least MySQL is free.
Coping with Missing Data Types in C
• #define boolean int• Fixing lack of real string type much
harder– lineFile/common modules and autoSql
code generator make parsing files relatively painless
– dyString module not a horrible string ‘class’
Object Oriented Programming in C
• Build objects around structures.• Make families of functions with names that
start with the structure name, and that take the structure as the first argument.
• Implement polymorphism/virtual functions with function pointers in structure.
• Inheritance is still difficult. Perhaps this is not such a bad thing.
struct dnaSeq
/* A dna sequence in one-letter-per-base format. */
{
struct dnaSeq *next; /* Next in list. */
char *name; /* Sequence name. */
char *dna; /* a’s c’s g’s and t’s. Null terminated */
int size; /* Number of bases. */
};
struct dnaSeq *dnaSeqFromString(char *string);
/* Convert string containing sequence and possibly
* white space and numbers to a dnaSeq. */
void dnaSeqFree(struct dnaSeq **pSeq);
/* Free dnaSeq and set pointer to NULL. */
void dnaSeqFreeList(struct dnaSeq **pList);
/* Free list of dnaSeq’s. */
struct screenObj
/* A two dimensional object in a sleazy video game. */
{
struct screenObj *next; /* Next in list. */
char *name; /* Object name. */
int x,y,width,height; /* Bounds of object. */
void (*draw)(struct screenObj *obj); /* Draw object */
boolean (*in)(struct screenObj *obj, int x, int y);
/* Return true if x,y is in object */
void *custom; /* Custom data for a particular type */
void (*freeCustom)(struct screenObj *obj);
/* Free custom data. */
};
#define screenObjDraw(obj) (obj->draw(obj))
/* Draw object. */
void screenObjFree(struct screenObj **pObj);
/* Free up screen object including custom part. */
Relational Databases• Relational databases consist of tables, indices, and
the Structured Query Language (SQL).• Tables are much like tab-separated files:
#chrom start end name strand score chr22 14600000 14612345 ldlr + 0.989 chr21 18283999 18298577 vldlr - 0.998
Fields are simple - no lists or substructures.• Can join tables based on a shared field. This is
flexible, but only as fast as the index.• Tables and joins are accessed a row at a time.• The row is represented as an array of strings.
Converting A Row to Object
struct exoFish *exoFishLoad(char **row)
/* Load a exoFish from row fetched with select * from exoFish
* from database. Dispose of this with exoFishFree(). */
{
struct exoFish *ret;
AllocVar(ret);
ret->chrom = cloneString(row[0]);
ret->chromStart = sqlUnsigned(row[1]);
ret->chromEnd = sqlUnsigned(row[2]);
ret->name = cloneString(row[3]);
ret->score = sqlUnsigned(row[4]);
return ret;
}
Motivation for AutoSql• Row to object code is tedious at best.
• Also have save object, free object code to write.
• SQL create statement needs to match C structure.
• Lack of lists without doing a join can seriously impact performance and complicate schema.
AutoSql Data Declarationtable exoFish"An evolutionarily conserved region (ecore) with Tetroadon" ( string chrom; "Human chromosome or FPC contig" uint chromStart; "Start position in chromosome" uint chromEnd; "End position in chromosome" string name; "Ecore name in Genoscope database" uint score; "Score from 0 to 1000" )
See autoSql.doc for more details.
Unix Command Line• BLAT - RNA/DNA and DNA/DNA alignment.• featureBits - figure out number of bases covered by a
track or intersection of tracks, output track intersections.• htmlCheck - check html tables and other basic web
page stuff. Look at form variables.• dbSnoop - summarize a MySQL database.• autoSql - generate serialization C code for relational
databases/tab-separated files.• autoXml - generate XML parsers• xmlToSql/sqlToXml - convert between XML and
relational database representations• parasol - manage jobs on computer cluster