十一 24

cytoscape五步曲之一:明白什么是网络图

想了想还是写一个系列教程吧,问的朋友也太多了,主要是因为cytoscape跟python一样,经历了从2到3的进化阵痛过程,而且进化的面目全非了!!!很多人拿着2.x的说明书教程,视频,然后下载的却是3.x版本的cytoscape,真可怕!!!
已经从两万个芯片探测到的基因里面找到了近千个差异基因了,对它们做了GO/KEGG分析还是抓不住重点,看到文献说可以用PPI数据库做network analysis之后找hub基因,也也许可以说明一些问题!
提到 network analysis ,我想起来我以前总结过 R语言画网络图的三部曲,里面讲到过网络分析的基本原理!

Continue reading

十一 24

cytoscape五步曲之三:安装各种插件

软件安装我就不多说了,直接去官网下载即可,请务必下载3.x版本,我讲的是 最新版教程!

本次讲解如何给cytoscape安装插件,cytoscape本身是一个平台,学者可以在上面开发各种各样功能的插件实现不同的分析需求,类似于R语言这个平台,人们在上面安装包一样。R里面如何安装包我博客讲了4次,基本上看完的人都会懂。而cytoscape不一样,它的插件安装非常简单!非常简单!非常简单!

你只需要去cytoscape的APP中心找到包,如果你打开了cytoscape的界面,那么网页就会有install的字样,非常显眼,点击就自动安装了,这个时候会安装到

C:\Users\jimmy1314\CytoscapeConfiguration\3\apps\installed 这个目录!!~ 在你的电脑里面 jimmy1314 不一样

如果你这个时候并没有打开cytoscape的界面,那么网页就会有download的字样,也是非常显眼,点击就可以下载, 下载之后你需要自己把下载的jar文件放到cytoscape的安装路径,一般默认是

C:\Program Files\Cytoscape_v3.3.0\apps

最后,cytoscape提供了APP中心,就跟苹果手机安卓手机安卓软件一样,直接在cytoscape软件的菜单栏app中心就可以点击安装!

我要说的就是这么多了,我安装了十几个插件了,都没有什么问题,如果大家有遇到安装不了的,随时报告我,我来更新教程!联系jmzeng1314@163.com 

下面的链接选择性观看:

http://wiki.cytoscape.org/Cytoscape_3/UserManual

十一 23

quantile normalization到底对数据做了什么?

提到normalization很多人都烦了,几十种方法,而对于芯片或者其它表达数据来说,最常见的莫过于quantile normalization啦。那么它到底对我们的表达数据做了什么呢?首先要么要清楚一个概念,表达矩阵的每一列都是一个样本,每一行都是一个基因或者探针,值就是表达量咯。quantile normalization 就是对每列单独进行排序,排好序的矩阵求平均值,得到平均值向量,然后根据原矩阵的排序情况替换对应的平均值,所以normalization之后的值只有平均值了。具体看下面的图: Continue reading

十一 23

用R的bioconductor里面的stringDB包来做PPI分析

PPI本质上是根据一系列感兴趣的蛋白质或者基因(可以是几百个甚至上千个)来去PPI数据库里面找到跟这系列蛋白质或者基因的相互作用关系!

本次的主角是stringDB,顾名思义用得是大名鼎鼎的string数据库,
本来还以为需要自己上传自己的基因给这个数据库去做分析,没想到他们也开发了R包,主页见: http://www.bioconductor.org/packages/release/bioc/html/STRINGdb.html 而我比较喜欢用编程来解决问题,所以就学了一下这个包,非常好用!
它只需要一个3列的data.frame,分别是logFC,p.value,gene ID,就是标准的差异分析的结果。
然后用string_db$map函数给它加上一列是 string 数据库的蛋白ID,然后用string_db$add_diff_exp_color函数给它加上一列是color。
用string_db$plot_network函数画网络图,只需要 string 数据库的蛋白ID,如果需要给蛋白标记不同的颜色,需要用string_db$post_payload来把color对应到每个蛋白,然后再画网络图。
也可以直接用get_interactions函数得到所有的PPI数据,然后写入到本地,再导入到cytoscape进行画图

Continue reading

十一 23

java环境变量的问题

有篇文章提到了cytoscape,想着一直没用过这个神器对不起我生信大神的称号呀,就下载了准备安装,居然报错了,简直不可思议,因为一直以为它是java软件,一般不需要安装,结果是exe的,只是依赖于java,报错是EXE4J_JAVA_HOME, No JVM could be found on your system,这是个很常见的错误,我 简单搜索了解决方案https://wincrunch.com/exe4j-java-home-no-jvm-could-be-found-on-your-system/ 居然无效,但是里面有句话引起了我的注意,通常64位的window电脑的java是安装在Program Files 而不是Program Files (x86),这才是问题所在,我当初图简单,直接用了JDK来安装JRE,所以导致软件安装目录错误。有非常多的生物信息学软件都依赖与java,比如IGV,GSEA,cytoscape,一般来说window电脑安装好了java之后这些软件都挺好用的。那么关于java问题,我整理了3个:

