SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Using R for GO Terms Analysis

     Boyce Thompson Institute for Plant
                 Research
                Tower Road
       Ithaca, New York 14853-1801
                  U.S.A.

                  by
      Aureliano Bombarely Gomez
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Enrinchment Analysis: TopGO
         4.3. GO profiles: GOProfiles
         4.4. Gene Similarities: GOSim
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Enrinchment Analysis: TopGO
         4.3. GO profiles: GOProfiles
         4.4. Gene Similarities: GOSim
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
1. What are GO Terms ?


Gene ontologies:
    Structured controlled vocabularies
(ontologies) that describe gene products
in terms of their associated
   biological processes,
   cellular components and
   molecular functions
in a species-independent manner



   http://www.geneontology.org/GO.doc.shtml
1. What are GO Terms ?


Biological processes,
   Recognized series of events or molecular functions. A process is
a collection of molecular events with a defined beginning and end.

Cellular components,
  Describes locations, at the levels of subcellular structures and
macromolecular complexes.

Molecular functions
   Describes activities, such as catalytic or binding activities, that
occur at the molecular level.
1. What are GO Terms ?


Gene ontologies:
    Structured controlled vocabulariesbetween the terms
                              relationships
(ontologies) that describe gene products
in terms ofbe described in terms of a acyclic graph, where:
    GO can their associated
      each GO term is a node, and the
   biological processes, the terms are arcs between the nodes
      relationships between
   cellular components and
   molecular functions
in a species-independent manner
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Enrinchment Analysis: TopGO
         4.3. GO profiles: GOProfiles
         4.4. Gene Similarities: GOSim
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
2. What is R ?


 R is a language and environment for statistical
            computing and graphics. .
2. What is R ?


WEB:
   OFICIAL WEB: http://www.r-project.org/index.html
   QUICK-R:                 http://www.statmethods.net/index.html


BOOKS:
   Introductory Statistics with R (Statistics and Computing), P. Dalgaard
  [available as manual at R project web]

   The R Book, MJ. Crawley


R itself:                        help() and example()
2. What is R ?


INTEGRATED DEVELOPMENT ENVIRONMENT (IDE):
  R-Studio: http://rstudio.org/
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Enrinchment Analysis: TopGO
         4.3. GO profiles: GOProfiles
         4.4. Gene Similarities: GOSim
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
3. What is Bioconductor ?


  Bioconductor is an open source, open development
 software project to provide tools for the analysis and
comprehension of high-throughput genomic data. It is
  based primarily on the R programming language.
3. What is Bioconductor ?


WEB:
   OFICIAL WEB: http://www.bioconductor.org/


BOOKS:
   Bioinformatics and Computational Biology Solutions Using R and
Bioconductor, 2005, Gentleman R. et al. (Springer)
   R Programming for Bioinformatics, 2008, Gentleman R. (CRC Press)


MAILING LIST:
   http://www.bioconductor.org/help/mailing-list/
3. What is Bioconductor ?


Installation of Bioconductor:
3. What is Bioconductor ?


Use of Bioconductor:
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Similarities: GOSim
         4.3. GO profiles: GOProfiles
         4.4. Gene Enrinchment Analysis:TopGO
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
4. Bioconductor modules for GOterms


Bioconductor Packages for GO Terms:
4. Bioconductor modules for GOterms


Bioconductor Packages for GO Terms:

 GO.db         A set of annotation maps describing the entire Gene Ontology

 Gostats       Tools for manipulating GO and microarrays

 GOSim         functional similarities between GO terms and gene products

 GOProfiles    Statistical analysis of functional profiles

 TopGO         Enrichment analysis for Gene Ontology
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Enrinchment Analysis: TopGO
         4.3. GO profiles: GOProfiles
         4.4. Gene Similarities: GOSim
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
4.1 GO.db

             http://www.bioconductor.org/packages/2.9/data/annotation/html/GO.db.html




  1) GO terms stored in objects
      GOTERM,
      GOBPPARENTS, GOCCPARENTS, GOMFPARENTS
      GOBPANCESTOR, GOCCANCESTOR, GOMFANCESTOR
      GOBPCHILDREN, GOCCCHILDREN, GOMFCHILDREN
      GOBPOFFSPRING, GOCCOFFSPRING, GOMFOFFSPRING


More Information:
http://www.bioconductor.org/packages/2.6/bioc/vignettes/annotate/inst/doc/GOusage.pdf
4.1 GO.db




               GOBPANCESTOR       GOBPANCESTOR$"GO:0006720”




            GOBPPARENTS        GOBPPARENTS$"GO:0006720”

            GOTERM     GOTERM$"GO:0006720”

            GOBPCHILDREN       GOBPCHILDREN$"GO:0006720”

               GOBPOFFSPRING      GOBPOFFSPRING$"GO:0006720”
