测试数据:KPGP的WES测序数据,下载地址ftp://ftp.kobic.re.kr/pub/KPGP/2017_release_candidate/WES/,分别下载了KPGP-00265
,KPGP-00266
,KPGP-00267
,KPGP-00270
和KPGP-00273
5组数据
可视化kegg通路-pathview包
Symbols count in article: 4.7k Reading time ≈ 4 mins.
Pathview是一个用于整合表达谱数据并用于可视化kegg通路的一个R包,其会先下载kegg官网上的通路图,然后整合输入数据对通路图进行再次渲染(加工?),从而对kegg通路图进行一定程度上的个性化处理
Shiny用法整理(二)
继续整理shiny的几个用法
DataTables in a Shiny App
DT包可以说是shiny网页展示表格的首选(个人觉得哈),其功能丰富,是JS的DataTables库的R端口,功能非常强强大,简单的使用即可满足常用的需求,如:
Shiny用法整理(一)
以下是最近整理的Shiny小程序的一些笔记
App formats and launching apps
曾经在写Shiny小程序的时候,需要包括2个文件:ui.R
和server.R
,里面分别包含了两个函数:shinyUI()
和shinyServer()
;但是现在的Shiny程序并不需要这样形式了,只需要一个app.R
,格式跟我们平时在RStduio中写的shiny程序一样,由三部分组成,如下:
Shiny layout guide(shinydashboard)
Shiny的UI界面可用多个方式来展示,你可以用shiny基本布局函数+theme主题函数来实现;也可以用shinydashboard来定义你网页的布局,当然还有shiny的JS插件以及其他技巧。
GATK 4.0 WGS germline call variant
Symbols count in article: 11k Reading time ≈ 10 mins.
GATK升级4.0版了,作为人类call variant的金标准软件,加上其强大的团队,每次重大更新都会给使用者带来一点新的东西(或者说是改变),我也正好整理下,将GATK基本分析流程过渡到4.0版本
R markdown的pdf报告(中文输出解决方案)
要生成一个动态报告,我一般会首选html报告(网页版报告),其交互性以及页面更加丰富点;但是如果是要一份正规的报告,那么一般会选PDF报告
在前面一篇博文R Markdown学习中提到过,如果你是用RStudio来生成报告的话,还除了pandoc外(因为RStudio自带),还需要安装miktex(windows),因为这是基于latex的
R Markdown学习(二)
看完https://rmarkdown.rstudio.com和https://bookdown.org/yihui/rmarkdown/,发现rmarkdown在这些创作者手里竟然演变出这么多功能,这里我挑几个个人比较喜欢的功能简单的记录一下
R Markdown学习
第一次听说R markdown的时候,简单以为Rmarkdown只是一个markdown拓展的一个小工具而已,最近才发现Rmarkdown是一个展示报告的利器!如果你不想用word等老套的报告模式,那么Rmarkdown绝对能满足你的需求,并且其还有其他优势所在(自行搜下就明白了)
rMATS可视化-rmats2sashimiplot
Symbols count in article: 3.7k Reading time ≈ 3 mins.
之前的对rMATS软件做笔记的时候,提到过rmats2sashimiplot这款专门用来对rMATS分析结果做可视化的软件,最近尝试用了下,操作比较简洁,但是还是留了点问题没解决
rmats2sashimiplot,网址:rmats2sashimiplot
R语言 PCA分析
PCA(Principal Components Analysis)即主成分分析,一种无监督算法,降维中的最常见的一种方法
为什么要降维:
- 减少高维数据的处理难度,降低后续计算的复杂度
- 去除噪音和冗余数据,同时减少信息的损失
- 低维数据相比高维更加容易理解及可视化
PCA的本质:将具有相关性的高维变量通过线性变换投影到低维空间上,这低维变量称为主成分;并且通过最大方差理论使得第一主成分能对原始数据更多的解释(变异最大,也就是方差最大),同时也使得这些低维度变量的相关尽可能的小,便于后续分析
R语言 相关性分析
来自于 白话统计这本书的 一些笔记
R语言 简单方差分析
Perl 多线程处理数据
Symbols count in article: 3.1k Reading time ≈ 3 mins.
现在学习Perl的人真不多了(略微有点感触),最近想了解下Perl的多线程/多进程的使用方法,在网上查下文章想学习下,结果发现都是2-5年前写的文章了。当然以"胶水"语言著称的Perl也不太适合来写一些讲究效率的软件,毕竟速度摆着那;尤其在生信领域,常规的软件还是R/Python比较多,如果是支持多线程的软件则一般也是C++/JAVA写的
使用Perl/sed/awk分割大文件(测序fastq文件)
Symbols count in article: 2.2k Reading time ≈ 2 mins.
之前一段时间一直在用R,最近刚转变过来时差点都不会写了Perl了(有时觉得R的向量思维真的很棒!应用性极强~)
刚好遇到一个问题需要解决:将4000000行的测序fastq序列分割成10份,强行用Perl写了下。。下面是一些解决思路(代码比较简单,就不做注释了)
R 多线程并行计算
R作为当今最为流行的统计分析软件之一,其处理数据一般都是默认单线程跑的。而现今各种云平台层出不穷,其主要目的就是加快分析速度从而节省分析成本,比如现在大型平台的全基因组分析的耗时都按分钟记了(当然是最快的那种),因此有时我们平时处理数据时,也可以优先考虑下将R并行化,在计算资源足够的情况下,肯定是越快越好
写了一个siGSEA包
最近花了一周的时间写了一个简化版GSEA分析包,命名为siGSEA
前段时间用GSEA处理了一些数据,发现其官网还在更新的只有GSEA的桌面版和服务器java版,其R版本只有一个2005年写的脚本!!!我那时粗略的看了一遍,感觉使用起来实在有点繁琐,并且GSEA官网的R代码很长,足足有2500+行,个人对其代码的风格很不适应;因此就有了想法自己重新写一个GSEA的R包,这样单从使用的角度来说更加方便点(虽然可能自己以后也用不了几次,而且GSEA桌面版功能更加全面。。。),毕竟现在很多生信分析软件都是以R包的形式,当然也顺便写个R包娱乐下
置换检验(Permutation Test)
我们一般平时较为常用的检验要属有参检验,但是其要求样本必须满足近似正态,无离群点,数据量大等要求;而有些时候其实很难都满足以上前提条件,则这时需要使用无参检验,其只关注数据的秩,但是无参检验有时也无法处理一些样本数较少的情况,这时则可以使用置换检验
GSEA使用事项小结
Symbols count in article: 4.9k Reading time ≈ 4 mins.
最近为了了解下GSEA的算法的整体思路以及软件一些主要参数的具体含义,从头看了下其R代码,由于其R代码是作者在软件早期写的,其功能并不是很完善,但是其核心的思路还是在代码中体现出来了(其实主要还是GSEA的JAVA版看不懂。。)
下面结合作者发表的文献、官方手册以及R代码,对一些有意义的参数和一些指标做个简单的记录,也算一次看代码后的小结,如果可能的话,也想从头写一个简化版的GSEA的R代码(主要发现官方的R代码写的年代好早之前了,代码写的有点啰嗦~~)以及其出图的代码
GSEA-基因富集分析
Symbols count in article: 4.8k Reading time ≈ 4 mins.
说到富集,富集是将基因根据一些先验的知识(也就是常见的注释)进行分类的过程。我们一般会想到最常见的是GO/KEGG富集,其思路是先筛选差异基因,然后确定这些差异基因的GO/KEGG注释,然后通过超几何分布计算出哪些通路富集到了,通常会选择一个阈值来卡一下,比如p值和FDR等。因此这会涉及到人为的阈值选择,具有一定的主观性,而且只能用于差异较大的基因,所以结果可能有一定的局限性。