Continue reading

十一 14

TPM值就是RPKM的百分比嘛!

很久以前就有人问过这个问题啦,虽然目前主流还是用RPKM/FPKM来形容一个基因的表达量。但是既然大家都说TPM更好,我也来探究一下吧!

我不喜欢看公式,直接说事情,我有一个基因A,它在这个样本的转录组数据中被测序而且mapping到基因组了 5000个的reads,而这个基因A长度是10K,我们总测序文库是50M,所以这个基因A的RPKM值是 5000除以10,再除以50,为10. 就是把基因的reads数量根据基因长度和样本测序文库来normalization 。 Continue reading

十一 14

仅仅对感兴趣的基因call variation

有这个需求,是因为我们经常对某些细胞系进行有针对性的设计变异,比如BAF155的R1064K呀,H3F3A的K27呀,那我我们拿到高通量测序数据的时候,就肯定希望可以快速的看看这个基因是否被突变成功了。现在比对几乎不耗费什么时间了,但是得到的sam要sort的时候还是蛮耗费时间的。假设,我们已经得到了所有样本的sort好的bam文件,想看看自己设计的基因突变是否成功了,可以有针对性的只call 某个基因的突变!

1

Continue reading

十一 12

仔细探究picard的MarkDuplicates 是如何行使去除PCR重复reads功能的

本帖紧跟前面的仔细探究samtools的rmdup是如何行使去除PCR重复reads功能的

同样的我们也是分单端和双端测序来看结果,并且比较两个工具的区别!

首先对于那个单端数据,samtools给出的结果是:[bam_rmdupse_core] 25 / 53 = 0.4717 in library Continue reading

十一 12

仔细探究samtools的rmdup是如何行使去除PCR重复reads功能的

在做这个去除PCR重复reads时候必须要明白为什么要做这个呢?WGS?WES?RNA-SEQ?CHIP-SEQ?都需要吗?随机打断测序才需要?特异性捕获不需要?
搞明白了,我们就开始做,首先拿一个小的单端测序数据比对结果来做测试!
samtools rmdup -s tmp.sorted.bam tmp.rmdup.bam
[bam_rmdupse_core] 25 / 53 = 0.4717 in library
我们的测试数据里面有53条records根据软件算出了25条reads都是PCR的duplicate,所以去除了!

Continue reading

十一 07

mysql的table居然有最大列限制

想着把TCGA的RPKM值矩阵表格写入到mysql,然后做一个查询网页给生物学家,我下载的是所有TCGA收集的mRNA表达数据集数据集-GSE62944 ,共9264个癌症样本,和741个正常组织的表达数据。当我想写入癌症表达矩阵的时候,报错了:
Error in .local(conn, statement, ...) :
could not run statement: Too many columns
简单搜索了一下,发现是mysql有最大列的限制,但是我不是很懂计算机,所以没太看明白该如何调整参数使得mysql列限制扩充:http://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html 所以就把癌症表达矩阵根据癌症拆分了,癌种数量如下:

Continue reading

十一 03

热图最佳实践-pheatmap

用pheatmap来绘图首先要安装这个包,它就一个功能,画出热图即可,号称是pretty heatmap,的确比其它的好用很多。我以前写过《一步一步学习heatmap.2》的教程,很简单的那种,所以就没有公布在博客上面,结果发现很多其它博客居然能先我一步发出。其实包括本次的pheatmap指南,都没什么好发,的在R里面也是傻瓜式出图,无法就是自己熟练一下参数而已,又不是开发一个包,没什么技术含量。我这里单独提一下pheatmap是因为它的确非常好用,将会是我画热图的不二之选。比如下面这个,是我最喜欢的: Continue reading

31

用samtools idxstats来对de novo的转录组数据计算表达量

de novo的转录组数据,比对的时候一般用的是自己组装好的trinity.fasta序列(挑选最长蛋白的转录本序列)来做参考,用bowtie2等工具直接将原始序列比对即可。所以比对 sam/bam文件本身就包含了参考序列的每一条转录本序列ID,直接对 sam/bam文件进行counts就知道每一个基因的表达量啦!

本来我是准备自己写脚本对sam文件进行counts就好,但是发现了samtools自带这样的工具:http://www.htslib.org/doc/samtools.html 

如果是针对基因组序列,那么这个功能用处不大,但是针对转录本序列,统计出来的就是我们想要的转录本表达量。 Continue reading

22

使用trimmomatic对illumina数据做质控-去接头还有去除低质量碱基

