Call Girls ITPL Just Call 7001305949 Top Class Call Girl Service Available
Systems Immunology -- 2014
1. Yannick Pouliot, PhD
Biocomputational scientist
Khatri Laboratory
04/09/2014
Databases, Web Services and
Tools For Systems Immunology
Databases for Systems
Immunology
2. GOALS
Convey understanding of:
1. a set of databases highly relevant to
Systems Immunology
2. the issues and pitfalls associated with
each DB
3. Systems Immunology, and particularly
the application of meta-analysis, can
reveal testable hypotheses.
But for that to happen, you need lots
of (diverse) …
DATA
4. Historically, data were typically
available in flat file formats only
Relational databases now used
increasingly
5. Huge Numbers of Databases
• See Nucleic Acids Research’ yearly database issue
to see just how many there are…
• Many need to be licensed ($)
▫ Ingenuity Pathways Analysis (IPA)
Excellent but pricey
▫ MetaCore
competitor to IPA
available from Lane Library
• Many more freely available
▫ E.g., DAVID: similar to IPA and MetaCore
▫ Typically dirtier than commercial products, but
sometimes much more comprehensive
6. But first: “Free” does not necessarily
mean “easy to use”
(yet another application of the “there
ain’t no free lunch” principle)
7. Typical Problems with Third Party Data 1: Data
Cleanup
• Third party data almost always requires preprocessing
▫ reshaping input data for reading by R or database upload
▫ substituting offending strings
single quotes
ending spaces
converting spaces to nulls
▫ normalizing equivalent strings (“Saline” = “saline”)
▫ semantic normalization
encoding source terms against controlled nomenclature
computing against same concept
enables cross-database queries
▫ reconciling descriptions of data to that in source papers
is this thing here what they are talking about in the paper?
missing data
extraneous data
▫ poorly described protocols
which *!&!! antibody did the authors actually use?
software version, parameters used
8. Typical Problems with Third Party Data 2: Must be
Downloadable
To be useful in Systems Immunology, a database needs to offer
one of the following:
1. downloadable (FTP/SFTP) in text or other form
2. accessible programmatically over the Internet (e.g., Web
service)
Otherwise, must write a scraping program
assuming this is acceptable use
Manual Web interfaces don’t cut it…
Familiarity with databasing and programming skills essential
10. A Small Sample of DBs Useful in Systems Immunology
• NCBI:
▫ GEO: Gene expression
▫ PubChem: Drug an compound activity data
• DrugBank: Comprehensive info on drugs and their targets
• BioGPS, Expression Atlas: Compendia of gene expression across tissues
• Connectivity Map (CMAP): systematic survey of effects of compounds on
cells
• Comparative Toxicogenomics Database (CTD): effects of compounds on
genes; correlation of compounds with diseases
• Unified Medical Language System (UMLS): concept identification, DB
cross-querying
• ImmPort: Only multi-assay type immunological DB
• Stanford Data Miner (SDM): Human Immune Monitoring Core’s database
• The Cancer Genome Atlas (TCGA): Incredibly wide and deep repository of
human cancer data
12. GEO
• Vast repository of everything expression
▫ microarray gene expression as well as e.g., RNA-
Seq
▫ lots of disease and drug treatment data in
humans
• Semi-structured data
▫ limits searchability of GEO search engine
▫ minimal standards applied by GEO
manual curation required
13. GEO: Example
Goal: Identifying transcripts unique to individual leukocyte cell
types
Process:
1. Curate GEO gene expression datasets for immune cells; store in
MySQL
2. Classify cell types according to Cell Ontology
3. Compute z-score of expression for all genes in each cell type
Tools: RMySQL + shiny + ggplot
15. PubChem
• Three components:
▫ Compounds
▫ Substances
▫ BioAssay this is where the action is
• PubChem BioAssay is a repository of bioactivity for
compounds
▫ Very wide range of assays:
high throughput screening
in vivo assays
cell-free assays
• Complex data model (XML)
▫ can be converted to relational, though…
16. PubChem BioAssay: Example
Approach: Create a model that correlates
bioactivity profiles in screening assays with
pattern of drug adversity
Enables prediction of adversity based on how
a compound behaves in selected screens
17. DrugBank
• Comprehensive collection of detailed drug data
▫ chemical
▫ pharmacological
▫ pharmaceutical
▫ target
• Contents
▫ 7,680 drug entries
1,552 FDA-approved small molecule drugs
55 FDA-approved biotech (antibodies/protein/peptide) drugs
6,000 experimental drugs
• But …
18. Even When Data Are Available For Download, Converting Into Desired
Format Can Be Challenging…
Converting to relational or TSV formats doable but not trivial
Operating directly on XML not recommended…
19. DrugBank: Example
SELECT distinct
c.`NAME` as drug_name,
case
when ( not(d.GENE_NAME = null) and (e.symbol = null)) then d.GENE_NAME
when ( d.GENE_NAME = '') and (not(e.symbol = null)) then e.symbol
else e.symbol
end as Symbol,
e.GeneID,
c.`DRUGBANK_ID` as drugbank_id,
c.`rxcui`,
c.CAS_NUMBER as cas_number,
d.`NAME` as gene_name
FROM
`target` a
join (`targets` b, drug c, partner d)
on (
a.`TARGETS_FKEY` = b.`TARGETS_PKEY`
and b.`DRUG_FKEY` = c.`DRUG_PKEY`
and a.`PARTNER` = d.`PARTNER_PKEY`
)
left join
annot_gene.`gene_info_hs` e
on
d.`NAME` = e.`name`
order by
drug_name,
Symbol;
• Retrieve known targets of drugs
• Find as many gene symbols as
possible for targets
20. Connectivity Map
• Contents: collection of microarray gene expression
datasets from panels of cell types treated with
multiple compounds at multiple doses
• Used to find drugs where the expression profiles
match that of a user’s query gene signature
▫ The system computes a similarity metric to quantify
the connection between that gene signature and
reference profiles
• Cells are all tumor cells from NCI-60 set
21. Connectivity Map: Example 1
select
`a`.`instance_id` AS `instance_id`,
`a`.`probe_name` AS `probe_name`,
`b`.`direction` AS `direction`,
`b`.`msigdb_id` AS `msigdb_id`,
`a`.`rank` AS `rank`,
`c`.`cmap_name` AS `cmap_name`,
`c`.`cell` AS `cell_type`,
`c`.`catalog_name`,
`c`.`catalog_number`,
`c`.`cas_number`,
`c`.`rxcui`,
`c`.`batch_id`,
`c`.`perturbation_scan_id`
from
((`v_instance2probe1` `a`
join `gene_sets` `b`)
join `instances` `c`)
where
((`a`.`probe_id` = `b`.`probe_id`)
and (`a`.`instance_id` = `c`.`instance_id`))
1. Assemble gene expression data and metadata
stored in multiple files into a cohesive DB
schema
2. Retrieve results into an integrated view
22. Connectivity Map: Example 2
Goal: Find drugs that increase gene expression in the reverse
direction to what is observed in Inflammatory Bowel Disease
(IBD) vs. normal tissues should decrease symptoms
Method:
1. Characterize the effect of drugs on human gene transcript
levels
2. Characterize the difference in human gene transcript levels
between disease and normal tissue pairs
3. Find drugs that induce the reciprocal signature observed in
disease
link using rxcui
GEO CM
23. Data Sources
Disease data: GEO
• Assemble MySQL database of 176 gene expression microarray datasets
from GEO
▫ diseased vs. normal tissue pairs
▫ 100 specific diseases manually reviewed and encoded using UMLS identifiers
▫ drug names encoded against UMLS RXCUI
Drug data : Connectivity Map
Gene expression microarray profiles of effects of 164 drugs in:
▫ breast cancer: MCF7 epithelial cell line
▫ prostate cancer: PC3 epithelial cell line
▫ leukemia: HL60
▫ melanoma: SKMEL5
▫ drug names encoded against UMLS RXCUI
24. Comparative Toxicogenomics Database
• Based on curation of literature of interactions
between
▫ compounds and diseases
▫ compounds and genes
▫ genes and diseases
27. Unified Medical Language System (UMLS)
… and why you need it
• Provided by the National Library of Medicine
• Inter-relates many controlled nomenclatures
• Assigns single concept identifiers
• enables collapsing of variant expressions into
one concept
• Particularly useful when dealing with drug or
compound names (RXCUI)
• Use it from NCI Metathesaurus
or create a MySQL DB
28. UMLS: Example 1
• Developed by National Library of Medicine
data files and software that brings together multiple
biomedical vocabularies and ontologies to enable
semantic interoperability
▫ repository of terms, definitions and concepts in
biomedicine, complete with cross-referencing
and ontological relationships
• Essential but complex and large
• Requires free license
▫ or use it from NCI Metathesaurus
29. UMLS: Example 2
“ I don’t like these drug names…”
SELECT distinct
a.drug_name,
c.STR as shorter_drug_name,
length(c.STR) as str_length
FROM
pharm_drugbank.`m_drug2gene` a,
kb_umls.`RXNCONSO` b,
kb_umls.`RXNCONSO` c
where
a.drug_name = b.`STR`
and b.RXCUI = c.RXCUI
and not(b.STR = c.STR)
and
length(c.`STR`)<length(b.`STR`)
and not(a.Symbol is null)
order by
a.drug_name,
length(c.STR) asc
First 10 rows…
32. • Very rich metadata
• Stores data for many
different types of assays
(unusual)
• Uniquely curated and
parsed
• Excellent database
schema
• well documented
on ImmPort site
• sample
33.
34. ImmPort: Example 2
SELECT distinct
a.`study_accession`,
i.`name` as fcs_file,
j.`panel`,
j.`number_of_markers`
FROM
kb_immport.`study` a,
kb_immport.`arm_or_cohort` b,
kb_immport.arm_2_subject c,
kb_immport.`subject` d,
kb_immport.`biosample` e,
kb_immport.`biosample_2_expsample` f,
kb_immport.`expsample` g,
kb_immport.`expsample_2_file_info` h,
kb_immport.`file_info` i,
kb_immport.fcs_annotation j
where
a.`study_accession` = b.`study_accession`
and b.`study_accession` = e.`study_accession`
and c.`subject_accession` = d.`subject_accession`
and d.`subject_accession` = e.`subject_accession`
and a.`workspace_id` = b.`workspace_id`
and b.`workspace_id` = e.`workspace_id`
and e.`workspace_id` = g.`workspace_id`
and g.`workspace_id` = i.`workspace_id`
and i.`workspace_id` = j.`workspace_id`
and e.`biosample_accession` = f.`biosample_accession`
and f.`experiment_accession` = g.`experiment_accession`
and g.`experiment_accession` = h.`experiment_accession`
and h.`experiment_accession` = j.`experiment_accession`
and f.`expsample_accession` = g.`expsample_accession`
and g.`expsample_accession` = h.`expsample_accession`
and h.`expsample_accession` = j.`expsample_accession`
and h.`file_info_id` = i.`file_info_id`
and i.file_info_id = j.`file_info_id`
and a.`official_title` regexp 'influenz'
and i.`name` regexp '.fcs'
and d.species = 'Homo sapiens'
order by
a.`study_accession`,
j.`panel`
Goal: Retrieve all flow cytometry
files (FCS) and marker panels
associated with studies involving
influenza
35. ImmPort: Example 3
Goal: Retrieve HAI results for
influenza vaccinees, measured at
day 0 and 28 post-vaccination
36. Putting it all together:
Meta-analysis of human
influenza vaccination data in
ImmPort data to evaluate
changes in immunological
marker frequencies from flow
cytometry data using
automatic gating
Maecker, H., McCoy, J.P. & Nussenblatt, R. Standardizing
immunophenotyping for the human immunology project. Nature reviews
Immunology 12, 191-200 (2012).
10 studies
370 subjects
~17K FCS files
Question: What changes in marker
frequencies are observed during
influenza immunization?
40. The Cancer Genomics Atlas (TCGA)
• Lots of cancers
• Clinical data
▫ Full pathology
▫ Imaging, radiology,
immunohistochemistry
• Genomics: lots!
▫ both tumor and control tissues
▫ genotyping
▫ exome sequencing
▫ miRNA sequencing
▫ RNA-Seq
41. In Conclusion…
• Huge number of public resources
▫ ultimately integratable
• Scientific power frequently lies in integrating data from
multiple databases
• Data clean-up typically needed
▫ mapping to ontologies or controlled nomenclatures
essential
• Domain-specific curation frequently required to
structure otherwise semi-structured data
▫ e.g., GEO
• All doable given today’s plethora of free/cheap tools
and compute power
44. Coming To Terms With MySQL
• Widest usage in bioinformatics
• Free (community edition)
• Runs on everything (Linux, Win, Mac)
• Easiest relational DB (short of MS Access)
• Resources
▫ Moes (2005): Beginning MySQL; Wiley
▫ DuBois (2007): MySQL Cookbook; O’Reilly
▫ Dyer (2008): MYSQL in a Nutshell; O’Reilly
45. Key R Packages
▫ RMySQL: accessing relational databases, e.g.,
MySQL
▫ ggplot2: hyper-powerful plotting
▫ RColorBrewer: assign colors to plot objects
automatically, such as plotted ggplot
▫ plyr and dplyr: easy manipulation of data frames
▫ sqldf: query data frames using SQL
another easy way to manipulate data frames
▫ shiny: Web-based user interface
if you want interactive R analysis
46. Finding Drug Candidates Using Rank-Ordered,
Drug-Disease Anti-Correlation Scores
1. Compute an anti-correlation
score for each drug-disease pair
2. Compute P-values of anti-
correlation scores (significance
testing) using distance between
observed score vs. scores of 100
randomly-generated comparisons
3. Retain correlation that have FDR
values better than 0.05