4.1 GO.db


Exercise 1:

   1.1 Which term correspond top the GOID: GO:0006720 ?

   1.2 How many synonyms has this term ?

   1.3 How many children ?

   1.4 … and parents ?

   1.5 … and offsprings ?

   1.6 … and ancestors ?
4.1 GO.db

2) Mapping between gene and GO terms stored in objects or
dataframes.




org.At.tair.db
Genome wide annotation for Arabidopsis, primarily based on mapping
using TAIR identifiers.
4.1 GO.db

2) Mapping between gene and GO terms stored in objects
(annotate package) or dataframes.

     > library("org.At.tair.db")
     > org.At.tairGO[["AT5G58560"]]

Use a list:

     > org.At.tairGO[["AT5G58560"]][[1]]$Ontology

Functions (“annotate” package):
    + getOntology(inlist, gocategorylist)
    + getEvidence(inlist)
     > getOntology(org.At.tairGO[["AT5G58560"]])
     > getEvidence(org.At.tairGO[["AT5G58560"]])
4.1 GO.db


Exercise 2:

   2.1 How many terms map with the gene: AT5G58560 ?

   2.2 What biological process terms map with this gene?

   2.3 What evidences are associated with these terms ?
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Enrinchment Analysis: TopGO
         4.3. GO profiles: GOProfiles
         4.4. Gene Similarities: GOSim
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
4.2 TopGO

Gene Set Enrinchment Analysis (GSEA)
     Computational method that determines whether an a priori
defined set of genes shows statistically significant, concordant
differences between two biological states (e.g. phenotypes).




                    Documentation:   http://www.broadinstitute.org/gsea/index.jsp
4.2 TopGO

    http://www.bioconductor.org/packages/release/bioc/html/topGO.html
4.2 TopGO

Methodology:
  1) Data preparation:
     a) Gene Universe.                                   OBJECT:
     b) GO Annotation.                                  topGOdata
     c) Criteria to select interesting genes.

  > sampleGOdata <- new("topGOdata",
     description = "Simple session",
     ontology = "BP",
     allGenes = geneList,                       Gene Universe

     geneSel = topDiffGenes,                    Selected Genes
     nodeSize = 10,
                                                Function to map data provided
     annot = annFUN.db,                         in the annotation data packages
     affyLib = “hgu95av2.db”)                   Data package
4.2 TopGO
> sampleGOdata
------------------------- topGOdata object -------------------------   OBJECT:
Description:                                                           topGOdata
  - Simple session
Ontology:
  - BP
323 available genes (all genes from the array):
  - symbol: 1095_s_at 1130_at 1196_at 1329_s_at 1340_s_at ...
  - score : 1 1 0.62238 0.541224 1 ...
  - 50 significant genes.
316 feasible genes (genes that can be used in the analysis):
  - symbol: 1095_s_at 1130_at 1196_at 1329_s_at 1340_s_at ...
  - score : 1 1 0.62238 0.541224 1 ...
  - 50 significant genes.
GO graph (nodes with at least 10 genes):
  - a graph with directed edges
  - number of nodes = 672
  - number of edges = 1358
------------------------- topGOdata object -------------------------
4.2 TopGO

Methodology:
  2) Running the enrinchment test: (runTest function)

    > resultFisher <- runTest(sampleGOdata,
                      algorithm = "classic",      whichAlgorithms()
                      statistic = "fisher")       whichTest()
    > resultFisher                                 "fisher"
                                                   "ks"
    Description: Simple session                     "t"
    Ontology: BP                                    "globaltest"
    'classic' algorithm with the 'fisher' test     "sum"
    672 GO terms scored: 66 terms with p < 0.01    "ks.ties"
    Annotation data:
       Annotated genes: 316
       Significant genes: 50
       Min. no. of genes annotated to a GO: 10
       Nontrivial nodes: 607
4.2 TopGO

Methodology:
  2) Running the enrinchment test:

    > resultKS <- runTest(sampleGOdata,
                     algorithm = "classic",       whichAlgorithms()
                     statistic = "ks")            whichTest()
    > resultKS                                    "fisher"
                                                  "ks"
    Description: Simple session                    "t"
    Ontology: BP                                   "globaltest"
    'classic' algorithm with the 'ks' test        "sum"
    672 GO terms scored: 57 terms with p < 0.01   "ks.ties"
    Annotation data:
       Annotated genes: 316
       Significant genes: 50
       Min. no. of genes annotated to a GO: 10
       Nontrivial nodes: 672
4.2 TopGO

