胶质瘤

#参考生信开荒牛
#将文件处理成10xgenomics的标准输入形式
> fs = list.files('./GSE136001_RAW/',pattern = '^GSM')
> fs
 [1] "GSM4039241_f-ctrl-1-filtered-barcodes.tsv.gz"  "GSM4039241_f-ctrl-1-filtered-features.tsv.gz" 
 [3] "GSM4039241_f-ctrl-1-filtered-matrix.mtx.gz"    "GSM4039242_f-ctrl-2-filtered-barcodes.tsv.gz" 
 [5] "GSM4039242_f-ctrl-2-filtered-features.tsv.gz"  "GSM4039242_f-ctrl-2-filtered-matrix.mtx.gz"   
 [7] "GSM4039243_f-tumor-1-filtered-barcodes.tsv.gz" "GSM4039243_f-tumor-1-filtered-features.tsv.gz"
 [9] "GSM4039243_f-tumor-1-filtered-matrix.mtx.gz"   "GSM4039244_f-tumor-2-filtered-barcodes.tsv.gz"
[11] "GSM4039244_f-tumor-2-filtered-features.tsv.gz" "GSM4039244_f-tumor-2-filtered-matrix.mtx.gz"  
[13] "GSM4039245_m-ctrl-1-filtered-barcodes.tsv.gz"  "GSM4039245_m-ctrl-1-filtered-features.tsv.gz" 
[15] "GSM4039245_m-ctrl-1-filtered-matrix.mtx.gz"    "GSM4039246_m-ctrl-2-filtered-barcodes.tsv.gz" 
[17] "GSM4039246_m-ctrl-2-filtered-features.tsv.gz"  "GSM4039246_m-ctrl-2-filtered-matrix.mtx.gz"   
[19] "GSM4039247_m-tumor-1-filtered-barcodes.tsv.gz" "GSM4039247_m-tumor-1-filtered-features.tsv.gz"
[21] "GSM4039247_m-tumor-1-filtered-matrix.mtx.gz"   "GSM4039248_m-tumor-2-filtered-barcodes.tsv.gz"
[23] "GSM4039248_m-tumor-2-filtered-features.tsv.gz" "GSM4039248_m-tumor-2-filtered-matrix.mtx.gz"  
> samples <- substr(fs,1,10)
> unique(samples)
[1] "GSM4039241" "GSM4039242" "GSM4039243" "GSM4039244" "GSM4039245" "GSM4039246" "GSM4039247" "GSM4039248"
> x="GSM4039241"
>   #x="GSM4039241"
>   y = fs[grepl(x,fs)]
>  y 
[1] "GSM4039241_f-ctrl-1-filtered-barcodes.tsv.gz" "GSM4039241_f-ctrl-1-filtered-features.tsv.gz"
[3] "GSM4039241_f-ctrl-1-filtered-matrix.mtx.gz"  
>   folder = paste0('./GSE136001_RAW/',strsplit(y[1],split = '-f')[[1]][1])
>   folder
[1] "./GSE136001_RAW/GSM4039241_f-ctrl-1"
> paste0('./GSE136001_RAW/',y[1])
[1] "./GSE136001_RAW/GSM4039241_f-ctrl-1-filtered-barcodes.tsv.gz"
> file.path(folder,"barcodes.tsv.gz")
[1] "./GSE136001_RAW/GSM4039241_f-ctrl-1/barcodes.tsv.gz"
rm(list = ls())
getwd()
setwd("./Rdata/胶质瘤/")
#将文件处理成10xgenomics的标准输入形式
fs = list.files('./GSE136001_RAW/',pattern = '^GSM')
fs
samples <- substr(fs,1,10)
unique(samples)
lapply( unique(samples), function(x){
  #x="GSM4039241"
  y = fs[grepl(x,fs)]
  folder = paste0('./GSE136001_RAW/',strsplit(y[1],split = '-f')[[1]][1])
  #创建文件夹
  dir.create(folder,recursive = T)
  #重命名子文件夹并移动到相应的文件夹中
  file.rename(paste0('./GSE136001_RAW/',y[1]),file.path(folder,"barcodes.tsv.gz"))
  file.rename(paste0('./GSE136001_RAW/',y[2]),file.path(folder,"features.tsv.gz"))
  file.rename(paste0('./GSE136001_RAW/',y[3]),file.path(folder,"matrix.mtx.gz"))
})

