范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

单细胞测序分析之小技巧之for循环批量处理数据和出图

  "harmony"整合不同平台的单细胞数据之旅生物信息学习的正确姿势
  NGS系列文章包括NGS基础、转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这) 、ChIP-seq分析 ( ChIP-seq基本分析流程) 、单细胞测序分析 ( 重磅综述:三万字长文读懂单细胞RNA测序分析的最佳实践教程 (原理、代码和评述)) 、DNA甲基化分析、重测序分析、GEO数据挖掘( 典型医学设计实验GEO数据分析 (step-by-step) - Limma差异分析、火山图、功能富集) 等内容。
  在进行单细胞转录组测序分析中,我们发现比如样本较多或者需要大量出图的时候,我一开始就是大量手动一个一个的出图,但回头想想,这样的操作模式不都是一样的嘛,直接用for循环不就搞定啦!基础
  首先我们讲点for循环的基础知识及举个小栗子!
  for循环基本结构如下:for(变量 in 值){}
  也就是说当变量在值的范围内将执行中括号内的操作。是不是非常简单?
  我们举个栗子:
  比如我们想要计算一个向量中偶数的个数:x <- c(2,5,3,9,8,11,6) count <- 0 for (val in x) { if(val %% 2 == 0)  count = count+1 } print(count)[1] 3
  在上面的示例中,由于向量x具有7个元素,因此循环迭代了7次。
  在每次迭代中,val取x的对应元素的值。
  我们使用了一个计数器来计算x中的偶数。我们可以看到x包含3个偶数。进阶
  比如我们现在有两个患者的鼻腔样本,然后我们进行单细胞测序后,cellranger后我们在filtered中分别生成了3个文件:barcodes,features和matrix。我懒呀,我想万一我有好多个样本怎么办,不如用一个for循环来搞定!
  于是我的文件就成了这个样子:batch_list=list("P2","P3") batch_data_list=list("P2"=1,"P3"=1) for( i in 1:length(batch_list)) {   print(batch_list[[i]])   s_object=Read10X(paste("~/Input_files/",batch_list[[i]],sep=""))   s_object=CreateSeuratObject(counts =s_object, min.cells = 0, min.features = 400, project = "P23")   s_object[["percent.mt"]] <- PercentageFeatureSet(s_object, pattern = "^MT-")   s_object <- subset(s_object, subset = nFeature_RNA >100 & nFeature_RNA <8000 & percent.mt <10)   s_object@meta.data[, "run"] <- batch_list[i]   s_object=NormalizeData(s_object)   batch_data_list[[i]]=FindVariableFeatures(s_object, selection.method = "vst", nfeatures =5000) }
  那么我们仔细看一下刚才发生了什么,我们首先把我们的"P2"和"P3"设置为list,然后在for   循环中我们分别进行了读取数据,提取线粒体基因比例,QC   筛选,在metadata   中添加新的一列,进行归一化并计算高变基因。最后将P2和P3合并在一个list中。
  这时候一定会有好同志问这样一个问题,为什么在batch_data_list=list("P2"=1,"P3"=1) 中将P2和P3都赋值为1,这时候我们不妨不对其进行设置,使batch_data_list=list("P2","P3") ,我们会看见下图中的P2会消失哦!
  在我们使用seurat中的FindAllMarkers()   得到每个cluster的高变基因后,我也同时得到了一个csv表,可是我觉得太不直观了,于是我现在要循环出一些不同clusters的vlnplot,我应该怎么办呢?嗨,循环起来呀!clustersss <-   list(     "0",     "1",     "2",     "3",     "4",     "5",     "6",     "7",     "8",     "9",     "10",     "11",     "12",     "13",     "14",     "15",     "16",     "17",     "18",     "19",     "20",     "21",     "22"   ) for (i in clustersss) {   for (m in 1:nrow(run.combined.markers)) {     if (run.combined.markers["cluster"][m, ] == i) {       filename <- paste(run.combined.markers$gene[m], "VlnPlot.pdf", sep = "_")       p <-         VlnPlot(object = run.combined,                 features = c(run.combined.markers$gene[m]))       print(p)       ggsave(p,              filename = paste(i, run.combined.markers$gene[m], "VlnPlot.pdf", sep = "_"))       dev.off()     }   } }
  我给解释一下上面的内容,首先我们把我们的cluster设为list,i代表cluster,m代表run.combined.marker的排序,使用两个for循环进行嵌套,最后在保存文件时将cluster+基因名+vlnplot结合进行保存。
  每次看见这样出图我都特别有成就感,,,,哈哈哈哈,快have a try!
  其实也可以写一个apply   版的,获得所有plotList   ,再用patchwork   或cowplot   进行拼图。plotMarker <- function(cluster, run.combined) {   for (m in 1:nrow(run.combined.markers)) {     if (run.combined.markers["cluster"][m,] == cluster) {       filename <-         paste(run.combined.markers$gene[m], "VlnPlot.pdf", sep = "_")       p <-         VlnPlot(object = run.combined,                 features = c(run.combined.markers$gene[m]))       ggsave(p,              filename = paste(i, run.combined.markers$gene[m], "VlnPlot.pdf", sep = "_"))       return(p)     }   } } plotList = lapply(clustersss, plotMarker, run.combined = run.combined)这个Nature推荐的代码海洋竟然有文章作者上传的所有可重现性脚本,涉及单细胞、微生物组、转录组分析、机器学习等相关 10X单细胞测序分析软件:Cell ranger,从拆库到定量 NBT|45种单细胞轨迹推断方法比较,110个实际数据集和229个合成数据集 重磅综述:三万字长文读懂单细胞RNA测序分析的最佳实践教程 (原理、代码和评述) "harmony"整合不同平台的单细胞数据之旅