Methodology:
   3) Analysis of the results: (GenTable function)

  > allRes <- GenTable(sampleGOdata,
                       classicFisher = resultFisher,
                       classicKS = resultKS,
                       orderBy = "classicKS",
                       ranksOf = "classicFisher",
                       topNodes = 10)

 > allRes
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Enrinchment Analysis: TopGO
         4.3. GO profiles: GOProfiles
         4.4. Gene Similarities: GOSim
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
4.3 goProfiles

             http://www.bioconductor.org/packages/2.8/bioc/html/goProfiles.html




1) Profiles are built by slicing the GO graph at a given level

                                                                   Level 1
                                                                   Level 2

                                                                   Level 3


                                                                   Level 4
4.3 goProfiles
2) Functional profile at a given GO level is obtained by counting the
number of identifiers having a hit in each category of this level




3) Profiles comparissons:
    1. How different or representative of a given gene universe is a given set of genes?
        • Universe: All genes analyzed,
          Gene Set: Differentially expressed genes in a microarray experiment
        • Universe: All genes in a database,
          Gene Set: Arbitrarily selected set of genes

    2. How biologically different are two given sets of genes?
        • Differentially expressed genes in two experiments
        • Arbitrarily chosen lists of genes
4.3 goProfiles
Methodology:
   1) Data preparation:
       a) Gene GO term map (object or dataframe).
           Dataframe with 4 columns:
               + GeneID
               + Ontology
               + Evidence
               + GOID


   2) Profile creation:
       a) basicProfile function

          BasicProfile( genelist,                   “Entrez” (default),
                        idType = "Entrez",          “BiocProbes”,
                        onto = "ANY",               “GoTermsFrame”
                        Level = 2,
                        orgPackage=NULL,            Requested for “Entrez”
                        anotPackage=NULL,           Requested for
                        ...)                        “BiocProbes”
4.3 goProfiles
Methodology:
   2) Profile creation:
       a) basicProfile function

        > printProfiles(bpprofile)

        Functional Profile
        ==================
        [1] "BP ontology"
                      Description         GOID          Frequency
        25 cellular component biogen...   GO:0044085    5
        14 cellular component organi...   GO:0016043    6
        12          cellular process      GO:0009987   122
        32 establishment of localiza...   GO:0051234    4
        4     immune system process...    GO:0002376    1
        31            localization        GO:0051179    4
        2         metabolic process       GO:0008152    3
        33 multi-organism process...      GO:0051704    2
        30       response to stimulus     GO:0050896    4
4.3 goProfiles
Methodology:
   2) Profile creation:
       a) basicProfile function

        > plotProfiles(bpprofile)
4.3 goProfiles
Methodology:
   2) Profile creation:
       b) expandedProfile function
            Used mainly for comparisons of profiles.

             ExpandedProfile( genelist,
                        idType = "Entrez",
                        onto = "ANY",
                        Level = 2,
                        orgPackage=NULL,
                        anotPackage=NULL
                        ...)

    3) Profile comparisons:

        - Case I (INCLUSION): One list incluided in the other.

        - Case || (DISJOINT): Non overlapping gene sets

        - Case III (INTERSECTION): Overlapping genes
4.3 goProfiles
Methodology:
   3) Profile comparisons:

       - Case I (INCLUSION):             compareProfilesLists()

       - Case || (DISJOINT):             compareGeneLists()

       - Case III (INTERSECTION):        compareGeneLists()


         > comp_ath_genes <- compareGeneLists(
               genelist1=ath_chl_list,
               genelist2=ath_mit_list,
               idType="Entrez", orgPackage="org.At.tair.db",
               onto="BP", level=2)

         > print(compSummary(comp_ath_genes))

            Sqr.Euc.Dist StdErr   pValue      0.95CI.low   0.95CI.up
            0.031401     0.024101 0.005000    -0.015837    0.078639
4.3 goProfiles
Methodology:
   3) Profile comparisons:

         > basic_mitprof <- basicProfile(ath_mit_list, idType="Entrez",
                 onto="BP", level=2, orgPackage="org.At.tair.db",
                 empty.cats=TRUE)

        > basic_chloprof <- basicProfile(ath_chl_list, idType="Entrez",
                 onto="BP", level=2, orgPackage="org.At.tair.db",
                 empty.cats=TRUE)

        > merged_prof <- mergeProfilesLists(basic_chloprof, basic_mitprof,
                profNames=c("Chloroplast", "Mitochondria"))

        > plotProfiles(merged_prof, percentage=TRUE, legend=TRUE)
