日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从一套表达和通路数据学习常见的绘图展示方式和报错处理

發布時間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从一套表达和通路数据学习常见的绘图展示方式和报错处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

生物信息學習的正確姿勢

NGS系列文章包括NGS基礎、高顏值在線繪圖和分析、轉錄組分析?(Nature重磅綜述|關于RNA-seq你想知道的全在這)、ChIP-seq分析?(ChIP-seq基本分析流程)、單細胞測序分析?(重磅綜述:三萬字長文讀懂單細胞RNA測序分析的最佳實踐教程)、DNA甲基化分析、重測序分析、GEO數據挖掘(典型醫學設計實驗GEO數據分析 (step-by-step))、批次效應處理等內容。

加載需要的包

library(dplyr) library(ggpubr) library(tidyr) library(ggplot2) library(pheatmap) library(ggstatsplot) library(Hmisc)

讀入數據

’row.names’里不能有重復的名字 Duplicate row names

expr <- read.table("ehbio.simplier.DESeq2.normalized.symbol.txt", row.names = 1, header = T, sep = "\t")

行名唯一化處理

這里使用make.names轉換行名為唯一,實際需要先弄清楚為什么會有重復名字。

expr <- read.table("ehbio.simplier.DESeq2.normalized.symbol.txt", row.names = NULL, header = T, sep = "\t") head(expr)## id untrt_N61311 untrt_N052611 untrt_N080611 untrt_N061011 trt_N61311 trt_N052611 trt_N080611 trt_N061011 ## 1 FN1 245667.66 427435.1 221687.51 371144.2 240187.24 450103.21 280226.19 376518.23 ## 2 DCN 212953.14 360796.2 258977.30 408573.1 210002.18 316009.14 225547.39 393843.74 ## 3 CEMIP 40996.34 137783.1 53813.92 91066.8 62301.12 223111.85 212724.84 157919.47 ## 4 CCDC80 137229.15 232772.2 86258.13 212237.3 136730.76 226070.89 124634.56 236237.81 ## 5 IGFBP5 77812.65 288609.2 210628.87 168067.4 96021.74 217439.21 162677.38 168387.36 ## 6 COL1A1 146450.41 127367.3 152281.50 140861.1 62358.64 53800.47 69160.97 51044.06

有哪些基因名是重復出現的?

expr$id[duplicated(expr$id)]## [1] "MATR3" "PKD1P1" "HSPA14" "OR7E47P" "POLR2J3" "ATXN7" "TMSB15B" "LINC-PINT" ## [9] "TBCE" "SNX29P2" "SCO2" "POLR2J4" "CCDC39" "RGS5" "BMS1P21" "RF00017" ## [17] "GOLGA8M" "RF00017" "DNAJC9-AS1" "CYB561D2" "RF00017" "IPO5P1" "RF00017" "RF00017" ## [25] "RF00017" "SPATA13" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" ## [33] "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" ## [41] "RF00019" "RF00019" "RF00017" "RF00017" "RF00017" "RF00019" "BMS1P4" "RF00019" ## [49] "RF00019" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" ## [57] "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00019" ## [65] "RF00017" "RF00017" "RF00017" "RF00019" "RF00017" "RF00017" "LINC01238" "RF00017" ## [73] "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" ## [81] "RF00017" "RF00017" "RF02271" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" ## [89] "LINC01297" "RF00019" "RF00017" "RF00012" "RF00019" "RF00017" "RF00017" "RF00019" ## [97] "RF00017" "RF00017" "RF00017" "ZNF503" "RF00017" "RF00017" "RF00017" "RF00017" ## [105] "RF00017" "RF00017" "RF00017" "RF00017" "RF02271" "RF00019" "RF00019" "RF00017" ## [113] "RF00019" "RF02271" "RF00017" "RF00017" "RF00017" "RF00017" "RF00019" "RF00019" ## [121] "RF00017" "RF00019" "ITFG2-AS1" "RF00019" "RF00019" "RF00017" "RF00019" "RF00017" ## [129] "RF00017" "RF00017" "RF00019" "RF00017" "RF00012" "RF00017" "RF00017" "RAET1E-AS1" ## [137] "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" ## [145] "RF00012" "RF02271" "RF00019" "LINC01422" "RF02271" "RF00017" "RF00019" "RF00019" ## [153] "RF00019" "RF00019" "RF00017" "LINC01481" "RF00017" "SNHG28" "RF00019" "RF00019" ## [161] "RF00019" "RF00019" "LINC00484" "LINC00941" "ALG1L9P" "RF00017" "DUXAP8" "RF00017" ## [169] "RF00017" "RF00017" "RF00017" "RF00017" "RF00017" "RMRP" "RF00017" "RF00017" ## [177] "RF00017" "RF00017" "DIABLO"

名字唯一化處理

# 該行命令是展示make.names的效果 make.names(c("a", "a", "b", "b", "b"), unique = T)## [1] "a" "a.1" "b" "b.1" "b.2"

唯一化之后的名字作為行名字,并去掉原來的第一列

expr_names <- make.names(expr$id, unique = T) rownames(expr) <- expr_names expr <- expr[, -1] head(expr)## untrt_N61311 untrt_N052611 untrt_N080611 untrt_N061011 trt_N61311 trt_N052611 trt_N080611 trt_N061011 ## FN1 245667.66 427435.1 221687.51 371144.2 240187.24 450103.21 280226.19 376518.23 ## DCN 212953.14 360796.2 258977.30 408573.1 210002.18 316009.14 225547.39 393843.74 ## CEMIP 40996.34 137783.1 53813.92 91066.8 62301.12 223111.85 212724.84 157919.47 ## CCDC80 137229.15 232772.2 86258.13 212237.3 136730.76 226070.89 124634.56 236237.81 ## IGFBP5 77812.65 288609.2 210628.87 168067.4 96021.74 217439.21 162677.38 168387.36 ## COL1A1 146450.41 127367.3 152281.50 140861.1 62358.64 53800.47 69160.97 51044.06

熱圖繪制

library(pheatmap) top6 <- head(expr) pheatmap(top6)

提取差異基因繪制熱圖


讀入差異基因列表

de_gene <- read.table("ehbio.DESeq2.all.DE.symbol", row.names = NULL, header = F, sep = "\t") head(de_gene)## V1 V2 ## 1 ARHGEF2 untrt._higherThan_.trt ## 2 KCTD12 untrt._higherThan_.trt ## 3 SLC6A9 untrt._higherThan_.trt ## 4 GXYLT2 untrt._higherThan_.trt ## 5 RAB7B untrt._higherThan_.trt ## 6 NEK10 untrt._higherThan_.trt

提取Top3 差異的基因

# library(dplyr) top6_de_gene <- de_gene %>% group_by(V2) %>% dplyr::slice(1:3) top6 <- expr[which(rownames(expr) %in% top6_de_gene$V1), ] head(top6)## untrt_N61311 untrt_N052611 untrt_N080611 untrt_N061011 trt_N61311 trt_N052611 trt_N080611 trt_N061011 ## KCTD12 4700.79369 3978.0401 4416.15169 4792.34174 936.69481 633.4462 979.77576 641.49582 ## MAOA 438.54451 452.9934 516.63033 258.73279 4628.00860 4429.7201 4629.66529 3778.17351 ## ARHGEF2 3025.62334 3105.7830 3094.51304 2909.99043 1395.39850 1441.9916 1464.59769 1501.51509 ## SPARCL1 58.15705 102.5827 80.00997 82.59042 2220.50867 1750.9879 1374.90745 2194.58930 ## PER1 170.61639 156.3692 194.97497 123.47689 1728.38117 1230.2575 1120.00650 1333.91208 ## SLC6A9 360.66314 413.8797 365.47650 443.71982 63.90538 56.8962 86.82929 95.33916

讀入樣品分組信息作為列注釋

metadata <- read.table("sampleFile", header = T, row.names = 1) pheatmap(top6, annotation_col = metadata)

按行標準化后展示

pheatmap(top6, annotation_col = metadata, scale = "row", cluster_cols = F)

箱線圖和統計比較

head(top6)## untrt_N61311 untrt_N052611 untrt_N080611 untrt_N061011 trt_N61311 trt_N052611 trt_N080611 trt_N061011 ## KCTD12 4700.79369 3978.0401 4416.15169 4792.34174 936.69481 633.4462 979.77576 641.49582 ## MAOA 438.54451 452.9934 516.63033 258.73279 4628.00860 4429.7201 4629.66529 3778.17351 ## ARHGEF2 3025.62334 3105.7830 3094.51304 2909.99043 1395.39850 1441.9916 1464.59769 1501.51509 ## SPARCL1 58.15705 102.5827 80.00997 82.59042 2220.50867 1750.9879 1374.90745 2194.58930 ## PER1 170.61639 156.3692 194.97497 123.47689 1728.38117 1230.2575 1120.00650 1333.91208 ## SLC6A9 360.66314 413.8797 365.47650 443.71982 63.90538 56.8962 86.82929 95.33916

矩陣轉置

