单基因生信分析流程(1)一文解决TCGA数据下载整理问题 单基因生信分析流程(2)一文解决差异分析和基因相关分析问题 本文目的 学会如何使用差异分析 学会绘制火山图和热图 学会如何求取相关基因 第一招: 差异分析 差异分析步骤总结 (1)读取基因表达矩阵 (2)根据基因表达量设置样本分组 (3)设置差异倍数、生成差异分析结果 (4)绘制火山图和热图 加载所必须的包 # ============== edgeR") rm(list=ls()) # =============================================================== 设置分组,我们根据ERBB2基因的表达中位值 ,将样本分为ERBB2高表达组和ERBB2低表达组,通过求两组样本的差异基因,来对ERBB2的生物学功能进行分析。
导言 构建生信分析流程是生物信息学从业人员必备的技能之一,对该项能力的评估常常是各大公司招录人员的参考项目之一。 一个好的生物信息分析流程可以让你事倍功半,有效减负,同时也有利于他人重复你的数据分析结果。 ? 根据生信信息学数据分析流程(管道、工作流程序)构建的风格和方式,大致有以下几大流派(注1): 脚本语言流 Common Workflow language 语言流 Makefile流 配置文件流 Jupyter 生信分析流程构建的几大流派 | 脚本语言流 脚本语言流的主要是通过简单的脚本语言(如shell,R,Python,Perl)运行各类命令行脚本/程序。 )最早开始接触生信分析流程的方式。
导言 构建生信分析流程是生物信息学从业人员必备的技能之一,对该项能力的评估常常是各大公司招录人员的参考项目之一。 一个好的生物信息分析流程可以让你事倍功半,有效减负,同时也有利于他人重复你的数据分析结果。 根据生信信息学数据分析流程(管道、工作流程序)构建的风格和方式,大致有以下几大流派(注1): 脚本语言流 Common Workflow language 语言流 Makefile流 配置文件流 Jupyter 生信分析流程构建的几大流派 | 脚本语言流 脚本语言流的主要是通过简单的脚本语言(如 shell,R,Python,Perl)运行各类命令行脚本/程序。 前两种(1 和 2)是大多数生物信息学初学者(不具备封装和打包能力)最早开始接触生信分析流程的方式。后两种(3 和 4)是专业人员开发新工具、新流程的必备技能。
接上两篇内容,本文主要讲述工作中NGS从科研进入医学临床领域,工作中接触到生信流程,以及最终在实现的过程。 接触二代测序,生信分析,那真是打开了一个新世界的大门,各种名次术语满天飞,搞的头晕脑胀。 下面分阶段描述生信分析流程升级/进化的过程: ---- 1.手动命令行运行 经过几个月接触,自学、爬坑,慢慢搞清楚了部分内容,在似懂非懂之间开始了生信流程分析,终于有一天明白过来,这所谓的pipeline 比如其中一个步骤: 生信分析流程的进化_1.png QC 完成后,然后运行下一个步骤: 生信分析流程的进化_2.png 运行模式,一个输入或者多个输入文件,通过软件分析/计算得到一个或者多个输出文件 脚本连续运行 随着熟练程度提高,生信分析上用到的软件/工具也熟悉起来了,但是问题也暴露出来了,简单的一套 GATK Best Practice 肿瘤突变分析流程,加上CNV,SV 分析从 fastq 文件开始到最后得到过滤的 到这里,基本上就达到很多公司的生信自动化分析水平了 6. 然而到这里就足够了么?
开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 一些练习题 给定 FASTA格式的文件(test1.fa 和 test2.fa),写一个程序 cat.py 读入文件,并输出到屏幕 (2分) open(file) for .. in loop print() strip ......TCCGCTG......GCGTTCACC......CGGGGTCCGGAG 写程序 formatFasta-2.py, 读入test2.fa,把每条FASTA序列分割成80个字母一行的序列 (2分) sort dict aDict[key] = [] aDict[key].append(value) 用到的知识点 提取给定名字的序列 (2分) 用到的知识点 print >>fh, or fh.write() 取模运算,4 % 2 == 0 写程序 grepFasta.py, 提取fasta.name中名字对应的test2.fa的序列,并输出到屏幕。
开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 一些练习题 给定 FASTA格式的文件(test1.fa 和 test2.fa),写一个程序 cat.py 读入文件,并输出到屏幕 (2分) open(file) for .. in loop print() strip ......TCCGCTG......GCGTTCACC......CGGGGTCCGGAG 写程序 formatFasta-2.py, 读入test2.fa,把每条FASTA序列分割成80个字母一行的序列 (2分) sort dict aDict[key] = [] aDict[key].append(value) 用到的知识点 提取给定名字的序列 (2分) 用到的知识点 print >>fh, or fh.write() 取模运算,4 % 2 == 0 写程序 grepFasta.py, 提取fasta.name中名字对应的test2.fa的序列,并输出到屏幕。
########################################################################################## ## step2 fpkm) { exp(log(fpkm) - log(sum(fpkm)) + log(1e6)) } expr <- as.data.frame (apply(count_matrix , 2, gene_name","gene_id","gene_biotype"), sep = " \\| ") mRNA_exprSet <- mRNA_exprSet[,-(2: num <- as.numeric(as.character(substring(metadata[i,'barcode'],14,15))) if (num == 1 ) {metadata[i,2] = 1) {metadata[i,2] <- "N"} } names(metadata)[2] <- 'Barcode' table(metadata$Barcode) metadata <
在上文图形化开放式生信分析系统开发 - 3 生信分析流程的进化 讨论了生信分析pipeline的进化,从手动到自动,但仍然停留在终端命令行阶段,为了让更多非生信专业的人能够使用,就要想办法实现生信分析pipeline ${tools.samtools} 分析流程中用的reference文件以及数据库,如 hg19.fa ${ref.hg19} 分析流程中,用到的cutoff值. /节点设计:前文提到,生信分析pipeline其实就是基于文件输入输出的工作流,这里对工作流做了简化,归纳起来工作流中有4种节点。 Input节点,提供pipeline的起始输入文件 start.png input_menu.png 2. 设计器功能增强: 当分析节点没有相互连接时候,要提示错误 validate_1.png 修正Start的错误后,重新验证状态时: validate_2.png 在Task任务中选择Start输入的文件,
生信论文的套路 ONCOMINE从全景、亚型两个维度做表达差异分析; 临床标本从蛋白水平确认(或HPA数据库),很重要; Kaplan-Meier Plotter从临床意义的角度阐明其重要性; cBio-portal 差异分析,无论是Oncomine,GEPIA,还是UALCAN、HPA数据库,都不需要R语言编写代码,容易上手,基本上一个星期甚至更短的时间就可以搞定,属于菜鸟级别生信操作。并没有想象中那么难。 fold change>2(起码1.5),p<0.05是差异分析的基本标准。但是表达的差异≠表型的差异,而这两者关系又密不可分。 生存分析是生信论文中经常出现的表型,也就是说基因在正常和肿瘤组织中表达的差异,与生存率的指标密切相关。如A基因在肿瘤中表达明显上调,生存率显著下降,这就是非常明确的相关性。 生存分析是非常重要的表型,诸多文章均有介绍。这里,我们对生存分析的纯生信数据库进行总结,果友们在选择时也可以作为参考。
好在时至今日,已经有很多科学家开发了非常多优秀的算法及软件,很多时候我们要做的是怎么将这些软件串联起来并构建成生信分析流程,而这项技能通常是各大公司考核应聘者的项目之一。 这种理念是我们最直观的分析逻辑,也是最常用的流程框架。通常,生信刚入门的同学们会选择这种方式,简单而暴力;段位较高的同学,则会选择将分析内容进行包装,然后提供多个参数选择,增加流程灵活性。 大部分时候,这样都会满足我们分析需求,但是其作为一个生信流程有着严重的缺点就是缺乏重入性(reentrancy),即当流程在运行过程中,很容易因为某些不知名的原因而发生中断,而普通的脚本流程只能是从头来过了 下面是Galaxy在线编辑WES分析流程界面: ? ,那么就可以使用Implicit/Explicit类的流程,如:Snakemake、Nextflow等,而这一类的流程也比较适合刚入门生信的小伙伴们去尝试; 如果是需要进行高性能流程开发,致力于解决特定的生物学问题
在上文图形化开放式生信分析系统开发 - 4 生信分析流程的图形化设计 讨论了生信分析pipeline的图形化,如何用图形的方式显示生信pipeline,但是pipeline脚本按照变量的形式保存之后,如何运行 本地模式: 优势:容易实现,运行效率高,不依赖网络 劣势:限制了软件的适用范围,本机性能就决定了分析性能,不易扩展,限于运算量较低的业务。 2. 远程模式: 优势:便于扩展,部署方便。 SliverWorkspace_V2.1.pdf 首先这里实现了,服务器账户信息的管理,账户、主机名、端口、密钥、密码,这些信息为了保证安全,需要二次加密,不能将密码明文保存在数据库中,一旦泄漏危害巨大 服务器信息2. png 针对分析流程,按照约定定义了两个变量:${data}数据输入目录,${result}输出目录 考虑到并行运算,这里设置了该账户可以并行运行的任务数量,已经连续运行任务的最小时间间隔。 运行完成后服务器端推送信息到控制端,判断是否符合要求,输出文件是否存在 运行失败后服务器端推送信息到控制端,显示错误信息,错误日志,便于生信开发人员查找错误 统计每一个分析步骤的运行时间,便于统计分析
在上文生信分析系统开发 - 5 生信分析流程服务器端运行 解决了设计好的流程在分析服务器上运行的问题,随之而来就衍生出的新需求: 一、批量分析流程的运行顺序 流程输入文件是按照样本编号来匹配运行的,运行顺序就取决于样本信息 :开始分析流程之后,可以在任意时间停止分析过程 错误恢复运行:分析流程运行错误,再次运行,可以选择从错误处恢复运行 调试恢复运行:分析结束,修改pipeline参数后,可以选择从任意一点开始重新分析(应用修改后的参数 ) 覆盖运行:分析错误或者正常结束后,重新从头开始运行整个分析流程,并覆盖之前的分析结果 技术实现: 一、批量样本分析流程的运行顺序: 依赖于样本的优先级和输入的顺序先后,每次从数据库取出未完成分析的样本列表 每次列表中取最上面一个,去指定目录里匹配输入文件,如果输入文件符合匹配要求,立即启动pipeline,开始流程分析。同时更新该样本状态为正在分析,这样下次排序时候就不会重复获取该样本了。 其实就是一个带有优先级参数的先进先出的堆栈 二、分析流程的控制 前文描述了如何将设计好的pipeline运行于服务器,如果要监控整个运行过程,就需要创建一个守护线程,如果用户操作停止分析,这时候守护进程就要终止运行进程
权限控制多用户的权限控制命令行模式linux的操作靠命令行来实现目录结构文件系统呈树状,宿主目录放在home目录下2.为什么学生信要用linux? : cannot remove 'test2': No such file or directorybio09@ecm-cefa:~$ rm test2.txtrm: cannot remove 'test2 : cannot remove 'test2': No such file or directorybio09@ecm-cefa:~/lidahuang/test$ cd test2-bash: cd: test2: No such file or directorybio09@ecm-cefa:~/lidahuang/test$ rm test2.txtrm: cannot remove 'test2 .txt': No such file or directorybio09@ecm-cefa:~/lidahuang/test$ cat test2cat: test2: No such file or
生信论文的套路 ONCOMINE从全景、亚型两个维度做表达差异分析; 临床标本从蛋白水平确认(或HPA数据库),很重要; Kaplan-Meier Plotter从临床意义的角度阐明其重要性; cBio-portal 在差异分析的前提下,表型分析成为重点内容,也是可以玩出花样的地方。 生存分析是非常常见的表型分析。与生存分析相比,相关性分析是另外一个常见的表型分析。 免疫浸润分析比生存分析、差异分析和相关性分析难度更大,因为免疫学是不断延伸、拓展的学科,并不断从理论走向应用、临床,兼有科学性和技术性,比如实验中已经普遍应用的免疫印迹(WB),流式分析,免疫组化和免疫荧光等等 生信分析中,有一种算法叫反卷积分析,英文名叫Deconvolution。 生信开发人员可以先通过预设一个优秀的数据训练集(训练集主要包含了每种不同免疫细胞的基因表达特征),然后通过反卷积算法推算出这个整体样本中究竟有哪些免疫细胞。
生信技能树学习笔记 Linux里的文件 1.文件的传输 2.文件的表示 文件夹管理或路径有关的符号: . 当前目录 .. cp:copy and paste 常见参数:-r, copy directories recursively 常见用法:cp [OPTION] SOURCE DIRECTORY 要说明:1.拷贝谁2. tar归档文件(创建压缩文件) -x ## 从已有tar归档文件中提取文件(解压缩) -f ## 输出结果到文件或设备 -v ## 在处理文件时显示文件(显示处理进度) -j ## 将输出重定向给bzip2命令 Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩 一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后 再用压缩程序进行压缩(gzip、bzip2或zip命令)。 http://linux.51yip.com/ linux命令手册 Q2:有没有什么书籍可以系统地学习linux相关的知识?
每月一生信流程栏目灵感来自于《铁汉1991》博客的《每日一生信》,他那个时候介绍的主要是生信基础知识,包括数据结构,数据格式,数据库资源,计算机基础等等,所以每天都可以进步,每天都有成果。 这些基础知识已经被分享的七七八八了,所以我这里推陈出新,来一个每月一生信流程,陪生信技能树的粉丝们一起进步! image.png 不同数据变换公式的差异 学习这样的流程是需要一定背景知识的 首先是LINUX学习 我在《生信分析人员如何系统入门Linux(2019更新版)》把Linux的学习过程分成6个阶段 , ,读5遍以上 视频必须强推生信技能树近30万学习量的基础合辑: image.png 生信技能树关于RNA-seq上下游数据分析的教程的确不少了 因为做目录确实很浪费时间,差不多就下面这些,大家先学习吧: 生信小白的RNA-seq实战历程 RNA-seq数据分析指南 后记 听说隔壁openbiox团队在组织翻译这个bioconductor流程系列,而且还是由我们生信技能树元老-思考问题的熊领头,希望他们的翻译成果早日出版
① 服务于supercomputer的OS② 开源,能方便运行大量数据2、常用linux代码pwd #显示当前路径mkdir … #创建空目录ls #显示列表rm … #删除文件rmdir head … #显示前10行tail … #显示后10行head -n3 … #显示前3行|3可替换tail -n3 … #显示后3行cp file1 file2 #复制file1,命名file2mv #移动或重命名图片生信星球学习小组
seq(from = 2,to = 15,by = 2) ## [1] 2 4 6 8 10 12 14 # 2.生成向量,内容为:"student2" "student4" "student6 seq(2,100,2) ## [1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 "AC104581.1" "MPP2" "ATP2A2" "SNRPE" ## [19] "PRSS8" "ZNF461" "CECR5" "LCP1" ## [43] "OR2D3" "LIPE" "LIPE" "CANX" "ATP6V1B2" "MARC2" z = rnorm(n=10,mean=0,sd=18) z[z<(-2)] ## [1] -4.657298 -8.565170 -18.576409 -2.250447 引自生信技能树 This
图片——来源:生信星球2.为什么学生信要用linux?(1)生物软件基于linux,系统开源、免费,不需要图形界面,有效节约资源。(2)命令行模式可以批量、高效地处理文件,满足数据分析的要求。 3.怎样召唤linux--阿里云服务器(1)单纯linux,用U盘安装一下纯linux系统,推荐CentOS或者Ubuntu整个过程大概只需要20分钟;(2)Windows10上的linux(3)本地服务器上的 同时安装Xftp如何登录生信星球https://www.jianshu.com/p/8a340b103a411.ip地址。ip是代表服务器的一个“编号”。2.用户名。bio开头的那个3.密码。
官网:https://sylabs.io/ 文档:https://sylabs.io/docs/ github:https://github.com/sylabs/singularity 2发表文章 题目 (唯一不足是Conda安装的singularity不是最新版本) conda create -n singularity singularity=3.8.6 -y 4生信分析中为什么使用Singularity Singularity 容器可以将软件及其依赖项打包在一起,确保分析环境的一致性,无论是在本地机器、服务器还是云平台上。 singularity build --fakeroot test.sif test.def ## 运行 singularity run test.sif 示例演示 运行输出 6来看一个实例 刚好前段时间生信技能树有发一个推文介绍了中国人群的肝癌多组学队列研究 amd64 org.label-schema.build-date: Thursday_17_November_2022_17:11:39_+08 org.label-schema.license: GPLv2