4.3 goProfiles
Methodology:
   3) Profile comparisons:
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Enrinchment Analysis: TopGO
         4.3. GO profiles: GOProfiles
         4.4. Gene Similarities: GOSim
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
4.4 GOSim
Using R for GO Terms Analysis:
   1. What are GO terms ?
   2. What is R ?
   3. What is Bioconductor ?
   4. Bioconductor modules for GO terms
         4.1. Basics: GO.db
         4.2. Gene Enrinchment Analysis: TopGO
         4.3. GO profiles: GOProfiles
         4.4. Gene Similarities: GOSim
    5. Example.
         5.1. Comparing two arabidopsis chromosomes.
5 Example


Exercise 3:

   Compare the goProfiles for A. thaliana chromosomes 1 and 5.

   Are they significantly differents ?

   Source:
       ftp://ftp.arabidopsis.org/home/tair/Genes/

       TAIR10_genome_release/TAIR10_gene_lists/TAIR10_all_gene_models



   R Package:
       GoProfiles

Mais conteúdo relacionado

Mais procurados

Whole genome sequencing of bacteria & analysis
Whole genome sequencing of bacteria & analysisWhole genome sequencing of bacteria & analysis
Whole genome sequencing of bacteria & analysis
drelamuruganvet
 
Kegg database resources
Kegg database resources Kegg database resources
Kegg database resources
innocent87
 

Mais procurados (20)