弃用赵继伟?杜锋解释了真实原因,并且点名批评了1人2023世界杯预选赛,中国男篮与澳大利亚男篮第二回合的比赛,由于中国男篮末节崩盘,整节比赛只得了3分,最终,以4871大比分输给了澳大利亚男篮23分,其中,单节比赛只得3分,也是创母乳喂养的知识母乳是宝宝的最佳食物,好处多多。而为了成功实现母乳喂养,要遵循一定的原则。下面我们就来了解一些有关母乳喂养的好处和原则。母乳喂养好处多母乳可以提高宝宝的抗病能力,由于宝宝的胃解脂酶跳水队包揽13金,36年世锦赛夺108冠,梦之队最全冠军金牌榜北京时间7月4日凌晨一点,2022布达佩斯第19届国际泳联世锦赛的跳水单元全部完赛。中国军团气势如虹,包揽13枚金牌,将梦之队世锦赛金牌历史记录提高到108枚,傲视同侪,让我们共同以牙还牙!克列缅丘格购物中心爆炸之后,乌军轰炸别尔哥德罗随着俄罗斯第二阶段军事行动的顺利展开,乌克兰军队在乌东败局已定。俄军对乌克兰境内的武器运输车辆武器储存仓库和新兵训练中心等军用基础设施持续轰炸,乌克兰的发动战争能力严重受到削弱。恼19年,男子对妇女下药侵犯,法院认为妇女态度不影响定性重判11年导读强奸罪的行为手段有暴力胁迫及其他手段,其中其他手段是指除暴力胁迫以外的使妇女不知反抗不能反抗不敢反抗的手段,那么关于迷药强奸案例中对迷药是否属于典型手段?针对近年来迷药强奸案呈幸福到万家为了得到王家那块地,万家人一步步地算计,太狠了万家村要建保健品厂,下游要建污水处理厂,挑选的那块地有四户人家,王庆来家就是其中最大的一头。何幸福嫁给王庆来后,两人包了两家的土地,开始做蔬菜大棚基地,与超市签订了长期协议,前期的32022年世界女排联赛,中国女排拒绝放水,31击败韩国女排!就此,韩国女排结束本次世界女排联赛之旅,12战全败,积0分,仅赢下3局。第四局,中国女排2124落后,救3个局点大逆转!末节3篮球世界杯预选赛继续进行,中国男篮再度对阵澳大利亚队,这是两队近几天内的第二次交手。首次交手中,我们中国男篮是以几分劣势惜败于对手。在阵容方面,澳大利亚队的阵容基本上没变,孙铭徽因曝威少欧文交易即将达成西蒙斯又出状况76人有意贝弗利北京时间7月3日,据纽约记者IanBegley报道,欧文和威少互换的交易最快将在周日(北京时间周一)完成另外篮网球员西蒙斯注销IG账号,不得不让人产生一些猜测,很多人都认为是西蒙斯幸福到万家王庆来至死不知,何幸福和传家纠缠到底的真实隐情何幸福和王庆来结婚当天,书记儿子万传家借着婚闹,对何幸福的妹妹耍流氓。事发时,何幸福拿起板凳怒砸了万传家。事发后,何幸福去了万传家就砸人之事向对方道歉,但是,她也要求万传家得为婚闹俄77架民机被扣押,中国承诺提供零件,三大航下单292架空客在俄罗斯发起对于乌克兰的特别军事行动之后,西方国家也已经对俄罗斯进行了空前的制裁,西方国家对于俄罗斯的制裁力度已经超越了冷战时期对于苏联的打压力度,如今有77架俄罗斯飞机已经遭到了
男篮横扫同曦却揪出了4人,赵继伟吴前2人或出局,新帅也毫不留情男篮大胜了南京同曦队,然而却有4名水货的投篮命中率相当低迷,尤其是包括了球队中被称之为MVP的吴前,马上被乔帅揪了出来。接着还包括了上个赛季的MVP赵继伟,加上郭艾伦甚至还有周琦大44分41分40分!超新星果然非同一般,库班赌错了,欧文真不如他凯里欧文加盟独行侠,东契奇和欧文组成了东欧组合,两人一起出战了两场比赛,第一场打国王,东欧组合砍下55分16篮板12助攻,但是独行侠5分惜败第二场打森林狼,东欧组合一共砍下69分1陈俊律师谈陈戌源在任期间是中国足球至黑时刻,联赛几近入土直播吧2月14日讯在足协主席陈戌源接受审查调查的消息传出后,律师陈俊在个人社媒发文,认为这是一份让他满意的情人节礼物。陈俊认为,陈戍源在任期间是中国足球的至黑时刻,他发文写道虽然说中国足坛地震?多名记者爆料有大瓜且保熟某高层协助调查北京时间2月14日傍晚,多名足球记者在社交媒体上爆料,中国足球今天即将有大事发生,矛头直指中国足协某领导。足球记者王明浩在社交媒体上发布一段短视频,出镜的是中国足协主席陈戌源和已经来一趟浪漫疗愈之旅匈牙利神奇的音乐公路世界上有着各式各样的公路,,而在匈牙利却有条音乐公路,若于正确的限速下行驶,竟能听得到美妙的音乐,有趣又浪漫!此为匈牙利的67号公路,建于2019年,建造的原因也在于纪念匈牙利Re都说药补不如食补,真正的食补是这样的黄帝内经中早就指出毒药攻邪,五谷为养,五果为助,五畜为益,五菜为充,气味合而服之,以补益精气。从这个记载中,可以看到中国古代就已认为毒药是攻邪的而无毒的食物谷果畜菜等,能补精益气,被称为坏小子的韦世豪去意大利看望恩师,难道要帮助他加盟西甲前几年有很多世界大牌球星加入中超,当然也有很多世界冠军教练来中超执教,当他们离开之后,感觉与本土球员关系就断了,很少有维持多年的关系,但是有一对师徒感情特别深,那就是被称为坏小子的逼本泽马离队?皇马将引进弗拉霍维奇,23岁的亿元替补真的合适吗虽然说皇马的阵容当中拥有维尼修斯罗德里戈和巴尔韦德等一众有天赋的球员,而且在本赛季都有非常出色的发挥,但是目前皇马的头号射手依然是本泽马。35岁的法国老将虽然本赛季遭遇了伤病的问题26岁拿总冠军,29岁成玻璃人!看清自己,学学威少吧前言湖人队从鹈鹕换来戴维斯已经过去了3年多的时间,戴维斯加盟湖人队的第一年湖人队就拿到了总冠军,然而在此后的三年里湖人却非常得挣扎,和冠军都渐行渐远了。所以现在看来似乎戴维斯的这笔从19。3分,到场均24。7分!21岁就入选全明星,5年2亿顶薪稳了啊原以为唐斯受伤,森林狼本赛季将一蹶不振。万万没想到,在爱德华兹的带领下,球队战绩反而越来越好。今天主场击败独行侠后,森林狼累计取得31胜29负。目前,他们已经从赛季初的西部11,飙全国国际象棋锦标赛(团体)开赛新华社南京2月14日电中国国际象棋协会消息,瑞贝卡杯全国国际象棋锦标赛(团体)14日在南京开赛,来自全国的男女各16支代表队参加角逐。开幕式后进行了第一轮的争夺,男子组天津队和河北