因为一直拿到的是公司给的特别好的数据,所以没太关注质控这个问题,最近拿到了raw data,才发现其实里面的门道挺多的。前面都是用cutadapt这个python软件来去除接头的,但是它有一个弊端,需要自己指定接头文件。正好朋友推荐了trimmomatic,是java软件,所以直接Google找到其官网,然后下载二进制版本解压即可使用!
反正对我的illumina测序数据来说,直接用它就可以把raw data 变成 clean data啦!
1

Continue reading

15

R一大利器之对象的操作函数查询

对于生物出身的部分生物信息学工程师来说,很多计算机概念让人很头疼,尤其是计算机语言里面的高级对象。我以前学编程的时候,给我一个变量,一个数据,一个hash,我就心满意足了,可以解决大部分我数据处理问题,可事情远比想象之中复杂。因为很多高手喜欢用封装,代码复用,喜欢用高级对象。在R的bioconductor里面尤其是如此,经常会遇到各种包装好的S3,S4对象,看过说明书,倒是知道一些对象里面有什么,可以去如何处理那些对象,提取我们想要的信息,比如我就写过一系列的帖子:

Continue reading

06

用cutadapt软件来对双端测序数据去除接头

一般来讲,我们对测序数据进行QC,就三个大的方向:Quality trimming, Adapter removal, Contaminant filtering,当我们是双端测序数据的时候,去除接头时,也会丢掉太短的reads,就容易导致左右两端测序文件reads数量不平衡,有一个比较好的软件能解决这个问题,我比较喜欢的是cutadapt软件的PE模式来去除接头!尤其是做基因组或者转录组de novo 组装的时候,尤其要去掉接头,去的干干净净!
cutadapt是经典的python软件,但是因为我的linux服务器有点问题 ,可能是root权限问题,没有用pip install cutadapt 安装成功,我懒得搞这些了,其实可以自己去下载cutadapt的源码,然后进入源码文件夹里面 python setup.py install --user 到自己的 ~/.local/bin下面。
所以我用conda安装了cutadapt软件,http://www.bio-info-trainee.com/1906.html 所以我需要 python ~/miniconda2/pkgs/cutadapt-1.10-py27_0/bin/cutadapt --help 才能调用这个软件,不过,问题不大,我也就是试用一下。 Continue reading

06

用sickle软件来对双端测序数据过滤低质量reads

一般来讲,我们对测序数据进行QC,就三个大的方向:Quality trimming, Adapter removal, Contaminant filtering,当我们是双端测序数据的时候,去除低质量的reads就容易导致左右两端测序文件不平衡,有一个比较好的软件能解决这个问题,而且软件使用非常简单! Continue reading

05

大型基因组拼装的乐高软件之MaSuRCA assembler使用指南

本文转载自 生信技能树 论坛特约作者MintMaSuRCA assembler 软件指导书,非常符合我博客的风格,也正式开启了我博客的转载之路。(前面的近400篇文章都是本人原创,手打,但是精力有限,以后文章更新频率会大大降低,但是会引入不少 技能树论坛特约作者的 好文!) Continue reading

05

用Miniconda,Bioconda来安装常见的生物信息学软件

这是生信技能树论坛的朋友推荐的,我试用了一下,的确非常方便~
生信最基础的基本功便是常用软件的安装和配置,但是不是所有软件都可以直接使用的[比如 annovar 等]。除了安装编译,有些软件所需环境的配置同样令人头疼。会不断报错提醒你那些东西没有安装。
    bioconda里面几乎涵盖了引用率较高的,好用的工具的打包资源,一键式安装,并且各自依赖的环境相互分隔,每次使用source activate env_name 来激活。使用source deactivate 来退出。具体软件列表见:https://anaconda.org/bioconda/repo 但是列表不支持搜索,可以去它的github里面去搜索  https://bioconda.github.io/
    而且不需要root权限也可以安装软件。

Continue reading

04

生信人必学ftp站点之 dbsnp

这个数据库我也不想多解释了,也是host在NCBI上,不仅有常见的模式生物已经被研究过的所有variation位点信息,还有很多其它物种的数据,主站点是:ftp://ftp-trace.ncbi.nih.gov/snp/organisms/
人类是物种ID是9606,可以看到variation位点信息有基于hg19和hg38的两种下载方式,如果还有其它需求,可以自己用基因组坐标转换工具。在NCBI的snp页面也有对各种物种的variation位点信息记录文件的统计:http://www.ncbi.nlm.nih.gov/snp/   http://www.ncbi.nlm.nih.gov/SNP/同时也是NCBI做好的一个网页版查询工具,因为下载一个 variation位点信息记录文件 动辄就是十几个G,一般人也不会处理那个文件,不知道从里面应该如何提取需要的信息,这时候学习它的网页版查询工具也挺好的。

Continue reading