Introduction to Galaxy (UEB-UAT Bioinformatics Course - Session 2.2 - VHIR, B...
Introduction to Galaxy (UEB-UAT Bioinformatics Course - Session 2.2 - VHIR, B...Introduction to Galaxy (UEB-UAT Bioinformatics Course - Session 2.2 - VHIR, B...
Introduction to Galaxy (UEB-UAT Bioinformatics Course - Session 2.2 - VHIR, B...
 
Next generation sequencing technologies for crop improvement
Next generation sequencing technologies for crop improvementNext generation sequencing technologies for crop improvement
Next generation sequencing technologies for crop improvement
 
Bioinformatics
BioinformaticsBioinformatics
Bioinformatics
 
Genome sequencing
Genome sequencingGenome sequencing
Genome sequencing
 
Genomic Data Analysis
Genomic Data AnalysisGenomic Data Analysis
Genomic Data Analysis
 
Forward and reverse genetics
Forward and reverse geneticsForward and reverse genetics
Forward and reverse genetics
 
Genomics and its application in crop improvement
Genomics and its application in crop improvementGenomics and its application in crop improvement
Genomics and its application in crop improvement
 
Comparative Genomics and Visualisation BS32010
Comparative Genomics and Visualisation BS32010Comparative Genomics and Visualisation BS32010
Comparative Genomics and Visualisation BS32010
 
Rnaseq basics ngs_application1
Rnaseq basics ngs_application1Rnaseq basics ngs_application1
Rnaseq basics ngs_application1
 
Third Generation Sequencing
Third Generation Sequencing Third Generation Sequencing
Third Generation Sequencing
 
Whole genome sequencing of bacteria & analysis
Whole genome sequencing of bacteria & analysisWhole genome sequencing of bacteria & analysis
Whole genome sequencing of bacteria & analysis
 
Dot matrix
Dot matrixDot matrix
Dot matrix
 
Overview of Genome Assembly Algorithms
Overview of Genome Assembly AlgorithmsOverview of Genome Assembly Algorithms
Overview of Genome Assembly Algorithms
 
Basics of Genome Assembly
Basics of Genome Assembly Basics of Genome Assembly
Basics of Genome Assembly
 
The UCSC genome browser: A Neuroscience focused overview
The UCSC genome browser: A Neuroscience focused overviewThe UCSC genome browser: A Neuroscience focused overview
The UCSC genome browser: A Neuroscience focused overview
 
Kegg database resources
Kegg database resources Kegg database resources
Kegg database resources
 
Single Nucleotide Polymorphism Analysis (SNPs)
Single Nucleotide Polymorphism Analysis (SNPs)Single Nucleotide Polymorphism Analysis (SNPs)
Single Nucleotide Polymorphism Analysis (SNPs)
 
Introduction to Next-Generation Sequencing (NGS) Technology
Introduction to Next-Generation Sequencing (NGS) TechnologyIntroduction to Next-Generation Sequencing (NGS) Technology
Introduction to Next-Generation Sequencing (NGS) Technology
 
Microarray Analysis
Microarray AnalysisMicroarray Analysis
Microarray Analysis
 
Genotyping in Breeding programs
Genotyping in Breeding programsGenotyping in Breeding programs
Genotyping in Breeding programs
 

Semelhante a GoTermsAnalysisWithR

Bioinfomatics Presentation
Bioinfomatics PresentationBioinfomatics Presentation
Bioinfomatics Presentation
Zhenhong Bao
 
Cool Informatics Tools and Services for Biomedical Research
Cool Informatics Tools and Services for Biomedical ResearchCool Informatics Tools and Services for Biomedical Research
Cool Informatics Tools and Services for Biomedical Research
David Ruau
 

Semelhante a GoTermsAnalysisWithR (20)

Bio-protocol4446.GO_KEGG_RICE.pdf
Bio-protocol4446.GO_KEGG_RICE.pdfBio-protocol4446.GO_KEGG_RICE.pdf
Bio-protocol4446.GO_KEGG_RICE.pdf
 
Bioinfomatics Presentation
Bioinfomatics PresentationBioinfomatics Presentation
Bioinfomatics Presentation
 
Cool Informatics Tools and Services for Biomedical Research
Cool Informatics Tools and Services for Biomedical ResearchCool Informatics Tools and Services for Biomedical Research
Cool Informatics Tools and Services for Biomedical Research
 
Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...
Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...
Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...
 
ICAR2016 TAIR talk
ICAR2016 TAIR talkICAR2016 TAIR talk
ICAR2016 TAIR talk
 
Towards semantic systems chemical biology
Towards semantic systems chemical biology Towards semantic systems chemical biology
Towards semantic systems chemical biology
 
Functional annotation
Functional annotationFunctional annotation
Functional annotation
 
Neo4j_Cypher.pdf
Neo4j_Cypher.pdfNeo4j_Cypher.pdf
Neo4j_Cypher.pdf
 
Genome annotation with open source software: Apollo, Jbrowse and the GO in Ga...
Genome annotation with open source software: Apollo, Jbrowse and the GO in Ga...Genome annotation with open source software: Apollo, Jbrowse and the GO in Ga...
Genome annotation with open source software: Apollo, Jbrowse and the GO in Ga...
 
BITS: Overview of important biological databases beyond sequences
BITS: Overview of important biological databases beyond sequencesBITS: Overview of important biological databases beyond sequences
BITS: Overview of important biological databases beyond sequences
 
LODを用いたバイオインフォマティクスアプリケーション
LODを用いたバイオインフォマティクスアプリケーションLODを用いたバイオインフォマティクスアプリケーション
LODを用いたバイオインフォマティクスアプリケーション
 
Gene Ontology Network Enrichment Analysis
Gene Ontology Network Enrichment AnalysisGene Ontology Network Enrichment Analysis
Gene Ontology Network Enrichment Analysis
 
TAIR -Using biological ontologies to accelerate progress in plant biology res...
TAIR -Using biological ontologies to accelerate progress in plant biology res...TAIR -Using biological ontologies to accelerate progress in plant biology res...
TAIR -Using biological ontologies to accelerate progress in plant biology res...
 
GPU-accelerated Virtual Screening
GPU-accelerated Virtual ScreeningGPU-accelerated Virtual Screening
GPU-accelerated Virtual Screening
 
Intro to databases
Intro to databasesIntro to databases
Intro to databases
 
Chado introduction
Chado introductionChado introduction
Chado introduction
 
Neo4j and bioinformatics
Neo4j and bioinformaticsNeo4j and bioinformatics
Neo4j and bioinformatics
 
Gene Ontology Enrichment Network Analysis -Tutorial
Gene Ontology Enrichment Network Analysis -TutorialGene Ontology Enrichment Network Analysis -Tutorial
Gene Ontology Enrichment Network Analysis -Tutorial
 
GiTools
GiToolsGiTools
GiTools
 
Harvester I
Harvester IHarvester I
Harvester I
 

Mais de Aureliano Bombarely (10)

Lesson mitochondria bombarely_a20180927
Lesson mitochondria bombarely_a20180927Lesson mitochondria bombarely_a20180927
Lesson mitochondria bombarely_a20180927
 
Genome Assembly 2018
Genome Assembly 2018Genome Assembly 2018
Genome Assembly 2018
 
PlastidEvolution
PlastidEvolutionPlastidEvolution
PlastidEvolution
 
Genomic Data Analysis: From Reads to Variants
Genomic Data Analysis: From Reads to VariantsGenomic Data Analysis: From Reads to Variants
Genomic Data Analysis: From Reads to Variants
 
RNAseq Analysis
RNAseq AnalysisRNAseq Analysis
RNAseq Analysis
 
BasicLinux
BasicLinuxBasicLinux
BasicLinux
 
PerlTesting
PerlTestingPerlTesting
PerlTesting
 
PerlScripting
PerlScriptingPerlScripting
PerlScripting
 
Introduction2R
Introduction2RIntroduction2R
Introduction2R
 
BasicGraphsWithR
BasicGraphsWithRBasicGraphsWithR
BasicGraphsWithR
 

Último

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Último (20)

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 

GoTermsAnalysisWithR

  • 1. Using R for GO Terms Analysis Boyce Thompson Institute for Plant Research Tower Road Ithaca, New York 14853-1801 U.S.A. by Aureliano Bombarely Gomez
  • 2. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Enrinchment Analysis: TopGO 4.3. GO profiles: GOProfiles 4.4. Gene Similarities: GOSim 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 3. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Enrinchment Analysis: TopGO 4.3. GO profiles: GOProfiles 4.4. Gene Similarities: GOSim 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 4. 1. What are GO Terms ? Gene ontologies: Structured controlled vocabularies (ontologies) that describe gene products in terms of their associated biological processes, cellular components and molecular functions in a species-independent manner http://www.geneontology.org/GO.doc.shtml
  • 5. 1. What are GO Terms ? Biological processes, Recognized series of events or molecular functions. A process is a collection of molecular events with a defined beginning and end. Cellular components, Describes locations, at the levels of subcellular structures and macromolecular complexes. Molecular functions Describes activities, such as catalytic or binding activities, that occur at the molecular level.
  • 6. 1. What are GO Terms ? Gene ontologies: Structured controlled vocabulariesbetween the terms relationships (ontologies) that describe gene products in terms ofbe described in terms of a acyclic graph, where: GO can their associated each GO term is a node, and the biological processes, the terms are arcs between the nodes relationships between cellular components and molecular functions in a species-independent manner
  • 7. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Enrinchment Analysis: TopGO 4.3. GO profiles: GOProfiles 4.4. Gene Similarities: GOSim 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 8. 2. What is R ? R is a language and environment for statistical computing and graphics. .
  • 9. 2. What is R ? WEB: OFICIAL WEB: http://www.r-project.org/index.html QUICK-R: http://www.statmethods.net/index.html BOOKS: Introductory Statistics with R (Statistics and Computing), P. Dalgaard [available as manual at R project web] The R Book, MJ. Crawley R itself: help() and example()
  • 10. 2. What is R ? INTEGRATED DEVELOPMENT ENVIRONMENT (IDE): R-Studio: http://rstudio.org/
  • 11. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Enrinchment Analysis: TopGO 4.3. GO profiles: GOProfiles 4.4. Gene Similarities: GOSim 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 12. 3. What is Bioconductor ? Bioconductor is an open source, open development software project to provide tools for the analysis and comprehension of high-throughput genomic data. It is based primarily on the R programming language.
  • 13. 3. What is Bioconductor ? WEB: OFICIAL WEB: http://www.bioconductor.org/ BOOKS: Bioinformatics and Computational Biology Solutions Using R and Bioconductor, 2005, Gentleman R. et al. (Springer) R Programming for Bioinformatics, 2008, Gentleman R. (CRC Press) MAILING LIST: http://www.bioconductor.org/help/mailing-list/
  • 14. 3. What is Bioconductor ? Installation of Bioconductor:
  • 15. 3. What is Bioconductor ? Use of Bioconductor:
  • 16. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Similarities: GOSim 4.3. GO profiles: GOProfiles 4.4. Gene Enrinchment Analysis:TopGO 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 17. 4. Bioconductor modules for GOterms Bioconductor Packages for GO Terms:
  • 18. 4. Bioconductor modules for GOterms Bioconductor Packages for GO Terms: GO.db A set of annotation maps describing the entire Gene Ontology Gostats Tools for manipulating GO and microarrays GOSim functional similarities between GO terms and gene products GOProfiles Statistical analysis of functional profiles TopGO Enrichment analysis for Gene Ontology
  • 19. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Enrinchment Analysis: TopGO 4.3. GO profiles: GOProfiles 4.4. Gene Similarities: GOSim 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 20. 4.1 GO.db http://www.bioconductor.org/packages/2.9/data/annotation/html/GO.db.html 1) GO terms stored in objects GOTERM, GOBPPARENTS, GOCCPARENTS, GOMFPARENTS GOBPANCESTOR, GOCCANCESTOR, GOMFANCESTOR GOBPCHILDREN, GOCCCHILDREN, GOMFCHILDREN GOBPOFFSPRING, GOCCOFFSPRING, GOMFOFFSPRING More Information: http://www.bioconductor.org/packages/2.6/bioc/vignettes/annotate/inst/doc/GOusage.pdf
  • 21. 4.1 GO.db GOBPANCESTOR GOBPANCESTOR$"GO:0006720” GOBPPARENTS GOBPPARENTS$"GO:0006720” GOTERM GOTERM$"GO:0006720” GOBPCHILDREN GOBPCHILDREN$"GO:0006720” GOBPOFFSPRING GOBPOFFSPRING$"GO:0006720”
  • 22. 4.1 GO.db Exercise 1: 1.1 Which term correspond top the GOID: GO:0006720 ? 1.2 How many synonyms has this term ? 1.3 How many children ? 1.4 … and parents ? 1.5 … and offsprings ? 1.6 … and ancestors ?
  • 23. 4.1 GO.db 2) Mapping between gene and GO terms stored in objects or dataframes. org.At.tair.db Genome wide annotation for Arabidopsis, primarily based on mapping using TAIR identifiers.
  • 24. 4.1 GO.db 2) Mapping between gene and GO terms stored in objects (annotate package) or dataframes. > library("org.At.tair.db") > org.At.tairGO[["AT5G58560"]] Use a list: > org.At.tairGO[["AT5G58560"]][[1]]$Ontology Functions (“annotate” package): + getOntology(inlist, gocategorylist) + getEvidence(inlist) > getOntology(org.At.tairGO[["AT5G58560"]]) > getEvidence(org.At.tairGO[["AT5G58560"]])
  • 25. 4.1 GO.db Exercise 2: 2.1 How many terms map with the gene: AT5G58560 ? 2.2 What biological process terms map with this gene? 2.3 What evidences are associated with these terms ?
  • 26. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Enrinchment Analysis: TopGO 4.3. GO profiles: GOProfiles 4.4. Gene Similarities: GOSim 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 27. 4.2 TopGO Gene Set Enrinchment Analysis (GSEA) Computational method that determines whether an a priori defined set of genes shows statistically significant, concordant differences between two biological states (e.g. phenotypes). Documentation: http://www.broadinstitute.org/gsea/index.jsp
  • 28. 4.2 TopGO http://www.bioconductor.org/packages/release/bioc/html/topGO.html
  • 29. 4.2 TopGO Methodology: 1) Data preparation: a) Gene Universe. OBJECT: b) GO Annotation. topGOdata c) Criteria to select interesting genes. > sampleGOdata <- new("topGOdata", description = "Simple session", ontology = "BP", allGenes = geneList, Gene Universe geneSel = topDiffGenes, Selected Genes nodeSize = 10, Function to map data provided annot = annFUN.db, in the annotation data packages affyLib = “hgu95av2.db”) Data package
  • 30. 4.2 TopGO > sampleGOdata ------------------------- topGOdata object ------------------------- OBJECT: Description: topGOdata - Simple session Ontology: - BP 323 available genes (all genes from the array): - symbol: 1095_s_at 1130_at 1196_at 1329_s_at 1340_s_at ... - score : 1 1 0.62238 0.541224 1 ... - 50 significant genes. 316 feasible genes (genes that can be used in the analysis): - symbol: 1095_s_at 1130_at 1196_at 1329_s_at 1340_s_at ... - score : 1 1 0.62238 0.541224 1 ... - 50 significant genes. GO graph (nodes with at least 10 genes): - a graph with directed edges - number of nodes = 672 - number of edges = 1358 ------------------------- topGOdata object -------------------------
  • 31. 4.2 TopGO Methodology: 2) Running the enrinchment test: (runTest function) > resultFisher <- runTest(sampleGOdata, algorithm = "classic", whichAlgorithms() statistic = "fisher") whichTest() > resultFisher "fisher" "ks" Description: Simple session "t" Ontology: BP "globaltest" 'classic' algorithm with the 'fisher' test "sum" 672 GO terms scored: 66 terms with p < 0.01 "ks.ties" Annotation data: Annotated genes: 316 Significant genes: 50 Min. no. of genes annotated to a GO: 10 Nontrivial nodes: 607
  • 32. 4.2 TopGO Methodology: 2) Running the enrinchment test: > resultKS <- runTest(sampleGOdata, algorithm = "classic", whichAlgorithms() statistic = "ks") whichTest() > resultKS "fisher" "ks" Description: Simple session "t" Ontology: BP "globaltest" 'classic' algorithm with the 'ks' test "sum" 672 GO terms scored: 57 terms with p < 0.01 "ks.ties" Annotation data: Annotated genes: 316 Significant genes: 50 Min. no. of genes annotated to a GO: 10 Nontrivial nodes: 672
  • 33. 4.2 TopGO Methodology: 3) Analysis of the results: (GenTable function) > allRes <- GenTable(sampleGOdata, classicFisher = resultFisher, classicKS = resultKS, orderBy = "classicKS", ranksOf = "classicFisher", topNodes = 10) > allRes
  • 34. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Enrinchment Analysis: TopGO 4.3. GO profiles: GOProfiles 4.4. Gene Similarities: GOSim 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 35. 4.3 goProfiles http://www.bioconductor.org/packages/2.8/bioc/html/goProfiles.html 1) Profiles are built by slicing the GO graph at a given level Level 1 Level 2 Level 3 Level 4
  • 36. 4.3 goProfiles 2) Functional profile at a given GO level is obtained by counting the number of identifiers having a hit in each category of this level 3) Profiles comparissons: 1. How different or representative of a given gene universe is a given set of genes? • Universe: All genes analyzed, Gene Set: Differentially expressed genes in a microarray experiment • Universe: All genes in a database, Gene Set: Arbitrarily selected set of genes 2. How biologically different are two given sets of genes? • Differentially expressed genes in two experiments • Arbitrarily chosen lists of genes
  • 37. 4.3 goProfiles Methodology: 1) Data preparation: a) Gene GO term map (object or dataframe). Dataframe with 4 columns: + GeneID + Ontology + Evidence + GOID 2) Profile creation: a) basicProfile function BasicProfile( genelist, “Entrez” (default), idType = "Entrez", “BiocProbes”, onto = "ANY", “GoTermsFrame” Level = 2, orgPackage=NULL, Requested for “Entrez” anotPackage=NULL, Requested for ...) “BiocProbes”
  • 38. 4.3 goProfiles Methodology: 2) Profile creation: a) basicProfile function > printProfiles(bpprofile) Functional Profile ================== [1] "BP ontology" Description GOID Frequency 25 cellular component biogen... GO:0044085 5 14 cellular component organi... GO:0016043 6 12 cellular process GO:0009987 122 32 establishment of localiza... GO:0051234 4 4 immune system process... GO:0002376 1 31 localization GO:0051179 4 2 metabolic process GO:0008152 3 33 multi-organism process... GO:0051704 2 30 response to stimulus GO:0050896 4
  • 39. 4.3 goProfiles Methodology: 2) Profile creation: a) basicProfile function > plotProfiles(bpprofile)
  • 40. 4.3 goProfiles Methodology: 2) Profile creation: b) expandedProfile function Used mainly for comparisons of profiles. ExpandedProfile( genelist, idType = "Entrez", onto = "ANY", Level = 2, orgPackage=NULL, anotPackage=NULL ...) 3) Profile comparisons: - Case I (INCLUSION): One list incluided in the other. - Case || (DISJOINT): Non overlapping gene sets - Case III (INTERSECTION): Overlapping genes
  • 41. 4.3 goProfiles Methodology: 3) Profile comparisons: - Case I (INCLUSION): compareProfilesLists() - Case || (DISJOINT): compareGeneLists() - Case III (INTERSECTION): compareGeneLists() > comp_ath_genes <- compareGeneLists( genelist1=ath_chl_list, genelist2=ath_mit_list, idType="Entrez", orgPackage="org.At.tair.db", onto="BP", level=2) > print(compSummary(comp_ath_genes)) Sqr.Euc.Dist StdErr pValue 0.95CI.low 0.95CI.up 0.031401 0.024101 0.005000 -0.015837 0.078639
  • 42. 4.3 goProfiles Methodology: 3) Profile comparisons: > basic_mitprof <- basicProfile(ath_mit_list, idType="Entrez", onto="BP", level=2, orgPackage="org.At.tair.db", empty.cats=TRUE) > basic_chloprof <- basicProfile(ath_chl_list, idType="Entrez", onto="BP", level=2, orgPackage="org.At.tair.db", empty.cats=TRUE) > merged_prof <- mergeProfilesLists(basic_chloprof, basic_mitprof, profNames=c("Chloroplast", "Mitochondria")) > plotProfiles(merged_prof, percentage=TRUE, legend=TRUE)
  • 43. 4.3 goProfiles Methodology: 3) Profile comparisons:
  • 44. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Enrinchment Analysis: TopGO 4.3. GO profiles: GOProfiles 4.4. Gene Similarities: GOSim 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 46. Using R for GO Terms Analysis: 1. What are GO terms ? 2. What is R ? 3. What is Bioconductor ? 4. Bioconductor modules for GO terms 4.1. Basics: GO.db 4.2. Gene Enrinchment Analysis: TopGO 4.3. GO profiles: GOProfiles 4.4. Gene Similarities: GOSim 5. Example. 5.1. Comparing two arabidopsis chromosomes.
  • 47. 5 Example Exercise 3: Compare the goProfiles for A. thaliana chromosomes 1 and 5. Are they significantly differents ? Source: ftp://ftp.arabidopsis.org/home/tair/Genes/ TAIR10_genome_release/TAIR10_gene_lists/TAIR10_all_gene_models R Package: GoProfiles