if(!require(BiocManager)) install.packages("BiocManager",update = F,ask = F)
if(!require(Seurat))install.packages("Seurat")
if(!require(Matrix))install.packages("Matrix")
if(!require(ggplot2))install.packages("ggplot2")
if(!require(cowplot))install.packages("cowplot")
if(!require(magrittr))install.packages("magrittr")
if(!require(dplyr))install.packages("dplyr")
if(!require(purrr))install.packages("purrr")

samples <- dir(path="./GSE136001_RAW/", pattern="^GSM")
for (i in samples){
  assign(paste0("samples_raw_data", i), Read10X(data.dir = paste0("./GSE136001_RAW/", i)))
}
samples_raw_data=list(
  `samples_raw_dataGSM4039241_f-ctrl-1`,`samples_raw_dataGSM4039242_f-ctrl-2`,
  `samples_raw_dataGSM4039243_f-tumor-1`,`samples_raw_dataGSM4039244_f-tumor-2`,
  `samples_raw_dataGSM4039245_m-ctrl-1`,`samples_raw_dataGSM4039246_m-ctrl-2`,
  `samples_raw_dataGSM4039247_m-tumor-1`,`samples_raw_dataGSM4039248_m-tumor-2`)
names(samples_raw_data) <- samples

samples_objects <- lapply(seq_along(samples_raw_data), function(i) {
  seurat_object <- CreateSeuratObject(counts = samples_raw_data[[i]],
                                      project = paste0("mm.gam.gender.", names(samples_raw_data)[i]),
                                      min.cells = 5)
  
  # 通过样本名称添加condition
  if(grepl("ctrl", names(samples_raw_data)[i])) {
    seurat_object$condition <- "ctrl"
  } else {
    seurat_object$condition <- "tumor"
  }
  seurat_object
})
names(samples_objects) <- names(samples_raw_data)


dim(samples_objects$`GSM4039241_f-ctrl-1`)
#[1] 12520 5223

#二、质控
#计算线粒体基因比例,注意这里是小鼠样本,线粒体基因以mt-开头;
#查看一下线粒体基因

mt.gene = rownames(samples_objects$`GSM4039241_f-ctrl-1`)[grep("^mt-",rownames(samples_objects$`GSM4039241_f-ctrl-1`))]
mt.gene
#[1] "mt-Nd1" "mt-Nd2" "mt-Co1" "mt-Co2" "mt-Atp8" "mt-Atp6" "mt-Co3"
#[8] "mt-Nd3" "mt-Nd4l" "mt-Nd4" "mt-Nd5" "mt-Nd6" "mt-Cytb"
#批量计算线粒体基因比例
for (i in seq_along(samples_objects)){
  samples_objects[[i]] <- PercentageFeatureSet(samples_objects[[i]],
                                               pattern = "^mt-",
                                               col.name = "percent_mito")
}
names(samples_objects) <- names(samples_raw_data)
head(samples_objects[[1]]$percent_mito)
#AAACCTGAGAGGTTAT-1 AAACCTGCAATGGATA-1 AAACCTGCACAGATTC-1
#         2.2007515         0.9986505         0.4046945
#AAACGGGAGGTGACCA-1 AAACGGGCATCGGACC-1 AAACGGGTCAGGATCT-1
#         2.2660099         2.3625844         2.6066351
#画个图可视化一下线粒体基因比例
VlnPlot(samples_objects[[1]],features = c("nFeature_RNA", "nCount_RNA", "percent_mito"),
        pt.size = 0, ncol = 3)
#质控过滤(基因200-3000,线粒体基因占比<5%)
samples_objects <- lapply(seq_along(samples_objects), function(i) {
  samples_objects[[i]] <- subset(x = samples_objects[[i]],
                                 subset = nFeature_RNA > 200 & nFeature_RNA < 3000 & percent_mito < 5)
  samples_objects[[i]] <- NormalizeData(object = samples_objects[[i]], verbose = FALSE)
})
names(samples_objects) <- names(samples_raw_data)
dim(samples_objects$`GSM4039241_f-ctrl-1`)
#[1] 12520 5167
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容