从我的博客的界面可看出,我这个网站是用Wordpress搭建的,不可否认,由于其入手简单,功能繁多的插件以及友好的界面是一些初学者建立个人网站的首选(比如我)。尽管你不懂HTML/CSS/JS等,也能通过wordpress轻松地搭建一个属于自己的网站
用AnnotationHub获取非模式物种注释信息
Symbols count in article: 5k Reading time ≈ 5 mins.
这方法最初是在Y叔的微信软文非模式基因GO富集分析:以玉米为例+使用OrgDb中学到的,其主要讲了如何获取非模式物种的OrgDb包。而OrgDb包主要收录了其对应物种的注释信息,比如以人类的org.Hs.eg.db
为例:
R作图 ggplot2图片的布局排版
ggplot2是R语言中用来可视化的利器,其图层逻辑非常人性化,简单的说就是一句话一张图,后一张图叠加在前一张图上,所想表达的几乎都可以用一句代码在图形上展示出来。如果刚开始接触R作图的话,完全可以快速地从ggplot2入门而不用去管base作图,ggplot2的用法已经完全覆盖base作图,除了一项(我至今接触到的)——图片布局
刚开始我也曾困惑过,base作图有par()
函数来对多张图片进行布局排布,但该函数对于ggplot2的作图结果则是完全无效的。然后网上搜了一通,找了个grid
包,其可以说专门用来排版图片的,当然也支持ggplot2,但是个人感觉使用起来不太顺手(由于其功能有点复杂了)。最近刚看到一个函数multiplot
,查了下是来自Rmisc
包,这个包发布于2013年,我在这之前也没用过,但是这个函数对于ggplot2结果图片的排布来说简单好使(后来简单看了下multiplot
函数的源码,原来其就是用了grid
包来实现布局的。。。相当于将grid
包中关键的部分又封装了下),下面记录下上述两种方法:
使用Shiny快速开发web程序
去年第一次接触Shiny时,由于其是基于R语言,用于开发交互式web应用,并且不需要HTML,CSS以及JS,所以当时非常有兴趣的学了一段时间,最终写了一个shiny app用于展示ComplexHeatmap
包(其实就是用定义了几个插件用于调整做热图的参数),代码放在Github,然后就再也没用过了。。。
用XML包解析uniprot的API网页
如果想从Uniprot的API中提取individual entries的所有信息,如:P12345
,则可以通过下述方法:
https://www.uniprot.org/uniprot/P12345.txt
https://www.uniprot.org/uniprot/P12345.xml
https://www.uniprot.org/uniprot/P12345.rdf
https://www.uniprot.org/uniprot/P12345.fasta
https://www.uniprot.org/uniprot/P12345.gff
Bioconductor的质谱蛋白组学数据分析
Symbols count in article: 4.8k Reading time ≈ 4 mins.
这篇跟之前的一篇博文Bioconductor的DNA甲基化芯片分析流程一样,主要简单的记录下如何基于bioconductor的R包对蛋白组质谱数据进行分析。在看到这篇biocondutor官网文档Mass spectrometry and proteomics data analysis之前,我一直以为质谱数据的分析过程就是用一些商业化软件或者开源软件将谱图转化为肽段/蛋白的表达谱,由于蛋白组应用未如NGS数据那般热门,所以就未去搜索过是否能用R包来对质谱数据进行一定程度的分析。还好biocondutor将蛋白组质谱数据分析相关的R包做了总结,如上述那篇文章,我也正好来学习下
Differential expression in proteomics
Symbols count in article: 4.2k Reading time ≈ 4 mins.
在之前一篇博文Bioinformatics for Proteomics Data 中提到,蛋白组学生物信息分析一般要经过图谱识别和定量两个步骤,其中定量这步对于后续的差异表达蛋白的筛选又至关重要,尤其现在蛋白质谱技术在一些生物标记物发掘中的应用。一般现在蛋白组学定量技术可以大致分为标记定量技术(iTRAQ)和非标记定量技术(Label-free),两者的显著差别在于是否用同位素标签进行标记,后者相比前者,因为不需要进行标记,所以费用相对来说较低,而且所需的样本总量少。Label-free是通过比较不同样本中相对应的肽段强度,进而对蛋白进行相对定量
Bioinformatics for Proteomics Data
Symbols count in article: 2.1k Reading time ≈ 2 mins.
这里并不是全面地介绍如何对蛋白质组学进行分析,而是利用这篇文献Perseus: A Bioinformatics Platform for Integrative Analysis of Proteomics Data in Cancer Research,从一款用于蛋白组学下游分析的软件的角度,来写写常规的分析流程。从个人的角度来看,现在蛋白组学数据的上游分析因受仪器等原因的限制,分析方法没有较大的进步,分析流程也都整合在一些商业化软件中了,开源的软件较少。而下游分析则比较简单,还处于类似测序的芯片时代(意思就是分析内容几乎跟芯片分析一样,就那几种,唯一区别:蛋白组是基于肽段/蛋白表达矩阵。。。)
R学习笔记 K-means聚类
本文开头先记录一篇文章李航博士的《浅谈我对机器学习的理解》
K-means聚类是一种无监督学习,主要用于对未标记的数据进行分组,这里的K代表分组的个数。K-means算法会迭代分配每个数据点到K个分组中,从而使得数据点基于特征相似性进行聚集
K-means一般认为的计算方法如下:
- 初始化簇的中心
- 遍历整个数据集,将每个数据点分配到离它最近的中心所在的簇中
- 以每个簇的数据点的均值中心点代替之前的中心,继续迭代直至收敛
Alignment-based的转录本定量-RSEM
Symbols count in article: 4.2k Reading time ≈ 4 mins.
在之前的一篇博文Alignment-free的转录本比对工具-Salmon提到了用Alignment-free的Salmon来基于转录本水平进行表达丰度的定量。
Bioconductor的DNA甲基化芯片分析流程
Symbols count in article: 8.3k Reading time ≈ 8 mins.
一次偶然的搜索中发现biocondutor有个甲基化芯片的分析流程,刚好可以学习下,写的真的很棒。 Bioconductor的DNA methylation workflow可以在http://www.bioconductor.org/help/workflows/methylationArrayAnalysis/中查看,教程开头先对DNA甲基化芯片及其原理做了简单的介绍,包括一些常见的术语:比如β value和M value,后面就正式进入DNA甲基化的分析方法的讲解了。
甲基化芯片分析-minfi包
Symbols count in article: 2.1k Reading time ≈ 2 mins.
之前学习了ChAMP
包来处理甲基化芯片分析的整个常规流程,这个包整合了好多常用工具以及分析算法,对使用者来说非常的便捷;但是从其说明文档来看,对于一些比较基础的过程讲的比较少,作为主要的读入芯片数据那步来说,我还是没明白芯片数据是怎么转化为beta矩阵的,所以我找了minfi包
来了解下这个过程。
甲基化芯片入门学习-数据分析(三)
Symbols count in article: 3.5k Reading time ≈ 3 mins.
由于开始时文献阅读的不多,导致对一些甲基化芯片文章的理解造成了一定的偏差,这篇笔记陆陆续续改了几次
之前甲基化入门学习时本打算重复下提纲给的文献,但是后来学习过程中发现GEO上下载的RAW文件里没有该样本信息文件,就用了ChAMP
包的测试数据。最后想了想,还是决定找一篇比较简单的文献的来实践使用下甲基化450K芯片的分析过程。看了几篇关于人的甲基化文献(数据在GEO上的),挑了一篇Intrinsic gene changes determine the successful establishment of stable renal cancer cell lines from tumour tissue,样本数据比较少,但是文章对分组比较明确(或者说是分的比较简单),所以拿来试试
SnpEFF/Annovar注释粗略解读
Symbols count in article: 2.6k Reading time ≈ 2 mins.
在学习全基因组call variant时,用过snpEFF/Annovar两款对vcf文件注释的软件,如两篇博文所记录的简单学习snpEFF注释vcf-笔记和Annovar注释vcf-笔记,那时并未对结果进一步的解读,比如:Sequence Ontology这个概念
Annovar
Annovar的Gene-based annotation的结果有两个文件: >1. 在外显子位点上的突变注释:XX.exonic_variant_function
>2. 所有位点上的突变注释:XX.variant_function
XX.variant_function
文件一般关心前两列,后面几列均是变异位点的一些信息(因为我那时没有选择其他snp相关数据库,只是Gene-based annotation的话,所得信息会比较少):
Rstudio-server的安装与使用
为什么要安装Rstudio-server:
- 老式笔记本在R处理一些较大数据时越来越力不从心了,有时因为运行一些R脚本,会导致笔记本的卡死
- 最近在学习甲基化芯片分析,在ubuntu的R中使用
ChAMP
包分析数据时遇无法打开GUI的问题,这时就需要有一个可视化界面- 在处理一些复杂数据时,服务器上的R能有效加快运算速度;但我已经习惯了在IDE环境(windows Rstudio)上的书写代码,无法忍受服务器上那简单的R操作界面
- 之前用shiny时也装过Rstuio-server,在Amazon Web Services (AWS)安装的,这次也想在自己服务器上装一个试试,方便以后装shiny
- 待写
甲基化芯片入门学习-ChAMP包(二)
Symbols count in article: 5.2k Reading time ≈ 5 mins.
DNA甲基化芯片分析有不少R包实现,如:minfi、lumi以及ChAMP等,我只粗略看过minfi和ChAMP,发现ChAMP的功能更加齐全以及使用也较为简单,并且其也集成了minfi包的部分功能,所以下面以ChAMP包作为学习对象
甲基化芯片入门学习-基础知识(一)
Symbols count in article: 3.4k Reading time ≈ 3 mins.
基本概念梳理
什么是DNA甲基化
DNA甲基化是表观遗传学的中最为常见的一种修饰,其主要形式包括:5-甲基胞嘧啶 (5-mC)、少量的N6-甲基腺嘌呤 (N6-mA) 以及7-甲基鸟嘌呤(7-mG)。
目前常说的DNA甲基化一般指CpG岛甲基化,即在DNA甲基化转移酶(DNMTs)的作用下使CpG二核苷酸5'端的胞嘧啶转变为5'甲基胞嘧啶。
哺乳动物体细胞的DNA胞嘧啶甲基化主要发生在CpG岛;CpG岛(CpG islands)指CpG序列密度相比整个基因组来说是特别高的富集区域,一般位于启动子附近,5'端非翻译区或第一个外显子;一般CpG岛序列长度在500bp以上,GC含量高于55%以及CpG出现比率大于0.65,40%的启动子区域含有CpG岛。
CpG shores and shelves分别是指距CpG岛边缘2kb与4kb的区域,哺乳动物中的非CpG甲基化主要是发生在胚胎发育阶段和脑组织中
基因组中60%-90%的CpG都被甲基化,未甲基化的CpG形成CpG岛,位于结构基因启动子的核心序列和转录起始点
假设检验-t检验
最近在看一本书《赤裸裸的统计学》,其中有两章节讲的是中心极限定理以及统计推断与假设检验,看完后瞬间勾起我去统计推断的兴趣,想到了平时用的T检验,所以准备将统计学的一些基础知识好好补一补,就先从整理下对于T检验的粗浅理解好好补一补,就先从整理下对于T检验的粗浅理解
初识Uniprot API
Symbols count in article: 4.6k Reading time ≈ 4 mins.
Uniprot,全名Universal Protein,其整合了Swissprot、TrEMBL和PRI-PSD三大数据库,是目前使用非常广泛的蛋白质数据库
常规物种的蛋白质组学研究一般会使用Uniprot数据库的蛋白序列作为查库序列,因此蛋白组学的结果常以uniprot ID作为识别ID,而且Uniprot数据库还与其他公共库进行了关联,丰富了蛋白相关的信息
这里主要是对Uniprot的API进行一个小结。之前略微了解过KEGG的API,能非常方便的通过URL以及编程命令轻松访问KEGG数据库获取所需要的信息,Uniprot API也有相同的功能
2018年的第一个FLAG
去年这个时候我给自己立的FLAG是正式成为生信菜鸟