Esta aula é baseada no tutorial construido por Law et. al.; 2018. Disponível neste link
Os dados usados foram produzidos no estudo de Sheridan et al., 2015. Disponível aqui
O conjunto de dados inclui informação transcriptômica de 11 amostras de diferentes tipos celulares de camundongo, representando células basais, células progenitoras e células maduras. A análise foi feita usando a plataforma Illumina HiSeq 2000.
1- Instale os pacotes necessarios:
# Instalando pacote limma (Análise de dados de expressão)
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("limma")
# Instalando pacote Glimma (Visualização interativa de resultados gerados no limma)
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("Glimma")
#Instalando pacote edgeR (Ferramentas para análise de expressão diferencial de RNA)
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("edgeR")
#Instalando pacote Mus.musculus (Informação para anotação de regiões em camundongo)
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("Mus.musculus")
#Instalando pacote R.utils
install.packages("R.utils")
2- Rode os pacotes:
library(limma)
library(Glimma)
library(edgeR)
library(Mus.musculus)
## Loading required package: AnnotationDbi
## Loading required package: stats4
## 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 object is masked from 'package:limma':
##
## plotMA
## The following objects are masked from 'package:stats':
##
## IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
##
## anyDuplicated, append, as.data.frame, basename, cbind, colnames,
## dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,
## grepl, intersect, is.unsorted, lapply, 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
## Loading required package: Biobase
## Welcome to Bioconductor
##
## Vignettes contain introductory material; view with
## 'browseVignettes()'. To cite Bioconductor, see
## 'citation("Biobase")', and for packages 'citation("pkgname")'.
## Loading required package: IRanges
## Loading required package: S4Vectors
##
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:base':
##
## expand.grid
## Loading required package: OrganismDbi
## Loading required package: GenomicFeatures
## Loading required package: GenomeInfoDb
## Loading required package: GenomicRanges
## Loading required package: GO.db
##
## Loading required package: org.Mm.eg.db
##
## Loading required package: TxDb.Mmusculus.UCSC.mm10.knownGene
3- Baixe e extraia os arquivos da aula:
#Definir um objeto com o link do arquivo a ser baixado
url <- "https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE63310&format=file"
#Baixar o arquivo
utils::download.file(url, destfile="GSE63310_RAW.tar", mode="wb")
#Extrair os arquivos com dados de expressão
utils::untar("GSE63310_RAW.tar", exdir = ".")
#Identificar os arquivos extraídos
files <- c("GSM1545535_10_6_5_11.txt", "GSM1545536_9_6_5_11.txt",
"GSM1545538_purep53.txt", "GSM1545539_JMS8-2.txt",
"GSM1545540_JMS8-3.txt", "GSM1545541_JMS8-4.txt",
"GSM1545542_JMS8-5.txt", "GSM1545544_JMS9-P7c.txt",
"GSM1545545_JMS9-P8c.txt")
for(i in paste(files, ".gz", sep=""))
R.utils::gunzip(i, overwrite=TRUE)
#Construir uma lista com os arquivos extraídos
files <- c("GSM1545535_10_6_5_11.txt", "GSM1545536_9_6_5_11.txt",
"GSM1545538_purep53.txt", "GSM1545539_JMS8-2.txt",
"GSM1545540_JMS8-3.txt", "GSM1545541_JMS8-4.txt",
"GSM1545542_JMS8-5.txt", "GSM1545544_JMS9-P7c.txt",
"GSM1545545_JMS9-P8c.txt")
read.delim(files[1], nrow=5)
## EntrezID GeneLength Count
## 1 497097 3634 1
## 2 100503874 3259 0
## 3 100038431 1634 0
## 4 19888 9747 0
## 5 20671 3130 1
4- Concatene os arquivos das diferentes amostras em um objeto do pacote edgeR:
x <- readDGE(files, columns=c(1,3))
#Use as seguintes funções para ver especificações interessantes do arquivo concatenado
class(x)
## [1] "DGEList"
## attr(,"package")
## [1] "edgeR"
dim(x)
## [1] 27179 9
head(x)
## An object of class "DGEList"
## $samples
## files group lib.size norm.factors
## GSM1545535_10_6_5_11 GSM1545535_10_6_5_11.txt 1 32863052 1
## GSM1545536_9_6_5_11 GSM1545536_9_6_5_11.txt 1 35335491 1
## GSM1545538_purep53 GSM1545538_purep53.txt 1 57160817 1
## GSM1545539_JMS8-2 GSM1545539_JMS8-2.txt 1 51368625 1
## GSM1545540_JMS8-3 GSM1545540_JMS8-3.txt 1 75795034 1
## GSM1545541_JMS8-4 GSM1545541_JMS8-4.txt 1 60517657 1
## GSM1545542_JMS8-5 GSM1545542_JMS8-5.txt 1 55086324 1
## GSM1545544_JMS9-P7c GSM1545544_JMS9-P7c.txt 1 21311068 1
## GSM1545545_JMS9-P8c GSM1545545_JMS9-P8c.txt 1 19958838 1
##
## $counts
## Samples
## Tags GSM1545535_10_6_5_11 GSM1545536_9_6_5_11 GSM1545538_purep53
## 497097 1 2 342
## 100503874 0 0 5
## 100038431 0 0 0
## 19888 0 1 0
## 20671 1 1 76
## 27395 431 771 1368
## Samples
## Tags GSM1545539_JMS8-2 GSM1545540_JMS8-3 GSM1545541_JMS8-4
## 497097 526 3 3
## 100503874 6 0 0
## 100038431 0 0 0
## 19888 0 17 2
## 20671 40 33 14
## 27395 1268 1564 769
## Samples
## Tags GSM1545542_JMS8-5 GSM1545544_JMS9-P7c GSM1545545_JMS9-P8c
## 497097 535 2 0
## 100503874 5 0 0
## 100038431 1 0 0
## 19888 0 1 0
## 20671 98 18 8
## 27395 818 468 342
5- Estruture os nomes das amostras:
#Selecionar o componente "samples" do objeto "x"
x$samples
## files group lib.size norm.factors
## GSM1545535_10_6_5_11 GSM1545535_10_6_5_11.txt 1 32863052 1
## GSM1545536_9_6_5_11 GSM1545536_9_6_5_11.txt 1 35335491 1
## GSM1545538_purep53 GSM1545538_purep53.txt 1 57160817 1
## GSM1545539_JMS8-2 GSM1545539_JMS8-2.txt 1 51368625 1
## GSM1545540_JMS8-3 GSM1545540_JMS8-3.txt 1 75795034 1
## GSM1545541_JMS8-4 GSM1545541_JMS8-4.txt 1 60517657 1
## GSM1545542_JMS8-5 GSM1545542_JMS8-5.txt 1 55086324 1
## GSM1545544_JMS9-P7c GSM1545544_JMS9-P7c.txt 1 21311068 1
## GSM1545545_JMS9-P8c GSM1545545_JMS9-P8c.txt 1 19958838 1
#Recuperar uma lista com os nomes das amostras envolvidas no estudo. Devemos remover o código do estudo que usa os primeiros 12 dígitos de cada linha
samplenames <- substring(colnames(x), 12, nchar(colnames(x)))
samplenames
## [1] "10_6_5_11" "9_6_5_11" "purep53" "JMS8-2" "JMS8-3" "JMS8-4"
## [7] "JMS8-5" "JMS9-P7c" "JMS9-P8c"
6- Separe as amostras em grupos, para futuras comparacoes: obs: amostras de glandulas mamarias de ratos femea: basal, luminal progenitor (LP), mature luminal (LM).
#Substitutir os nomes das amostras originais pelos novos (excluindo o código do projeto)
colnames(x) <- samplenames
#Indicar as características de cada amostras, classificando em Basal, LP ou LM.
group <- as.factor(c("LP", "ML", "Basal", "Basal", "ML", "LP",
"Basal", "ML", "LP"))
x$samples$group <- group
#Verificar o último passo
x$samples
## files group lib.size norm.factors
## 10_6_5_11 GSM1545535_10_6_5_11.txt LP 32863052 1
## 9_6_5_11 GSM1545536_9_6_5_11.txt ML 35335491 1
## purep53 GSM1545538_purep53.txt Basal 57160817 1
## JMS8-2 GSM1545539_JMS8-2.txt Basal 51368625 1
## JMS8-3 GSM1545540_JMS8-3.txt ML 75795034 1
## JMS8-4 GSM1545541_JMS8-4.txt LP 60517657 1
## JMS8-5 GSM1545542_JMS8-5.txt Basal 55086324 1
## JMS9-P7c GSM1545544_JMS9-P7c.txt ML 21311068 1
## JMS9-P8c GSM1545545_JMS9-P8c.txt LP 19958838 1
7- Inclua fatores de batch: Considera as lanes em que as amostras foram colocadas
lane <- as.factor(rep(c("L004","L006","L008"), c(3,4,2)))
x$samples$lane <- lane
x$samples
## files group lib.size norm.factors lane
## 10_6_5_11 GSM1545535_10_6_5_11.txt LP 32863052 1 L004
## 9_6_5_11 GSM1545536_9_6_5_11.txt ML 35335491 1 L004
## purep53 GSM1545538_purep53.txt Basal 57160817 1 L004
## JMS8-2 GSM1545539_JMS8-2.txt Basal 51368625 1 L006
## JMS8-3 GSM1545540_JMS8-3.txt ML 75795034 1 L006
## JMS8-4 GSM1545541_JMS8-4.txt LP 60517657 1 L006
## JMS8-5 GSM1545542_JMS8-5.txt Basal 55086324 1 L006
## JMS9-P7c GSM1545544_JMS9-P7c.txt ML 21311068 1 L008
## JMS9-P8c GSM1545545_JMS9-P8c.txt LP 19958838 1 L008
8- Inclua o símbolo e o cromossomo dos genes analisados em Mus musculus:
#Criar objeto "geneid" (geneID) com os nomes das linhas da tabela x
geneid <- rownames(x)
#Criar objeto "genes" com informação dos genes de Mus musculus (camundongo)
genes <- select(Mus.musculus, keys=geneid, columns=c("SYMBOL", "TXCHROM"),
keytype="ENTREZID")
## 'select()' returned 1:many mapping between keys and columns
head(genes)
## ENTREZID SYMBOL TXCHROM
## 1 497097 Xkr4 chr1
## 2 100503874 Gm19938 <NA>
## 3 100038431 Gm10568 <NA>
## 4 19888 Rp1 chr1
## 5 20671 Sox17 chr1
## 6 27395 Mrpl15 chr1
9- Exclua genes duplicados (se houver):
#Em R, o símbolo "!" significa negação.
genes <- genes[!duplicated(genes$ENTREZID),]
#Criar coluna chamada "genes" com informação dos genes de camundongo
x$genes <- genes
#Verificar a adição da coluna "genes"
x
## An object of class "DGEList"
## $samples
## files group lib.size norm.factors lane
## 10_6_5_11 GSM1545535_10_6_5_11.txt LP 32863052 1 L004
## 9_6_5_11 GSM1545536_9_6_5_11.txt ML 35335491 1 L004
## purep53 GSM1545538_purep53.txt Basal 57160817 1 L004
## JMS8-2 GSM1545539_JMS8-2.txt Basal 51368625 1 L006
## JMS8-3 GSM1545540_JMS8-3.txt ML 75795034 1 L006
## JMS8-4 GSM1545541_JMS8-4.txt LP 60517657 1 L006
## JMS8-5 GSM1545542_JMS8-5.txt Basal 55086324 1 L006
## JMS9-P7c GSM1545544_JMS9-P7c.txt ML 21311068 1 L008
## JMS9-P8c GSM1545545_JMS9-P8c.txt LP 19958838 1 L008
##
## $counts
## Samples
## Tags 10_6_5_11 9_6_5_11 purep53 JMS8-2 JMS8-3 JMS8-4 JMS8-5 JMS9-P7c
## 497097 1 2 342 526 3 3 535 2
## 100503874 0 0 5 6 0 0 5 0
## 100038431 0 0 0 0 0 0 1 0
## 19888 0 1 0 0 17 2 0 1
## 20671 1 1 76 40 33 14 98 18
## Samples
## Tags JMS9-P8c
## 497097 0
## 100503874 0
## 100038431 0
## 19888 0
## 20671 8
## 27174 more rows ...
##
## $genes
## ENTREZID SYMBOL TXCHROM
## 1 497097 Xkr4 chr1
## 2 100503874 Gm19938 <NA>
## 3 100038431 Gm10568 <NA>
## 4 19888 Rp1 chr1
## 5 20671 Sox17 chr1
## 27174 more rows ...
10- Transformar o número de fragmentos contados (counts/reads):
Para que análises de expressão diferencial possam ser realizadas é importante que os valores crús de expressão gênica sejam transformados para que os resultados não sejam influenciados pela cobertura diferencial entre amostras.
Atualmente, os tipos de transformação mais utilizados são: counts per million (CPM), log2-counts per million (log-CPM) e fragments per kilobase of transcripts per million (FPKM). Obs: no caso do valor logado, uma correção é feita para que valores igual a zero não sejam logados
#Contagem por CPM
cpm <- cpm(x)
#Transformação a log-CPM
lcpm <- cpm(x, log=TRUE)
#Conferir a criação do objeto
head(cpm)
## Samples
## Tags 10_6_5_11 9_6_5_11 purep53 JMS8-2 JMS8-3
## 497097 0.03042931 0.05660032 5.98311952 10.2397134 0.03958043
## 100503874 0.00000000 0.00000000 0.08747251 0.1168028 0.00000000
## 100038431 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000
## 19888 0.00000000 0.02830016 0.00000000 0.0000000 0.22428910
## 20671 0.03042931 0.02830016 1.32958212 0.7786854 0.43538472
## 27395 13.11503265 21.81942229 23.93247808 24.6843282 20.63459725
## Samples
## Tags JMS8-4 JMS8-5 JMS9-P7c JMS9-P8c
## 497097 0.04957231 9.71202943 0.09384795 0.0000000
## 100503874 0.00000000 0.09076663 0.00000000 0.0000000
## 100038431 0.00000000 0.01815333 0.00000000 0.0000000
## 19888 0.03304821 0.00000000 0.04692397 0.0000000
## 20671 0.23133744 1.77902595 0.84463153 0.4008249
## 27395 12.70703524 14.84942070 21.96041982 17.1352661
head(lcpm)
## Samples
## Tags 10_6_5_11 9_6_5_11 purep53 JMS8-2 JMS8-3 JMS8-4
## 497097 -3.748623 -3.313765 2.5914607 3.362285 -3.581259 -3.418282
## 100503874 -4.507432 -4.507432 -2.9275280 -2.636931 -4.507432 -4.507432
## 100038431 -4.507432 -4.507432 -4.5074315 -4.507432 -4.507432 -4.507432
## 19888 -4.507432 -3.790514 -4.5074315 -4.507432 -1.898317 -3.698711
## 20671 -3.748623 -3.790514 0.4579085 -0.281645 -1.060843 -1.860900
## 27395 3.717978 4.450445 4.5835457 4.628091 4.370064 3.672539
## Samples
## Tags JMS8-5 JMS9-P7c JMS9-P8c
## 497097 3.2862891 -2.8591947 -4.507432
## 100503874 -2.8918170 -4.5074315 -4.507432
## 100038431 -4.0087883 -4.5074315 -4.507432
## 19888 -4.5074315 -3.4597175 -4.507432
## 20671 0.8663089 -0.1703963 -1.168797
## 27395 3.8965999 4.4597191 4.102594
11- Remova genes com baixa expressão:
#Revisar quantos genes tem expressão igual a zero
table(rowSums(x$counts==0)==9)
##
## FALSE TRUE
## 22026 5153
#Excluir linhas com baixa expressão
keep.exprs <- filterByExpr(x, group=group)
x <- x[keep.exprs,, keep.lib.sizes=FALSE]
dim(x)
## [1] 16624 9
12- Normalização dos valores:
A normalização dos dados é necessária para minimizar os potenciais efeitos de variação de batch. O método a seguir, leva em conta o tamanho de cada amostra para aplicar os fatores de normalização. Método: trimmed mean of M-values (TMM).
x <- calcNormFactors(x, method = "TMM")
#Conferir os valores já normalizados
x$samples$norm.factors
## [1] 0.8943956 1.0250186 1.0459005 1.0458455 1.0162707 0.9217132 0.9961959
## [8] 1.0861026 0.9839203
13- Prepare uma matriz de design e contrastes para as análises de expressão diferencial a partir de um modelo linear:
#Criar matriz de comparação
design <- model.matrix(~0+group+lane)
colnames(design) <- gsub("group", "", colnames(design))
#Verificar a matriz de comparação
design
## Basal LP ML laneL006 laneL008
## 1 0 1 0 0 0
## 2 0 0 1 0 0
## 3 1 0 0 0 0
## 4 1 0 0 1 0
## 5 0 0 1 1 0
## 6 0 1 0 1 0
## 7 1 0 0 1 0
## 8 0 0 1 0 1
## 9 0 1 0 0 1
## attr(,"assign")
## [1] 1 1 1 2 2
## attr(,"contrasts")
## attr(,"contrasts")$group
## [1] "contr.treatment"
##
## attr(,"contrasts")$lane
## [1] "contr.treatment"
#Aplicar função para fazer as comparações a partir dos grupos já definidos
contr.matrix <- makeContrasts(
BasalvsLP = Basal-LP,
BasalvsML = Basal - ML,
LPvsML = LP - ML,
levels = colnames(design))
#Verificar a matriz de contrastes
contr.matrix
## Contrasts
## Levels BasalvsLP BasalvsML LPvsML
## Basal 1 1 0
## LP -1 0 1
## ML 0 -1 -1
## laneL006 0 0 0
## laneL008 0 0 0
14- Use a função voom do pacote limma para preparaãço de análise diferencial:
#Usar a função para executar a análise diferenciar entre os grupos, gerando gráfico
v <- voom(x, design, plot=TRUE)
#Avaliar o conteúdo do objeto "v"
v
## An object of class "EList"
## $genes
## ENTREZID SYMBOL TXCHROM
## 1 497097 Xkr4 chr1
## 5 20671 Sox17 chr1
## 6 27395 Mrpl15 chr1
## 7 18777 Lypla1 chr1
## 9 21399 Tcea1 chr1
## 16619 more rows ...
##
## $targets
## files group lib.size norm.factors lane
## 10_6_5_11 GSM1545535_10_6_5_11.txt LP 29387429 0.8943956 L004
## 9_6_5_11 GSM1545536_9_6_5_11.txt ML 36212498 1.0250186 L004
## purep53 GSM1545538_purep53.txt Basal 59771061 1.0459005 L004
## JMS8-2 GSM1545539_JMS8-2.txt Basal 53711278 1.0458455 L006
## JMS8-3 GSM1545540_JMS8-3.txt ML 77015912 1.0162707 L006
## JMS8-4 GSM1545541_JMS8-4.txt LP 55769890 0.9217132 L006
## JMS8-5 GSM1545542_JMS8-5.txt Basal 54863512 0.9961959 L006
## JMS9-P7c GSM1545544_JMS9-P7c.txt ML 23139691 1.0861026 L008
## JMS9-P8c GSM1545545_JMS9-P8c.txt LP 19634459 0.9839203 L008
##
## $E
## Samples
## Tags 10_6_5_11 9_6_5_11 purep53 JMS8-2 JMS8-3 JMS8-4 JMS8-5
## 497097 -4.292165 -3.856488 2.5185849 3.2931366 -4.459730 -3.994060 3.2869677
## 20671 -4.292165 -4.593453 0.3560126 -0.4073032 -1.200995 -1.943434 0.8442767
## 27395 3.876089 4.413107 4.5170045 4.5617546 4.344401 3.786363 3.8990635
## 18777 4.708774 5.571872 5.3964008 5.1623650 5.649355 5.081611 5.0602470
## 21399 4.785541 4.754537 5.3703795 5.1220551 4.869586 4.943840 5.1384776
## Samples
## Tags JMS9-P7c JMS9-P8c
## 497097 -3.2103696 -5.295316
## 20671 -0.3228444 -1.207853
## 27395 4.3396075 4.124644
## 18777 5.7513694 5.142436
## 21399 5.0308985 4.979644
## 16619 more rows ...
##
## $weights
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 1.079413 1.332986 19.826915 20.273253 1.993686 1.395853 20.494977
## [2,] 1.170357 1.456380 4.804866 8.660025 3.612508 2.626870 8.760149
## [3,] 20.219073 25.573792 30.434759 28.528310 31.352260 25.743247 28.722497
## [4,] 26.947557 32.505933 33.583128 33.232125 34.231754 32.354158 33.334340
## [5,] 26.610864 28.501638 33.645479 33.206374 33.573492 31.996623 33.308490
## [,8] [,9]
## [1,] 1.107780 1.079413
## [2,] 3.211473 2.541942
## [3,] 21.200072 16.657930
## [4,] 30.348630 24.259801
## [5,] 25.171513 23.573305
## 16619 more rows ...
##
## $design
## Basal LP ML laneL006 laneL008
## 1 0 1 0 0 0
## 2 0 0 1 0 0
## 3 1 0 0 0 0
## 4 1 0 0 1 0
## 5 0 0 1 1 0
## 6 0 1 0 1 0
## 7 1 0 0 1 0
## 8 0 0 1 0 1
## 9 0 1 0 0 1
## attr(,"assign")
## [1] 1 1 1 2 2
## attr(,"contrasts")
## attr(,"contrasts")$group
## [1] "contr.treatment"
##
## attr(,"contrasts")$lane
## [1] "contr.treatment"
#Aplicação de modelo linear para calcular estatísticos usando a moderação empírica de Bayes
vfit <- lmFit(v, design)
vfit <- contrasts.fit(vfit, contrasts=contr.matrix)
efit <- eBayes(vfit)
#Visualizar genes diferencialmente expressos
summary(decideTests(efit))
## BasalvsLP BasalvsML LPvsML
## Down 4648 4927 3135
## NotSig 7113 7026 10972
## Up 4863 4671 2517
tfit <- treat(vfit, lfc=1)
dt <- decideTests(tfit)
summary(dt)
## BasalvsLP BasalvsML LPvsML
## Down 1632 1777 224
## NotSig 12976 12790 16210
## Up 2016 2057 190
#Salvar arquivo com todos os resultados da análise
write.fit(tfit, dt, file="results.txt")
#Selecionar comparações específicas
basal.vs.lp <- topTreat(tfit, coef=1, n=Inf)
basal.vs.ml <- topTreat(tfit, coef=2, n=Inf)
head(basal.vs.lp)
## ENTREZID SYMBOL TXCHROM logFC AveExpr t P.Value
## 12759 12759 Clu chr14 -5.455444 8.856581 -33.55508 1.723731e-10
## 53624 53624 Cldn7 chr11 -5.527356 6.295437 -31.97515 2.576972e-10
## 242505 242505 Rasef chr4 -5.935249 5.118259 -31.33407 3.081544e-10
## 67451 67451 Pkp2 chr16 -5.738665 4.419170 -29.85616 4.575686e-10
## 228543 228543 Rhov chr2 -6.264208 5.485314 -29.07484 5.782844e-10
## 70350 70350 Basp1 chr15 -6.084738 5.247023 -28.26649 7.267694e-10
## adj.P.Val
## 12759 1.707586e-06
## 53624 1.707586e-06
## 242505 1.707586e-06
## 67451 1.739242e-06
## 228543 1.739242e-06
## 70350 1.739242e-06
head(basal.vs.ml)
## ENTREZID SYMBOL TXCHROM logFC AveExpr t P.Value
## 242505 242505 Rasef chr4 -6.534668 5.118259 -35.08270 1.226399e-10
## 53624 53624 Cldn7 chr11 -5.495888 6.295437 -31.68918 2.774140e-10
## 12521 12521 Cd82 chr2 -4.690834 7.069637 -31.43063 2.913572e-10
## 20661 20661 Sort1 chr3 -4.931660 6.704459 -30.70113 3.558720e-10
## 71740 71740 Nectin4 chr1 -5.581283 5.164967 -30.59775 3.718157e-10
## 12759 12759 Clu chr14 -4.686826 8.856581 -27.95760 7.687544e-10
## adj.P.Val
## 242505 1.236213e-06
## 53624 1.236213e-06
## 12521 1.236213e-06
## 20661 1.236213e-06
## 71740 1.236213e-06
## 12759 1.480434e-06