top6_t <- as.data.frame(t(top6)) top6_t## KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## untrt_N61311 4700.7937 438.5445 3025.623 58.15705 170.6164 360.66314 ## untrt_N052611 3978.0401 452.9934 3105.783 102.58269 156.3692 413.87971 ## untrt_N080611 4416.1517 516.6303 3094.513 80.00997 194.9750 365.47650 ## untrt_N061011 4792.3417 258.7328 2909.990 82.59042 123.4769 443.71982 ## trt_N61311 936.6948 4628.0086 1395.398 2220.50867 1728.3812 63.90538 ## trt_N052611 633.4462 4429.7201 1441.992 1750.98786 1230.2575 56.89620 ## trt_N080611 979.7758 4629.6653 1464.598 1374.90745 1120.0065 86.82929 ## trt_N061011 641.4958 3778.1735 1501.515 2194.58930 1333.9121 95.33916

與樣本屬性信息合并

top6_t_with_group <- merge(metadata, top6_t, by = 0) head(top6_t_with_group)## Row.names conditions individual KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## 1 trt_N052611 trt N052611 633.4462 4429.7201 1441.992 1750.98786 1230.2575 56.89620 ## 2 trt_N061011 trt N061011 641.4958 3778.1735 1501.515 2194.58930 1333.9121 95.33916 ## 3 trt_N080611 trt N080611 979.7758 4629.6653 1464.598 1374.90745 1120.0065 86.82929 ## 4 trt_N61311 trt N61311 936.6948 4628.0086 1395.398 2220.50867 1728.3812 63.90538 ## 5 untrt_N052611 untrt N052611 3978.0401 452.9934 3105.783 102.58269 156.3692 413.87971 ## 6 untrt_N061011 untrt N061011 4792.3417 258.7328 2909.990 82.59042 123.4769 443.71982

修改第一列的列名字

colnames(top6_t_with_group)[1] = "Sample" head(top6_t_with_group)## Sample conditions individual KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## 1 trt_N052611 trt N052611 633.4462 4429.7201 1441.992 1750.98786 1230.2575 56.89620 ## 2 trt_N061011 trt N061011 641.4958 3778.1735 1501.515 2194.58930 1333.9121 95.33916 ## 3 trt_N080611 trt N080611 979.7758 4629.6653 1464.598 1374.90745 1120.0065 86.82929 ## 4 trt_N61311 trt N61311 936.6948 4628.0086 1395.398 2220.50867 1728.3812 63.90538 ## 5 untrt_N052611 untrt N052611 3978.0401 452.9934 3105.783 102.58269 156.3692 413.87971 ## 6 untrt_N061011 untrt N061011 4792.3417 258.7328 2909.990 82.59042 123.4769 443.71982

單基因箱線圖

library(ggpubr)ggboxplot(top6_t_with_group, x = "conditions", y = "KCTD12", title = "KCTD12", ylab = "Expression", color = "conditions", palette = "jco")

# palette npg, lancet,

多基因箱線圖 (combine)

ggboxplot(top6_t_with_group, x = "conditions", y = c("KCTD12", "MAOA", "PER1", "SLC6A9"), ylab = "Expression", combine = T, color = "conditions", palette = "jco")

多基因箱線圖 (merge)

ggboxplot(top6_t_with_group, x = "conditions", y = c("KCTD12", "MAOA", "PER1", "SLC6A9"), ylab = "Expression", merge = "flip", color = "conditions", palette = "nature")

數據對數轉換后繪制箱線圖

top6_t_with_group_log = top6_t_with_group %>% purrr::map_if(is.numeric, log1p) %>% as.data.frame head(top6_t_with_group_log)## Sample conditions individual KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## 1 trt_N052611 trt N052611 6.452752 8.396317 7.274474 7.468506 7.115791 4.058652 ## 2 trt_N061011 trt N061011 6.465360 8.237261 7.314896 7.694206 7.196621 4.567875 ## 3 trt_N080611 trt N080611 6.888344 8.440456 7.290018 7.226869 7.021982 4.475395 ## 4 trt_N61311 trt N61311 6.843425 8.440098 7.241652 7.705942 7.455519 4.172930 ## 5 untrt_N052611 untrt N052611 8.288796 6.118083 8.041343 4.640370 5.058595 6.027989 ## 6 untrt_N061011 untrt N061011 8.474983 5.559653 7.976249 4.425929 4.824120 6.097444ggboxplot(top6_t_with_group_log, x = "conditions", y = c("KCTD12", "MAOA", "PER1", "SLC6A9"), ylab = "Expression", merge = "flip", fill = "conditions", palette = "Set3")

用ggplot2實現ggpubr

head(top6_t_with_group)## Sample conditions individual KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## 1 trt_N052611 trt N052611 633.4462 4429.7201 1441.992 1750.98786 1230.2575 56.89620 ## 2 trt_N061011 trt N061011 641.4958 3778.1735 1501.515 2194.58930 1333.9121 95.33916 ## 3 trt_N080611 trt N080611 979.7758 4629.6653 1464.598 1374.90745 1120.0065 86.82929 ## 4 trt_N61311 trt N61311 936.6948 4628.0086 1395.398 2220.50867 1728.3812 63.90538 ## 5 untrt_N052611 untrt N052611 3978.0401 452.9934 3105.783 102.58269 156.3692 413.87971 ## 6 untrt_N061011 untrt N061011 4792.3417 258.7328 2909.990 82.59042 123.4769 443.71982

轉換為長矩陣

top6_t_with_group_melt <- gather(top6_t_with_group, key = "Gene", value = "Expr", -conditions, -Sample, -individual) top6_t_with_group_melt## Sample conditions individual Gene Expr ## 1 trt_N052611 trt N052611 KCTD12 633.44616 ## 2 trt_N061011 trt N061011 KCTD12 641.49582 ## 3 trt_N080611 trt N080611 KCTD12 979.77576 ## 4 trt_N61311 trt N61311 KCTD12 936.69481 ## 5 untrt_N052611 untrt N052611 KCTD12 3978.04011 ## 6 untrt_N061011 untrt N061011 KCTD12 4792.34174 ## 7 untrt_N080611 untrt N080611 KCTD12 4416.15169 ## 8 untrt_N61311 untrt N61311 KCTD12 4700.79369 ## 9 trt_N052611 trt N052611 MAOA 4429.72011 ## 10 trt_N061011 trt N061011 MAOA 3778.17351 ## 11 trt_N080611 trt N080611 MAOA 4629.66529 ## 12 trt_N61311 trt N61311 MAOA 4628.00860 ## 13 untrt_N052611 untrt N052611 MAOA 452.99337 ## 14 untrt_N061011 untrt N061011 MAOA 258.73279 ## 15 untrt_N080611 untrt N080611 MAOA 516.63033 ## 16 untrt_N61311 untrt N61311 MAOA 438.54451 ## 17 trt_N052611 trt N052611 ARHGEF2 1441.99162 ## 18 trt_N061011 trt N061011 ARHGEF2 1501.51509 ## 19 trt_N080611 trt N080611 ARHGEF2 1464.59769 ## 20 trt_N61311 trt N61311 ARHGEF2 1395.39850 ## 21 untrt_N052611 untrt N052611 ARHGEF2 3105.78299 ## 22 untrt_N061011 untrt N061011 ARHGEF2 2909.99043 ## 23 untrt_N080611 untrt N080611 ARHGEF2 3094.51304 ## 24 untrt_N61311 untrt N61311 ARHGEF2 3025.62334 ## 25 trt_N052611 trt N052611 SPARCL1 1750.98786 ## 26 trt_N061011 trt N061011 SPARCL1 2194.58930 ## 27 trt_N080611 trt N080611 SPARCL1 1374.90745 ## 28 trt_N61311 trt N61311 SPARCL1 2220.50867 ## 29 untrt_N052611 untrt N052611 SPARCL1 102.58269 ## 30 untrt_N061011 untrt N061011 SPARCL1 82.59042 ## 31 untrt_N080611 untrt N080611 SPARCL1 80.00997 ## 32 untrt_N61311 untrt N61311 SPARCL1 58.15705 ## 33 trt_N052611 trt N052611 PER1 1230.25755 ## 34 trt_N061011 trt N061011 PER1 1333.91208 ## 35 trt_N080611 trt N080611 PER1 1120.00650 ## 36 trt_N61311 trt N61311 PER1 1728.38117 ## 37 untrt_N052611 untrt N052611 PER1 156.36920 ## 38 untrt_N061011 untrt N061011 PER1 123.47689 ## 39 untrt_N080611 untrt N080611 PER1 194.97497 ## 40 untrt_N61311 untrt N61311 PER1 170.61639 ## 41 trt_N052611 trt N052611 SLC6A9 56.89620 ## 42 trt_N061011 trt N061011 SLC6A9 95.33916 ## 43 trt_N080611 trt N080611 SLC6A9 86.82929 ## 44 trt_N61311 trt N61311 SLC6A9 63.90538 ## 45 untrt_N052611 untrt N052611 SLC6A9 413.87971 ## 46 untrt_N061011 untrt N061011 SLC6A9 443.71982 ## 47 untrt_N080611 untrt N080611 SLC6A9 365.47650 ## 48 untrt_N61311 untrt N61311 SLC6A9 360.66314library(ggplot2) ggplot(top6_t_with_group_melt, aes(x = Gene, y = Expr)) + geom_boxplot(aes(color = conditions)) + theme_classic()

