Giter Site home page Giter Site logo

yulab-smu / meshes Goto Github PK

View Code? Open in Web Editor NEW
9.0 4.0 4.0 1.75 MB

:stethoscope: MeSH Enrichment and Semantic analyses

Home Page: https://yulab-smu.top/biomedical-knowledge-mining-book/

R 93.26% Makefile 6.74%
medical-subject-headings semantic-similarity enrichment-analysis

meshes's Introduction

meshes: MeSH Enrichment and Semantic analyses

Bioc codecov

Project Status: Active - The project has reached a stable, usable state and is being actively developed. platform Build Status Linux/Mac Travis Build Status AppVeyor Build Status

MeSH (Medical Subject Headings) is the NLM controlled vocabulary used to manually index articles for MEDLINE/PubMed. MeSH terms were associated by Entrez Gene ID by three methods, gendoo, gene2pubmed and RBBH. This association is fundamental for enrichment and semantic analyses. meshes supports enrichment analysis (over-representation and gene set enrichment analysis) of gene list or whole expression profile. The semantic comparisons of MeSH terms provide quantitative ways to compute similarities between genes and gene groups. meshes implemented five methods proposed by Resnik, Schlicker, Jiang, Lin and Wang respectively and supports more than 70 species.

For details, please visit https://yulab-smu.top/biomedical-knowledge-mining-book/.

✍️ Authors

Guangchuang YU https://yulab-smu.top

School of Basic Medical Sciences, Southern Medical University

Twitter saythanks

meshes's People

Contributors

guangchuangyu avatar hpages avatar huerqiang avatar jwokaty avatar nturaga avatar vobencha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

meshes's Issues

background gene set for enrichMesh isn't working

I was wondering what "universe" for enrichMesh function accepts as an input as it isn't specified in the documentation found on bioconductor.

library(meshes)
x <- enrichMeSH(my.geneID3[,3], MeSHDb = "MeSH.Hsa.eg.db", database='gene2pubmed', category = 'C',universe = univ.geneID3[,2])

here, univ.geneID3[,2] is a list of entrez gene ids but I get the error

Error in validObject(.Object) :
invalid class "enrichResult" object: invalid object for slot "universe" in class "enrichResult": got class "integer", should be or extend class "character"

thanks so much!

michelle

Error in enrichMeSH: trying to get slot "result" from an object of a basic class ("NULL") with no slots

Hello,

I am trying to run the code from the basic example from the documentation of the enrichMeSH function, but this results in an error:

library(meshes)
library(AnnotationHub)
ah <- AnnotationHub()
qr_hsa <- query(ah, c("MeSHDb", "Homo sapiens"))
filepath_hsa <- qr_hsa[[1]]
db <- MeSHDbi::MeSHDb(filepath_hsa)
data(geneList, package="DOSE")
de <- names(geneList)[1:100]
x <- enrichMeSH(de, MeSHDb = db, database='gendoo', category = 'C')
--> No gene can be mapped....
--> Expected input gene ID: 
--> return NULL...
Error in enrichMeSH(de, MeSHDb = db, database = "gendoo", category = "C") : 
  trying to get slot "result" from an object of a basic class ("NULL") with no slots

I am using version 1.20.0 of the meshes package in R version 4.1.2.

gseMeSH and gseaplot issues (latest Bioconductor release)

Dear Guangchuang Yu,
Thank you for writing nice and helpful packages.
Unfortunately, when I tried to use Bioconductor release version the following bugs appeared.
Best Regards,
Daniil Sarkisyan, Researcher at Uppsala University, Sweden

require(DOSE)
require(meshes)

## this call to enrichMeSH talks in red too much, but works
data(geneList)
gene <- names(geneList)[abs(geneList) > 1.5]
x <- enrichMeSH(gene, MeSHDb = "MeSH.Hsa.eg.db", database='gendoo', category = 'C')
# Loading required package: MeSH.Hsa.eg.db
# Loading required package: MeSHDbi
# Loading required package: BiocGenerics
# Loading required package: parallel
# 
# Attaching package: ‘BiocGenerics’
# 
# The following objects are masked from ‘package:parallel’:
#   
#   clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport,
# clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply,
# parSapply, parSapplyLB
# 
# The following objects are masked from ‘package:stats’:
#   
#   IQR, mad, xtabs
# 
# The following objects are masked from ‘package:base’:
#   
#   anyDuplicated, append, as.data.frame, cbind, colnames, do.call, duplicated,
# eval, evalq, Filter, Find, get, grep, grepl, intersect, is.unsorted, lapply,
# lengths, Map, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
# pmin.int, Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort,
# table, tapply, union, unique, unsplit, which, which.max, which.min
# 
# 
# Attaching package: ‘MeSHDbi’
# 
# The following object is masked from ‘package:utils’:
#   
#   packageName

## this call to enrichMeSH breaks down complaining
y <- gseMeSH(gene, MeSHDb = "MeSH.Hsa.eg.db", database = 'gene2pubmed', category = "G")
# Error in GSEA_internal(geneList = geneList, exponent = exponent, nPerm = nPerm,  : 
#                          geneList should be a decreasing sorted vector...
                       
## when the complaint is resolved, it still breaks down with another error
geneS <- sort(gene, decreasing = TRUE)
y <- gseMeSH(geneS, MeSHDb = "MeSH.Hsa.eg.db", database = 'gene2pubmed', category = "G")
# preparing geneSet collections...
# GSEA analysis...
# Error in abs(stats) : non-numeric argument to mathematical function

## this function also does not work
## x[1,1] is the set "D000782"
gseaplot(gseaResult= x, geneSetID= x[1,1])
# Error: Aesthetics must be either length 1 or the same as the data (5): ymin, ymax, x

sessionInfo()
# R version 3.3.2 (2016-10-31)
# Platform: x86_64-pc-linux-gnu (64-bit)
# Running under: Ubuntu 16.04.1 LTS
# 
# locale:
# [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8       
# [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
# [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
# [10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
# 
# attached base packages:
# [1] parallel  stats     graphics  grDevices utils     datasets  methods   base     
# 
# other attached packages:
# [1] MeSH.Hsa.eg.db_1.7.0 MeSHDbi_1.10.0       BiocGenerics_0.20.0  meshes_1.0.0        
# [5] DOSE_3.0.10         
# 
# loaded via a namespace (and not attached):
# [1] Rcpp_0.12.9          plyr_1.8.4           tools_3.3.2          digest_0.6.12       
# [5] RSQLite_1.1-2        memoise_1.0.0        tibble_1.2           gtable_0.2.0        
# [9] fastmatch_1.1-0      igraph_1.0.1         DBI_0.5-1            fgsea_1.0.2         
# [13] gridExtra_2.2.1      stringr_1.1.0        S4Vectors_0.12.1     IRanges_2.8.1       
# [17] stats4_3.3.2         grid_3.3.2           qvalue_2.6.0         data.table_1.10.4   
# [21] Biobase_2.34.0       AnnotationDbi_1.36.2 BiocParallel_1.8.1   GOSemSim_2.0.4      
# [25] GO.db_3.4.0          ggplot2_2.2.1        DO.db_2.9            reshape2_1.4.2      
# [29] magrittr_1.5         MeSH.db_1.7.0        scales_0.4.1         splines_3.3.2       
# [33] assertthat_0.1       colorspace_1.3-2     stringi_1.1.2        lazyeval_0.2.0      
# [37] munsell_0.4.3  

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.