配色

序列型顏色板適用于從低到高排序明顯的數據,淺色數字小,深色數字大。

library(RColorBrewer) display.brewer.all(type = "seq")

離散型顏色板適合帶“正、負”的,對極值和中間值比較注重的數據。

display.brewer.all(type = "div")

分類型顏色板比較適合區分分類型的數據。

display.brewer.all(type = "qual")

箱線圖加統計分析

my_comparisons <- list(c("trt", "untrt")) ggboxplot(top6_t_with_group, x = "conditions", y = "PER1",title = "PER1", ylab = "Expression",add = "jitter", # Add jittered points#add = "dotplot",fill = "conditions", palette = "Paired") +stat_compare_means(comparisons = my_comparisons)

標記點來源的樣本

my_comparisons <- list(c("trt", "untrt")) ggboxplot(top6_t_with_group, x = "conditions", y = "PER1",title = "PER1", ylab = "Expression",add = "jitter", # Add jittered pointsadd.params = list(size = 0.1, jitter = 0.2), # Point size and the amount of jitteringlabel = "Sample", # column containing point labelslabel.select = list(top.up = 2, top.down = 2),# Select some labels to displayfont.label = list(size = 9, face = "italic"), # label fontrepel = TRUE, # Avoid label text overplottingfill = "conditions", palette = "Paired") +stat_compare_means(comparisons = my_comparisons)

修改統計檢驗方法

my_comparisons <- list(c("trt", "untrt")) ggboxplot(top6_t_with_group_log, x = "conditions", y = "PER1",title = "PER1", ylab = "Expression",add = "jitter", # Add jittered pointsadd.params = list(size = 0.1, jitter = 0.2), # Point size and the amount of jitteringlabel = "Sample", # column containing point labelslabel.select = list(top.up = 2, top.down = 2),# Select some labels to displayfont.label = list(size = 9, face = "italic"), # label fontrepel = TRUE, # Avoid label text overplottingfill = "conditions", palette = "Paired") +stat_compare_means(comparisons = my_comparisons, method = "t.test", paired = T)

小提琴圖

ggviolin(top6_t_with_group, x = "conditions", y = c("KCTD12","MAOA"),ylab = "Expression", merge="flip",color = "conditions", palette = "jco", add = "boxplot"# add = "median_iqr")

點帶圖(適合數據比較多時)

ggstripchart(top6_t_with_group, x = "conditions", y = c("KCTD12","MAOA"),ylab = "Expression", combine=T,color = "conditions", palette = "jco", size = 0.1, jitter = 0.2,add.params = list(color = "gray"),# add = "boxplot"add = "median_iqr")

通路內基因的比較

pathway <- read.table("h.all.v6.2.symbols.gmt.forGO", sep = "\t", row.names = NULL, header = T) head(pathway)## ont gene ## 1 HALLMARK_TNFA_SIGNALING_VIA_NFKB JUNB ## 2 HALLMARK_TNFA_SIGNALING_VIA_NFKB CXCL2 ## 3 HALLMARK_TNFA_SIGNALING_VIA_NFKB ATF3 ## 4 HALLMARK_TNFA_SIGNALING_VIA_NFKB NFKBIA ## 5 HALLMARK_TNFA_SIGNALING_VIA_NFKB TNFAIP3 ## 6 HALLMARK_TNFA_SIGNALING_VIA_NFKB PTGS2

通路提取

# HALLMARK_HYPOXIA, HALLMARK_DNA_REPAIR, HALLMARK_P53_PATHWAYtarget_pathway <- pathway[pathway$ont %in% c("HALLMARK_HYPOXIA", "HALLMARK_DNA_REPAIR", "HALLMARK_P53_PATHWAY"), ]target_pathway <- droplevels.data.frame(target_pathway)summary(target_pathway)## ont gene ## Length:550 Length:550 ## Class :character Class :character ## Mode :character Mode :characterhead(target_pathway)## ont gene ## 201 HALLMARK_HYPOXIA PGK1 ## 202 HALLMARK_HYPOXIA PDK1 ## 203 HALLMARK_HYPOXIA GBE1 ## 204 HALLMARK_HYPOXIA PFKL ## 205 HALLMARK_HYPOXIA ALDOA ## 206 HALLMARK_HYPOXIA ENO2

表達矩陣提取

expr_with_gene <- expr expr_with_gene$gene <- rownames(expr_with_gene) target_pathway_with_expr <- left_join(target_pathway, expr_with_gene) summary(target_pathway_with_expr)## ont gene untrt_N61311 untrt_N052611 untrt_N080611 ## Length:550 Length:550 Min. : 0.0 Min. : 0.0 Min. : 0.0 ## Class :character Class :character 1st Qu.: 254.2 1st Qu.: 240.8 1st Qu.: 235.0 ## Mode :character Mode :character Median : 781.3 Median : 784.1 Median : 734.9 ## Mean : 2528.6 Mean : 2895.1 Mean : 2549.2 ## 3rd Qu.: 1852.4 3rd Qu.: 1727.2 3rd Qu.: 1932.4 ## Max. :212953.1 Max. :360796.2 Max. :258977.3 ## NA's :36 NA's :36 NA's :36 ## untrt_N061011 trt_N61311 trt_N052611 trt_N080611 trt_N061011 ## Min. : 0.0 Min. : 0.0 Min. : 0.0 Min. : 0.0 Min. : 0.0 ## 1st Qu.: 237.9 1st Qu.: 248.2 1st Qu.: 211.0 1st Qu.: 250.6 1st Qu.: 227.9 ## Median : 764.2 Median : 766.6 Median : 723.2 Median : 739.3 Median : 746.0 ## Mean : 2864.9 Mean : 2531.8 Mean : 2783.3 Mean : 2840.3 Mean : 3043.6 ## 3rd Qu.: 1870.0 3rd Qu.: 1872.4 3rd Qu.: 1832.2 3rd Qu.: 1825.8 3rd Qu.: 1925.1 ## Max. :408573.1 Max. :210002.2 Max. :316009.1 Max. :225547.4 Max. :393843.7 ## NA's :36 NA's :36 NA's :36 NA's :36 NA's :36

移除通路中未檢測到表達的基因

target_pathway_with_expr <- na.omit(target_pathway_with_expr) summary(target_pathway_with_expr)## ont gene untrt_N61311 untrt_N052611 untrt_N080611 ## Length:514 Length:514 Min. : 0.0 Min. : 0.0 Min. : 0.0 ## Class :character Class :character 1st Qu.: 254.2 1st Qu.: 240.8 1st Qu.: 235.0 ## Mode :character Mode :character Median : 781.3 Median : 784.1 Median : 734.9 ## Mean : 2528.6 Mean : 2895.1 Mean : 2549.2 ## 3rd Qu.: 1852.4 3rd Qu.: 1727.2 3rd Qu.: 1932.4 ## Max. :212953.1 Max. :360796.2 Max. :258977.3 ## untrt_N061011 trt_N61311 trt_N052611 trt_N080611 trt_N061011 ## Min. : 0.0 Min. : 0.0 Min. : 0.0 Min. : 0.0 Min. : 0.0 ## 1st Qu.: 237.9 1st Qu.: 248.2 1st Qu.: 211.0 1st Qu.: 250.6 1st Qu.: 227.9 ## Median : 764.2 Median : 766.6 Median : 723.2 Median : 739.3 Median : 746.0 ## Mean : 2864.9 Mean : 2531.8 Mean : 2783.3 Mean : 2840.3 Mean : 3043.6 ## 3rd Qu.: 1870.0 3rd Qu.: 1872.4 3rd Qu.: 1832.2 3rd Qu.: 1825.8 3rd Qu.: 1925.1 ## Max. :408573.1 Max. :210002.2 Max. :316009.1 Max. :225547.4 Max. :393843.7head(target_pathway_with_expr)## ont gene untrt_N61311 untrt_N052611 untrt_N080611 untrt_N061011 trt_N61311 trt_N052611 ## 1 HALLMARK_HYPOXIA PGK1 7567.398 7893.2150 6254.5945 5529.122 7595.0408 6969.6128 ## 2 HALLMARK_HYPOXIA PDK1 1009.850 1042.4868 735.9359 673.208 419.6273 365.0062 ## 3 HALLMARK_HYPOXIA GBE1 3859.557 1494.4120 3803.5627 3295.191 4769.5464 2359.7150 ## 4 HALLMARK_HYPOXIA PFKL 3581.499 3018.0675 2789.4430 3084.570 2867.2464 2599.5095 ## 5 HALLMARK_HYPOXIA ALDOA 19139.085 19587.3216 18089.5116 15519.899 16388.1123 13949.5659 ## 6 HALLMARK_HYPOXIA ENO2 1964.796 979.5255 1041.4660 1288.837 1303.5671 766.9436 ## trt_N080611 trt_N061011 ## 1 15011.823 6076.4392 ## 2 1056.622 383.6163 ## 3 4759.809 4296.5471 ## 4 4399.403 3090.6701 ## 5 22630.701 14374.3437 ## 6 1473.336 892.4621

轉換寬矩陣為長矩陣

target_pathway_with_expr_long <- target_pathway_with_expr %>% gather(key = "Sample", value = "Expr", -ont, -gene)head(target_pathway_with_expr_long)## ont gene Sample Expr ## 1 HALLMARK_HYPOXIA PGK1 untrt_N61311 7567.398 ## 2 HALLMARK_HYPOXIA PDK1 untrt_N61311 1009.850 ## 3 HALLMARK_HYPOXIA GBE1 untrt_N61311 3859.557 ## 4 HALLMARK_HYPOXIA PFKL untrt_N61311 3581.499 ## 5 HALLMARK_HYPOXIA ALDOA untrt_N61311 19139.085 ## 6 HALLMARK_HYPOXIA ENO2 untrt_N61311 1964.796

合并樣本信息

metadata$Sample <- rownames(metadata) target_pathway_with_expr_conditions_long <- target_pathway_with_expr_long %>% left_join(metadata, by = "Sample")head(target_pathway_with_expr_conditions_long)## ont gene Sample Expr conditions individual ## 1 HALLMARK_HYPOXIA PGK1 untrt_N61311 7567.398 untrt N61311 ## 2 HALLMARK_HYPOXIA PDK1 untrt_N61311 1009.850 untrt N61311 ## 3 HALLMARK_HYPOXIA GBE1 untrt_N61311 3859.557 untrt N61311 ## 4 HALLMARK_HYPOXIA PFKL untrt_N61311 3581.499 untrt N61311 ## 5 HALLMARK_HYPOXIA ALDOA untrt_N61311 19139.085 untrt N61311 ## 6 HALLMARK_HYPOXIA ENO2 untrt_N61311 1964.796 untrt N61311

再次畫點帶圖 (也不太好看)

ggstripchart(target_pathway_with_expr_conditions_long, x = "conditions", y = "Expr",ylab = "Expression", combine=F,color = "conditions", palette = "jco", size = 0.1, jitter = 0.2,facet.by = "ont",add.params = list(color = "gray"),# add = "boxplot"add = "median_iqr")

表達數據log轉換(減小高表達基因的影響)

target_pathway_with_expr_conditions_long$logExpr <- log2(target_pathway_with_expr_conditions_long$Expr + 1) ggstripchart(target_pathway_with_expr_conditions_long, x = "conditions", y = "logExpr",ylab = "Expression", combine=F,color = "conditions", palette = "jco", size = 0.1, jitter = 0.2,facet.by = "ont",add.params = list(color = "gray"),# add = "boxplot"add = "median_iqr")

head(target_pathway_with_expr_conditions_long)## ont gene Sample Expr conditions individual logExpr ## 1 HALLMARK_HYPOXIA PGK1 untrt_N61311 7567.398 untrt N61311 12.885772 ## 2 HALLMARK_HYPOXIA PDK1 untrt_N61311 1009.850 untrt N61311 9.981353 ## 3 HALLMARK_HYPOXIA GBE1 untrt_N61311 3859.557 untrt N61311 11.914593 ## 4 HALLMARK_HYPOXIA PFKL untrt_N61311 3581.499 untrt N61311 11.806750 ## 5 HALLMARK_HYPOXIA ALDOA untrt_N61311 19139.085 untrt N61311 14.224310 ## 6 HALLMARK_HYPOXIA ENO2 untrt_N61311 1964.796 untrt N61311 10.940898

提取P53通路進行后續分析

HALLMARK_P53_PATHWAY = target_pathway_with_expr_conditions_long[target_pathway_with_expr_conditions_long$ont=="HALLMARK_P53_PATHWAY",] ggstripchart(HALLMARK_P53_PATHWAY, x = "conditions", y = "logExpr",title = "HALLMARK_P53_PATHWAY",ylab = "Expression",color = "conditions", palette = "jco", size = 0.1, jitter = 0.2,add.params = list(color = "gray"),# add = "boxplot"add = "median_iqr")

ggdotplot(HALLMARK_P53_PATHWAY, x = "conditions", y = "logExpr",title = "HALLMARK_P53_PATHWAY",ylab = "Expression",color = "conditions", palette = "jco", fill = "white",binwidth = 0.1,add.params = list(size = 0.9),# add = "boxplot"add = "median_iqr")

密度圖

ggdensity(HALLMARK_P53_PATHWAY,x="logExpr",y = "..density..",combine = TRUE, # Combine the 3 plotsxlab = "Expression", add = "median", # Add median line. rug = TRUE, # Add marginal rugcolor = "conditions", fill = "conditions",palette = "jco" )

head(top6_t_with_group)## Sample conditions individual KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## 1 trt_N052611 trt N052611 633.4462 4429.7201 1441.992 1750.98786 1230.2575 56.89620 ## 2 trt_N061011 trt N061011 641.4958 3778.1735 1501.515 2194.58930 1333.9121 95.33916 ## 3 trt_N080611 trt N080611 979.7758 4629.6653 1464.598 1374.90745 1120.0065 86.82929 ## 4 trt_N61311 trt N61311 936.6948 4628.0086 1395.398 2220.50867 1728.3812 63.90538 ## 5 untrt_N052611 untrt N052611 3978.0401 452.9934 3105.783 102.58269 156.3692 413.87971 ## 6 untrt_N061011 untrt N061011 4792.3417 258.7328 2909.990 82.59042 123.4769 443.71982top6_t_with_group_long = top6_t_with_group %>% gather(key = "Gene", value = "Expr", -conditions, -Sample, -individual) top6_t_with_group_long$conditions <- as.factor(top6_t_with_group_long$conditions) head(top6_t_with_group_long)## Sample conditions individual Gene Expr ## 1 trt_N052611 trt N052611 KCTD12 633.4462 ## 2 trt_N061011 trt N061011 KCTD12 641.4958 ## 3 trt_N080611 trt N080611 KCTD12 979.7758 ## 4 trt_N61311 trt N61311 KCTD12 936.6948 ## 5 untrt_N052611 untrt N052611 KCTD12 3978.0401 ## 6 untrt_N061011 untrt N061011 KCTD12 4792.3417

ggstatsplot繪圖和統計分析

箱線圖

library(ggstatsplot) ggstatsplot::ggwithinstats(data = top6_t_with_group,x = conditions,y = PER1,sort = "descending", # ordering groups along the x-axis based onsort.fun = median, # values of `y` variablepairwise.comparisons = TRUE,pairwise.display = "s",pairwise.annotation = "p",title = "PER1",caption = "PER1 compare",ggstatsplot.layer = FALSE,messages = FALSE )

head(target_pathway_with_expr_conditions_long)## ont gene Sample Expr conditions individual logExpr ## 1 HALLMARK_HYPOXIA PGK1 untrt_N61311 7567.398 untrt N61311 12.885772 ## 2 HALLMARK_HYPOXIA PDK1 untrt_N61311 1009.850 untrt N61311 9.981353 ## 3 HALLMARK_HYPOXIA GBE1 untrt_N61311 3859.557 untrt N61311 11.914593 ## 4 HALLMARK_HYPOXIA PFKL untrt_N61311 3581.499 untrt N61311 11.806750 ## 5 HALLMARK_HYPOXIA ALDOA untrt_N61311 19139.085 untrt N61311 14.224310 ## 6 HALLMARK_HYPOXIA ENO2 untrt_N61311 1964.796 untrt N61311 10.940898head(HALLMARK_P53_PATHWAY)## ont gene Sample Expr conditions individual logExpr ## 322 HALLMARK_P53_PATHWAY CDKN1A untrt_N61311 14406.1316 untrt N61311 13.814496 ## 323 HALLMARK_P53_PATHWAY BTG2 untrt_N61311 1163.7198 untrt N61311 10.185767 ## 324 HALLMARK_P53_PATHWAY MDM2 untrt_N61311 3614.5324 untrt N61311 11.819992 ## 325 HALLMARK_P53_PATHWAY CCNG1 untrt_N61311 5749.1367 untrt N61311 12.489381 ## 326 HALLMARK_P53_PATHWAY FAS untrt_N61311 1029.4007 untrt N61311 10.008990 ## 327 HALLMARK_P53_PATHWAY TOB1 untrt_N61311 829.7721 untrt N61311 9.698309library(ggstatsplot) ggstatsplot::ggwithinstats(data = HALLMARK_P53_PATHWAY,x = conditions,y = logExpr,sort = "descending", # ordering groups along the x-axis based onsort.fun = median, # values of `y` variablepairwise.comparisons = TRUE,pairwise.display = "s",pairwise.annotation = "p",title = "HALLMARK_P53_PATHWAY",path.point = F,ggtheme = ggthemes::theme_fivethirtyeight(),ggstatsplot.layer = FALSE,messages = FALSE )

library(ggstatsplot)ggstatsplot::grouped_ggwithinstats(data = target_pathway_with_expr_conditions_long,x = conditions,y = logExpr,grouping.var = ont,xlab = "Condition",ylab = "CEMIP expression",path.point = F,palette = "Set1", # R color brewerggstatsplot.layer = FALSE,messages = FALSE )

ggstatsplot::grouped_ggwithinstats(data = top6_t_with_group_long, x = conditions, y = Expr, xlab = "Condition", ylab = "CEMIP expression", grouping.var = Gene, ggstatsplot.layer = FALSE, messages = FALSE)

head(expr)## untrt_N61311 untrt_N052611 untrt_N080611 untrt_N061011 trt_N61311 trt_N052611 trt_N080611 trt_N061011 ## FN1 245667.66 427435.1 221687.51 371144.2 240187.24 450103.21 280226.19 376518.23 ## DCN 212953.14 360796.2 258977.30 408573.1 210002.18 316009.14 225547.39 393843.74 ## CEMIP 40996.34 137783.1 53813.92 91066.8 62301.12 223111.85 212724.84 157919.47 ## CCDC80 137229.15 232772.2 86258.13 212237.3 136730.76 226070.89 124634.56 236237.81 ## IGFBP5 77812.65 288609.2 210628.87 168067.4 96021.74 217439.21 162677.38 168387.36 ## COL1A1 146450.41 127367.3 152281.50 140861.1 62358.64 53800.47 69160.97 51044.06

散點圖

ggstatsplot::ggscatterstats(data = expr, x = untrt_N61311, y = untrt_N052611, xlab = "untrt_N61311", ylab = "untrt_N052611", title = "Sample correlation", messages = FALSE)

ggstatsplot::ggscatterstats(data = log2(expr+1),x = untrt_N61311,y = trt_N61311,xlab = "untrt_N61311",ylab = "trt_N61311",title = "Sample correlation",#marginal.type = "density", # type of marginal distribution to be displayedmessages = FALSE )

相關性圖

基因共表達

gene_cor <- cor(t(top6))head(gene_cor)## KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## KCTD12 1.0000000 -0.9792624 0.9799663 -0.9619660 -0.9529732 0.9772852 ## MAOA -0.9792624 1.0000000 -0.9897706 0.9406196 0.9614877 -0.9871408 ## ARHGEF2 0.9799663 -0.9897706 1.0000000 -0.9628750 -0.9660416 0.9791535 ## SPARCL1 -0.9619660 0.9406196 -0.9628750 1.0000000 0.9853858 -0.9510121 ## PER1 -0.9529732 0.9614877 -0.9660416 0.9853858 1.0000000 -0.9615253 ## SLC6A9 0.9772852 -0.9871408 0.9791535 -0.9510121 -0.9615253 1.0000000pheatmap(gene_cor)

Hmisc::rcorr(as.matrix(top6_t))## KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## KCTD12 1.00 -0.98 0.98 -0.96 -0.95 0.98 ## MAOA -0.98 1.00 -0.99 0.94 0.96 -0.99 ## ARHGEF2 0.98 -0.99 1.00 -0.96 -0.97 0.98 ## SPARCL1 -0.96 0.94 -0.96 1.00 0.99 -0.95 ## PER1 -0.95 0.96 -0.97 0.99 1.00 -0.96 ## SLC6A9 0.98 -0.99 0.98 -0.95 -0.96 1.00 ## ## n= 8 ## ## ## P ## KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## KCTD12 0e+00 0e+00 1e-04 3e-04 0e+00 ## MAOA 0e+00 0e+00 5e-04 1e-04 0e+00 ## ARHGEF2 0e+00 0e+00 1e-04 0e+00 0e+00 ## SPARCL1 1e-04 5e-04 1e-04 0e+00 3e-04 ## PER1 3e-04 1e-04 0e+00 0e+00 1e-04 ## SLC6A9 0e+00 0e+00 0e+00 3e-04 1e-04head(top6_t)## KCTD12 MAOA ARHGEF2 SPARCL1 PER1 SLC6A9 ## untrt_N61311 4700.7937 438.5445 3025.623 58.15705 170.6164 360.66314 ## untrt_N052611 3978.0401 452.9934 3105.783 102.58269 156.3692 413.87971 ## untrt_N080611 4416.1517 516.6303 3094.513 80.00997 194.9750 365.47650 ## untrt_N061011 4792.3417 258.7328 2909.990 82.59042 123.4769 443.71982 ## trt_N61311 936.6948 4628.0086 1395.398 2220.50867 1728.3812 63.90538 ## trt_N052611 633.4462 4429.7201 1441.992 1750.98786 1230.2575 56.89620ggstatsplot::ggcorrmat(data = top6_t,corr.method = "robust", # correlation methodsig.level = 0.0001, # threshold of significancep.adjust.method = "holm", # p-value adjustment method for multiple comparisons# cor.vars = c(sleep_rem, awake:bodywt), # a range of variables can be selected# cor.vars.names = c(# "REM sleep", # variable names# "time awake",# "brain weight",# "body weight"# ),matrix.type = "upper", # type of visualization matrixpalette = "Set2",#colors = c("#B2182B", "white", "#4D4D4D"),title = "Correlalogram for mammals sleep dataset",subtitle = "sleep units: hours; weight units: kilograms" )

樣品相關性

top100 <- head(expr,100) ggstatsplot::ggcorrmat(data = top100,corr.method = "robust", # correlation methodsig.level = 0.05, # threshold of significancep.adjust.method = "holm", # p-value adjustment method for multiple comparisons# cor.vars = c(sleep_rem, awake:bodywt), # a range of variables can be selected# cor.vars.names = c(# "REM sleep", # variable names# "time awake",# "brain weight",# "body weight"# ),matrix.type = "upper", # type of visualization matrixpalette = "Set2"#colors = c("#B2182B", "white", "#4D4D4D"),)

節選自:這個為生信學習和生信作圖打造的開源R教程真香!!!

大部分圖都可在 高顏值免費在線繪圖工具升級版來了~~~制作了

總結

以上是生活随笔為你收集整理的从一套表达和通路数据学习常见的绘图展示方式和报错处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

精品一区欧美 | 青春草视频| 免费av的网站 | 国产精品久久久久久久久久久杏吧 | 天天色成人网 | 天天爽天天爽天天爽 | 中文字幕的 | 国产精品地址 | 国产日韩欧美视频 | 亚洲视频免费 | 91麻豆精品国产午夜天堂 | 在线免费观看国产黄色 | 国产精品女同一区二区三区久久夜 | 亚洲黄色免费网站 | 91在线视频导航 | 丝袜少妇在线 | 92av视频 | 波多野结衣精品在线 | 精品国产伦一区二区三区观看方式 | 综合久久网站 | 欧美日韩视频一区二区三区 | 日本99热 | 久久久免费| 欧美一区二区在线免费看 | 欧美日韩一级视频 | 亚洲韩国一区二区三区 | 悠悠av资源片 | 日本中文不卡 | 天天插天天狠 | 成人91视频 | 免费影视大全推荐 | av高清在线观看 | 亚洲视频一| 国产精品高潮在线观看 | 欧美伦理一区二区三区 | 国产精品18久久久久久久久 | 人人爽人人香蕉 | 99综合久久 | 91av中文 | 在线观看欧美成人 | 国产剧情一区在线 | 韩国精品一区二区三区六区色诱 | 亚洲国产资源 | 全久久久久久久久久久电影 | 99爱视频在线观看 | 国产精品 视频 | 日韩在线高清 | 天天综合在线观看 | 能在线看的av | 久久综合欧美精品亚洲一区 | 日日夜夜精品免费 | 玖玖精品在线 | 日韩字幕| 国产精品视频在线看 | 九草在线视频 | 一区 二区 精品 | 成年人在线观看 | 黄色国产高清 | 亚洲精品中文在线资源 | 97av视频| 五月激情片 | 久久婷婷五月综合色丁香 | 成人欧美一区二区三区黑人麻豆 | 欧美日韩国产精品久久 | 日韩在线欧美在线 | 九九av | 久热国产视频 | 日本高清xxxx| 超碰免费久久 | 色婷婷在线视频 | 色www免费视频 | 99视频免费 | 丁香一区二区 | 国产区在线视频 | 久久tv视频 | 日日操操 | 亚洲成人精品 | 中文字幕精品www乱入免费视频 | 久久av不卡 | 精品美女久久久久 | 伊人久久电影网 | 国产精品美乳一区二区免费 | 日韩有码在线播放 | 久久草在线免费 | 亚洲精品免费在线观看 | 综合色综合| 亚洲国产播放 | 国产福利在线不卡 | www.久久久 | 精品色999 | 91麻豆看国产在线紧急地址 | 五月婷综合网 | 亚洲欧美国产精品久久久久 | 日日夜夜天天人人 | 夜添久久精品亚洲国产精品 | 国内精品久久天天躁人人爽 | 天堂av免费观看 | 亚洲成人精品影院 | 国产一区二区久久 | 麻豆影视在线播放 | 色综合久久久久久久 | 免费观看性生交大片3 | 成片人卡1卡2卡3手机免费看 | 黄色一级大片在线观看 | 欧美肥妇free| www免费视频com━ | 一级黄色片毛片 | 黄色激情网址 | av手机在线播放 | 国产美女被啪进深处喷白浆视频 | 亚洲午夜av电影 | 天天干天天做天天操 | 视频 国产区 | 九九九热精品 | 九九在线高清精品视频 | 久久狠狠亚洲综合 | 欧美日韩精品在线视频 | 亚洲国产免费看 | 国产精品一区久久久久 | 草久久影院 | 欧美一级黄色片 | 午夜视频色 | 免费视频二区 | 午夜精品一区二区三区在线 | 在线观看日韩专区 | 亚洲精品在线一区二区 | 免费的成人av | 日韩视频免费 | 黄色福利视频网站 | 99视频精品免费视频 | 91传媒视频在线观看 | 色婷婷一 | 毛片3| 黄色片网站av | 国产精品电影一区二区 | 久久久久国产精品午夜一区 | 亚洲精品a区 | 国产色啪| 99 国产精品| 91在线观看视频网站 | 欧美天天射 | 丁香婷婷久久久综合精品国产 | 国产精品6| 97视频亚洲| 久久视频免费 | 丁香婷婷基地 | 在线黄色免费av | 精品一区精品二区高清 | 日日天天av | 日韩电影精品 | 欧美极度另类性三渗透 | 最近中文字幕免费 | 十八岁以下禁止观看的1000个网站 | 欧美怡红院视频 | 久久久精品一区二区三区 | 日本精品中文字幕在线观看 | 色综合天 | 国产精品久久久久久久久久新婚 | 六月丁香色婷婷 | 婷婷色在线资源 | 色免费在线 | 婷婷色狠狠 | 欧美日韩不卡一区二区 | www.黄色小说.com | 99视频黄| 精品xxx| 97超碰人人澡人人 | 最新日韩电影 | 久久在线影院 | 日韩综合精品 | 九九久久久久久久久激情 | 蜜臀av夜夜澡人人爽人人桃色 | 手机av片 | 免费日韩 精品中文字幕视频在线 | 国内精品久久久久久久久久清纯 | 天天爽夜夜爽人人爽曰av | 久草综合视频 | 国产在线视频在线观看 | 中文字幕av在线不卡 | 国产精品久久久久久久久久久久冷 | av黄色大片 | 天天色宗合 | 色资源在线 | 国产精品99久久久精品 | 中文字幕第 | 国产精品精品视频 | 日韩免费视频线观看 | www.com.黄 | 久久伊99综合婷婷久久伊 | 人人爽久久涩噜噜噜网站 | 国产亚洲一区二区在线观看 | 日本午夜在线亚洲.国产 | 国产探花 | 精品国产伦一区二区三区观看体验 | 久久天堂影院 | 午夜99| 国产 日韩 欧美 在线 | 日韩国产在线观看 | 综合伊人av | 欧美日韩国产一区二区三区在线观看 | www色| 久久久精品免费观看 | 国产精品大全 | 97超碰网 | 97在线视频免费看 | 国产高清视频免费最新在线 | 亚洲三级精品 | 中文字幕 91 | 国产 视频 久久 | 日韩精品亚洲专区在线观看 | 欧美色精品天天在线观看视频 | 天天综合成人网 | 亚洲精品在线观看免费 | 蜜臀av夜夜澡人人爽人人桃色 | 黄色小视频在线观看免费 | 久久美女视频 | 成人久久久久久久久久 | 永久中文字幕 | 日韩有码欧美 | 久久国产影视 | 中文字幕在线观看不卡 | 免费三级黄色片 | 在线免费观看成人 | 人人澡人人干 | 91手机在线看片 | 亚洲综合少妇 | 天天插综合网 | 成人影片在线播放 | 精品91视频 | 日韩精品一区二区不卡 | 草久久久久| 人人爽人人爽人人片av免 | 欧美va在线观看 | 国产精成人品免费观看 | a黄色一级 | 99久久久国产精品免费观看 | 日韩中文三级 | 亚洲精品欧美专区 | 欧美国产亚洲精品久久久8v | 99热99 | 91污在线 | 国产精品久久久久久久久免费看 | 日本中文在线 | 成人在线免费观看网站 | 午夜视频一区二区 | 狠狠插天天干 | 91精品啪在线观看国产线免费 | 黄色的视频 | 久久久久五月天 | 久久另类视频 | 激情婷婷在线 | 国产黄色网 | 精品国产一区二区三区久久久久久 | 天天干 天天摸 天天操 | 国产精品久久久久久吹潮天美传媒 | 亚洲精品男女 | 精品久久久一区二区 | 国产三级精品三级在线观看 | 日韩在线三区 | 在线观看福利网站 | 免费av网站在线看 | www.人人草| 日本三级大片 | av在线播放不卡 | 天天射天天添 | 亚洲国产精品激情在线观看 | 久久久久久久久久久久久久电影 | 日韩欧美在线观看一区 | 亚州精品视频 | 亚洲最新av在线网址 | 一区二区三区四区五区在线视频 | 成人在线视频网 | 久久超碰99 | 成人免费观看视频大全 | 久久精品视频在线免费观看 | 午夜视频二区 | 91久久国产自产拍夜夜嗨 | 人人舔人人干 | 日韩av电影中文字幕在线观看 | 久久久精品视频网站 | 久久综合成人网 | 午夜私人影院久久久久 | 色综合久久综合网 | 亚洲欧美成人综合 | 亚洲人成人在线 | 亚洲精品456在线播放乱码 | 伊人婷婷久久 | 91精品网站| 日韩激情一二三区 | 久久久久久久久久久网 | 欧美日韩免费在线视频 | 亚洲激情一区二区三区 | 中文字幕成人在线 | 欧美一进一出抽搐大尺度视频 | 97精品国产一二三产区 | 99视频+国产日韩欧美 | 五月婷婷视频 | 日韩在线观看免费 | 日韩精品久久久免费观看夜色 | 综合色综合 | 欧美在线观看小视频 | 啪一啪在线| 精精国产xxxx视频在线播放 | 国产精品久久久视频 | 91禁在线看 | 999国内精品永久免费视频 | 在线国产日本 | 福利精品在线 | 青青草国产成人99久久 | 亚洲黄色免费观看 | 97在线观看免费高清 | 日韩毛片在线一区二区毛片 | 国产精品免费久久久久久久久久中文 | 亚洲欧美视频在线播放 | 亚洲国产免费网站 | 精品国产一区二区三区久久久蜜臀 | 国产成人精品一区二区 | 精品国产精品久久一区免费式 | 婷婷六月久久 | a级片在线播放 | 午夜久久久久久久久久影院 | 亚州五月| 国产精品久久久久久久7电影 | 999ZYZ玖玖资源站永久 | 亚洲闷骚少妇在线观看网站 | 精品视频中文字幕 | 欧美在线观看视频一区二区三区 | 国产一级一片免费播放放 | 国产精品影音先锋 | 精品久久久久久国产偷窥 | 国产成人久| 香蕉久久国产 | 成人黄色av网站 | 国产在线观看99 | 91探花在线 | 99超碰在线播放 | 亚洲一区二区三区在线看 | 91香蕉视频在线 | 欧美色图狠狠干 | 国产999久久久 | 91网站免费观看 | 国产精品久久久久久久久久久久午夜片 | 久久99视频免费观看 | 视频国产区 | 成人久久18免费网站图片 | 天天夜夜狠狠操 | 99免费在线视频 | 久久av在线 | 国产在线观看91 | 91成人午夜| 久久久国产网站 | 色姑娘综合天天 | 91最新网址| 麻豆影音先锋 | 亚洲成a人片在线观看网站口工 | 美女视频又黄又免费 | 午夜精品久久 | 亚洲综合视频在线播放 | 免费观看午夜视频 | 天天干天天搞天天射 | 欧美色噜噜噜 | 天天操夜夜操夜夜操 | 欧美日韩国产精品一区 | 六月丁香色婷婷 | 精品超碰 | 成年人天堂com | 黄色软件大全网站 | 久久久久免费精品国产小说色大师 | 国产在线观看地址 | 欧美成人精品在线 | 欧美日在线观看 | 96久久欧美麻豆网站 | 91在线免费观看国产 | 国产美女网 | 精品国产区 | 中文字幕在线久一本久 | 六月丁香色婷婷 | 五月天婷亚洲天综合网精品偷 | 亚洲综合在线视频 | 精品福利网 | 探花视频网站 | 成人h动漫在线看 | 在线小视频你懂的 | 国产久草在线 | 亚洲视频精品在线 | 久av在线 | 亚洲国产黄色片 | 色综合天天综合 | 中文一区二区三区在线观看 | 久久综合九色 | www色,com| 国产视频综合在线 | 九色最新网址 | 久草在线观看 | 久草免费色站 | 日本黄色免费在线观看 | av中文字幕剧情 | 国产精品视频线看 | 国产黄色一级片 | 亚洲中字幕 | 亚洲精品av在线 | av在线免费在线 | 久久久久9999亚洲精品 | 天天天干天天天操 | 少妇搡bbbb搡bbb搡忠贞 | 欧美激情视频一区二区三区免费 | 嫩草伊人久久精品少妇av | 色婷婷狠狠五月综合天色拍 | 999久久国精品免费观看网站 | 成人综合免费 | 中文字幕精品一区二区三区电影 | 国产婷婷vvvv激情久 | 日本公妇色中文字幕 | 日韩免费三级 | 99色| 婷婷日 | 亚洲免费在线观看视频 | 精品国产乱码久久久久久浪潮 | 国内精品视频在线播放 | 亚洲婷婷综合色高清在线 | 免费色视频网站 | 一区二区三区电影大全 | 91视频下载| 91亚洲网 | 亚洲精品国偷自产在线99热 | 久久艹国产视频 | 久久伦理 | 色婷婷在线观看视频 | 国产第一福利 | 69国产精品成人在线播放 | 亚洲综合激情 | 日韩中文字幕免费 | 黄色精品在线看 | 日韩理论在线 | 天天翘av | 91久久人澡人人添人人爽欧美 | 天天操网址 | 国产精品精品国产婷婷这里av | 久久久久国产一区二区 | 中文字幕在线视频免费播放 | 午夜精品成人一区二区三区 | 9久久精品| 国产 中文 日韩 欧美 | 午夜精品区 | 日韩中文在线视频 | 91在线中文字幕 | 日韩在线观看中文字幕 | 国产91aaa| 国产 日韩 在线 亚洲 字幕 中文 | 久久超碰在线 | 亚洲一区二区精品 | 在线观看的黄色 | 亚洲黄a| 欧美电影黄色 | 在线视频一二三 | 成人a视频片观看免费 | 国内免费久久久久久久久久久 | 免费看黄视频 | 国产美女主播精品一区二区三区 | 亚洲视频精品在线 | 啪啪肉肉污av国网站 | 91理论片午午伦夜理片久久 | 黄网站app在线观看免费视频 | 中国一级片视频 | 天天色天天干天天色 | 久久精品亚洲国产 | 精品国产一区二区三区男人吃奶 | 青草视频在线看 | 在线观看小视频 | 狠狠色综合欧美激情 | 天天色.com| 日韩成人免费在线电影 | 国产麻豆精品在线观看 | 九九九在线观看 | 免费视频二区 | 久久人人爽人人片av | 亚州五月| 五月天堂网 | 韩日电影在线 | 国产成人精品一区一区一区 | 成人污视频在线观看 | 91大神精品视频在线观看 | 超碰在线最新网址 | 一级一片免费视频 | 亚洲人人网| 日韩网站在线看片你懂的 | 天天射综合 | 国产资源精品 | 欧美精品色 | 狠狠操狠狠插 | 色爱成人网 | 深夜免费福利在线 | jizz999| 99色| 成人免费视频在线观看 | 黄色成人毛片 | 久草免费在线视频观看 | 91色视频 | 亚洲一级特黄 | 99久久www | 日韩三级视频在线观看 | 中文字幕 国产 一区 | 99久久国产免费看 | 日本女人b | 欧美日韩国产页 | 成人免费影院 | 日本公妇色中文字幕 | 国产一区二区在线免费播放 | 国产精品入口麻豆www | 久久怡红院 | 成人福利在线播放 | 中文字幕精品一区二区精品 | 国产糖心vlog在线观看 | 最新av网址在线 | 久久免费视频2 | 亚洲欧洲精品一区二区精品久久久 | 国产精品v a免费视频 | 国产第页 | 色综合天天色综合 | 亚洲第一区在线播放 | 日韩在线小视频 | 国产色中涩 | 国产精品高清在线观看 | 成 人 黄 色 视频 免费观看 | 免费黄色激情视频 | a久久久久久 | 免费网站看v片在线a | 久香蕉| 中文字幕在线视频国产 | 成人av视屏 | 国产精品高潮呻吟久久av无 | 成人在线免费视频 | 97在线视频免费观看 | 日韩av播放在线 | 精品国产1区 | 91精品视频免费 | 国精产品一二三线999 | 91精品入口 | 国产精品99蜜臀久久不卡二区 | 婷婷丁香色 | 91免费观看国产 | 天天做日日做天天爽视频免费 | 人人爽人人爽人人片av | 精品国产一区二区三区在线观看 | 国产精品青草综合久久久久99 | 在线看黄网站 | 中文字幕一区二区三区四区在线视频 | 日韩色爱 | 日韩三级免费观看 | 亚洲天堂网在线视频观看 | 99这里有精品 | www.黄色片.com | 999国内精品永久免费视频 | 亚洲一区二区高潮无套美女 | 在线免费观看黄色小说 | 日本三级中文字幕在线观看 | 在线中文字幕电影 | 成人av在线影院 | 中文字幕在线播出 | 777久久久| 在线观看片 | 欧美在线91 | 亚洲五月婷 | 国产91大片 | 亚洲人成综合 | 91免费高清 | 久久99网 | 国产精品午夜免费福利视频 | 婷婷色中文网 | 丝袜美女在线 | 精品久久久久久国产偷窥 | 久久黄色小说视频 | 欧美成人精品xxx | 欧美少妇影院 | 欧美国产日韩在线观看 | 婷婷中文在线 | 色悠悠久久综合 | 黄色小说18| 不卡视频一区二区三区 | 91香蕉视频污在线 | 日韩欧美成 | 久久免费看 | 中文字幕二区 | 少妇bbw揉bbb欧美 | 亚洲国产精品激情在线观看 | avav99| 五月婷婷丁香激情 | a级片久久久 | 欧美精品一区二区在线观看 | 一区二区 不卡 | 婷婷中文字幕 | 欧美成人按摩 | 日韩v欧美v日本v亚洲v国产v | 国产一区免费视频 | 亚洲精品综合一二三区在线观看 | 美女久久久久久久久久久 | 国产精品久久久久9999 | 免费日韩在线 | 亚洲欧洲一区二区在线观看 | 日韩av电影免费在线观看 | 亚洲女同ⅹxx女同tv | 国产精品午夜在线 | 99精品国产成人一区二区 | 一区二区三区精品在线视频 | 欧美精品久久久久a | 国产福利一区二区三区视频 | 国产一性一爱一乱一交 | 中文不卡视频 | 亚洲1级片 | 中文字幕一区二区三区在线观看 | 久久久久国产成人免费精品免费 | 国产一区二区视频在线播放 | 三级黄在线 | 91在线免费播放视频 | 麻豆成人网| 波多野结衣一区三区 | 国产福利网站 | 黄色小网站在线观看 | 亚洲天堂视频在线 | 日韩a在线播放 | 天天射天天爱天天干 | 亚洲午夜剧场 | 天天伊人网| 综合五月 | 国内外成人免费在线视频 | 成人国产精品一区二区 | 一区二区三区免费播放 | 国产破处在线视频 | 国产精品一区二区无线 | 国产精品18久久久久vr手机版特色 | 亚洲精品网址在线观看 | 成人av一区二区在线观看 | 天天av综合网 | 成年人黄色免费网站 | 久久大视频| 500部大龄熟乱视频使用方法 | 亚洲在线视频免费观看 | 国产录像在线观看 | 一级成人免费 | 免费在线黄色av | 久久免费试看 | 性色av免费在线观看 | 欧美高清视频不卡网 | 不卡的av | 国产在线视频在线观看 | 在线观看小视频 | 超碰久热 | 亚洲精品久久久久久国 | 丁香婷婷社区 | 97在线精品国自产拍中文 | 国产精品99久久久久久久久久久久 | 精品久久电影 | www.99热精品| 婷婷深爱五月 | 国产成人黄色网址 | 免费看一级一片 | 日韩一级电影在线观看 | www色av| 成人毛片一区二区三区 | 婷婷丁香色 | 成人av一区二区在线观看 | 国产视频欧美视频 | 亚洲男男gaygayxxxgv | 国产色视频网站2 | 亚洲不卡在线 | 日日成人网| 伊人夜夜 | 国产高清av在线播放 | 久久这里只有精品视频99 | 日韩高清www | 成人动漫一区二区 | 五月天久久狠狠 | aaa日本高清在线播放免费观看 | 蜜臀av性久久久久av蜜臀妖精 | www.香蕉视频 | 视频一区二区三区视频 | 黄色大片日本免费大片 | 免费观看的av网站 | 久久久精品日本 | 一区二区三区手机在线观看 | 97色在线观看 | 草久在线 | 国产精品涩涩屋www在线观看 | 一区二区中文字幕在线播放 | 中文字幕国产一区二区 | www亚洲国产 | 久久久久免费视频 | 91精品天码美女少妇 | 99精品国产99久久久久久福利 | 操操碰| 四虎国产精品成人免费影视 | 国产二区视频在线观看 | 成人精品一区二区三区电影免费 | 免费成人黄色av | 黄色毛片视频免费观看中文 | 中文国产字幕 | 综合久久一本 | 91一区啪爱嗯打偷拍欧美 | 色综合久久中文综合久久牛 | www.久草视频| 一级电影免费在线观看 | 欧美精品亚洲精品日韩精品 | 国产成人一区二区三区久久精品 | 91pony九色丨交换 | 天天干天天干 | 国产精品久久电影网 | 成人av资源 | 国产日本在线观看 | 久久精品香蕉 | 五月开心六月伊人色婷婷 | 激情五月播播久久久精品 | 91刺激视频 | 色九色 | 三上悠亚一区二区在线观看 | 亚洲国产精品视频在线观看 | 国产一级电影网 | av资源免费看 | 欧美日韩一区二区三区在线观看视频 | 国产精品一区二区无线 | 国产色爽 | 97超碰人人澡 | 干综合网 | 色噜噜在线观看 | 99这里只有| 免费在线观看黄网站 | 91成人在线观看高潮 | 国产成人精品亚洲日本在线观看 | 九九九热精品免费视频观看网站 | 日韩,精品电影 | 久久精品中文字幕少妇 | 国产精品久免费的黄网站 | 91视频在线看 | 免费福利在线观看 | 91九色丨porny丨丰满6 | 黄色www在线观看 | 久久精品亚洲国产 | 成人久久影院 | 亚洲国产小视频在线观看 | 国产大片黄色 | 九九av| 国产小视频在线免费观看 | 99精品视频在线 | 国产免费视频在线 | 久久久麻豆 | 久久精品美女视频 | 日本中文字幕系列 | 国产在线视频在线观看 | 午夜影院一级片 | av不卡网站| 亚洲另类人人澡 | 99久久久精品 | 欧美日韩亚洲精品在线 | 狠狠色综合网站久久久久久久 | 91视频-88av| 在线观看免费一区 | 四虎永久视频 | 国产在线不卡精品 | 国产高清视频在线 | 69国产盗摄一区二区三区五区 | 精品爱爱 | 欧美久久成人 | 手机看片99 | 国产精品毛片一区二区在线看 | 国产亚洲精品久久久网站好莱 | 高清视频一区 | 在线精品视频免费播放 | 五月婷婷黄色网 | 91网址在线 | 草久在线观看视频 | 99精品在线视频播放 | 一区二区亚洲精品 | 久久免费影院 | 一区二区三区免费在线观看 | 懂色av一区二区三区蜜臀 | 中文字幕免费观看 | 夜夜骑日日操 | 国产一区二区手机在线观看 | 中文字幕日本在线 | 天天爱综合 | 香蕉视频日本 | 免费看十八岁美女 | 久久这里只有精品首页 | 久久亚洲福利视频 | 一区二区三区高清在线观看 | 欧美三级在线播放 | 天天操天天操一操 | 色综合久久久网 | 久久久久区 | 99久久精品久久久久久动态片 | 黄色大片中国 | 欧美亚洲精品一区 | 久久久久久久18 | 久久婷婷久久 | 精品在线一区二区 | 国产中文在线播放 | 日日夜操 | 在线国产专区 | 又黄又刺激的网站 | 天天五月天色 | 久久成人精品视频 | 色视频在线 | 天堂在线一区二区 | 视频一区亚洲 | 久久成人久久 | 丁香六月婷婷综合 | 亚洲一区二区视频 | 国内99视频| 在线观看免费色 | 99九九99九九九视频精品 | 在线观看视频黄色 | 97精品在线视频 | 国产专区精品 | 黄色软件大全网站 | 91香蕉视频720p| 91视频观看免费 | 香蕉久久久久久久 | 天天干天天做 | 国内精品视频在线播放 | 日韩欧美亚州 | 国产精品毛片一区二区三区 | 午夜久久久精品 | 日韩精品久久久免费观看夜色 | 亚洲综合在线一区二区三区 | 欧美另类sm图片 | 精品国产1区2区3区 国产欧美精品在线观看 | 日本午夜免费福利视频 | 色五月成人 | 美女激情影院 | 69久久99精品久久久久婷婷 | 国产精品久久久久久久久久久久冷 | 国产午夜三级一区二区三桃花影视 | 国产精品女同一区二区三区久久夜 | 成人av久久| 精品国产成人av在线免 | 黄色一级大片在线免费看国产一 | 黄色国产精品 | 亚洲综合视频在线播放 | 一区二区三区高清在线观看 | 久久极品 | 日韩在线观看av | 久久电影网站中文字幕 | 国产资源免费 | 亚洲成年人免费网站 | 人人看人人做人人澡 | 亚洲一区精品二人人爽久久 | 日日干天天干 | 97国产在线视频 | 日韩三级免费观看 | 久草9视频 | 一区二区不卡 | 成人黄色国产 | 欧美性性网 | 国产一区二区免费 | 在线天堂中文www视软件 | 国产色在线 | 日韩欧美视频在线观看免费 | 国产精品久久久久一区二区三区共 | 精品久久久久久久久亚洲 | 精品国产一区二区三区久久久蜜臀 | 亚洲精品视频观看 | 少妇搡bbbb搡bbb搡aa | 午夜丁香网| 日韩在线不卡 | 亚洲片在线观看 | 色综合天天综合在线视频 | 一区二区激情 | 亚洲激情国产精品 | 天天操天天干天天操天天干 | 国产麻豆精品久久 | 超碰在线最新网址 | 亚洲精品伦理在线 | 91丨九色丨高潮 | 亚洲一区二区视频在线 | 国产精品久久久精品 | 99久久婷婷国产一区二区三区 | 偷拍视频一区 | 婷婷色网 | 国产999精品 | 国产精品女同一区二区三区久久夜 | 欧美孕交vivoestv另类 | 午夜av一区二区三区 | 国产亚洲精品成人av久久影院 | 波多野结衣精品视频 | 日日射av | 最近最新中文字幕 | 99精品成人 | 亚洲自拍偷拍色图 | 99国产在线| 91精品导航| 亚洲一二三久久 | 天天搞天天干天天色 | 久久的色 | 五月婷婷激情网 | 91av短视频| 中文字幕中文字幕在线中文字幕三区 | 久久久精品国产免费观看一区二区 | 999视频精品 | 美女久久久久久久久久久 | 国产精品久久久久久久久蜜臀 | 色网免费观看 | 综合色狠狠 | 亚洲天堂网在线观看视频 | 免费在线电影网址大全 | 日韩视频1 | 成人精品一区二区三区中文字幕 | 亚洲欧洲精品一区 | 91成人看片 | 国产精品免费麻豆入口 | 国产综合婷婷 | 久久精品精品电影网 | a级国产乱理伦片在线观看 亚洲3级 | 国产精品一区在线观看你懂的 | 日韩av手机在线观看 | 国产精品永久久久久久久久久 | 91精品一区二区三区蜜桃 | 五月婷影院 | 婷婷久久一区二区三区 | 久久久久 免费视频 | 亚洲综合视频在线 | 久热电影 | 国产成人av在线影院 | 国色天香第二季 | 韩日电影在线观看 | 国产精品原创av片国产免费 | 国产资源在线免费观看 | 亚洲最大av | 欧洲av不卡| 国产成人久久av977小说 | 免费黄色在线网址 | 国产三级精品在线 | 98久9在线 | 免费 | 在线观看自拍 | 国产美女精品 | 国产成人久久精品一区二区三区 | 国产一区私人高清影院 | 国产一二区免费视频 | 日本黄色免费电影网站 | 超碰在线人人97 | 国产视频2021 | a午夜在线 | av不卡中文 | 国产a国产a国产a | 精品福利视频在线 | 激情网第四色 | 久久人人爽人人爽人人片av软件 | 蜜桃av人人夜夜澡人人爽 | 成人资源网 | 日韩一区二区三区免费电影 | 99热国产在线中文 | 日韩av在线免费播放 | 免费在线精品视频 | 日本精品免费看 | 日韩中文字幕免费视频 | 成人久久精品 | 色av资源网 | 亚洲手机天堂 | 中文字幕婷婷 | 男女啪啪网站 | 国产精品9999久久久久仙踪林 | 久久综合欧美精品亚洲一区 | 色先锋资源网 | 国产丝袜高跟 | 久久久国产精华液 | 色婷婷电影网 | 在线va网站| 精品视频成人 | av在线免费不卡 | 视频国产区 | 亚洲免费精彩视频 | 91在线国内视频 | 96国产在线| 国产群p| 天天操天 | av超碰免费在线 | 一区二区三区四区精品 | 天天操天天操一操 | 国产欧美久久久精品影院 | 免费精品久久久 | 91精品国产成人观看 | 狠狠色狠狠综合久久 | 天天操天天干天天玩 | 久久网页| 久久免费成人精品视频 | 国产视频久久久 | 国产精品 美女 | 99成人精品| 欧美日韩一区二区在线观看 | 中文av免费 | 91桃色在线免费观看 | 日本久久成人中文字幕电影 | 99精品国产免费久久久久久下载 | 97在线观视频免费观看 | 在线免费国产视频 | 超碰人人在线观看 | 97超碰超碰久久福利超碰 | 亚洲欧美日韩精品久久奇米一区 | 91久久人澡人人添人人爽欧美 | 久久天堂亚洲 |