how to bug author

http://blog.devtang.com/2017/03/05/how-to-get-help/ 这篇文章讲问问题的礼仪,会问问题的人容易得到别人的帮助,并不是作者拽,而是对着一群不会问问题,且一副理所当然的用户,早就有了深深的无力感,也看看我写的这篇吧,https://guangchuangyu.github.io/2016/07/how-to-bug-author/.

这是前几天的文字推送,不知道大家有没有阅读这两篇博客文?如何提问,这是一项重要的技能,很遗憾很多人并没有这项技能!

就在上周,我正好就在微信群里跟某位老师说不要给我个截屏,说能不能在ggtree里实现某功能。懂的人知道,我只是希望大家用正确的方式来做事情,不懂的人,当然觉得我拽,JJYY什么的。

Continue reading

peak注释

这一次讲解非常重要的peak注释,注释在ChIPseeker里只需要用到一个函数annotatePeak,它可以满足大家各方面的需求。

输入

当然需要我们上次讲到的BED文件,ChIPseeker自带了5个BED文件,用getSampleFiles()可以拿到文件的全路径,它返回的是个named list,我这里取第4个文件来演示。annotatePeak的输入也可以是GRanges对象,你如果用R做peak calling的话,直接就可以衔接上ChIPseeker了。

> require(ChIPseeker)
> f = getSampleFiles()[[4]]

巧妇难为无米之炊,就像拿到fastq要跑BWA,你需要全基因组的序列一样,做注释当然需要注释信息,基因的起始终止,基因有那些内含子,外显子,以及它们的起始终止,非编码区的位置,功能元件的位置等各种信息。

很多软件会针对特定的物种去整理这些信息供软件使用,但这样就限制了软件的物种支持,有些开发者写软件本意也是解决自己的问题,可能对自己的研究无关的物种也没兴趣去支持。

然而ChIPseeker支持所有的物种,你没有看错,ChIPseeker没有物种限制,当然这是有前提的,物种本身起码是有基因的位置这些注释信息,不然就变无米之炊了。

这里我们需要的是一个TxDb对象,这个TxDb就包含了我们需要的各种信息,ChIPseeker会把信息抽取出来,用于注释时使用。

> require(TxDb.Hsapiens.UCSC.hg19.knownGene)
> txdb = TxDb.Hsapiens.UCSC.hg19.knownGene
> x = annotatePeak(f, tssRegion=c(-1000, 1000), TxDb=txdb)
>> loading peak file...				 2017-03-09 11:29:18 PM 
>> preparing features information...		 2017-03-09 11:29:18 PM 
>> identifying nearest features...		 2017-03-09 11:29:19 PM 
>> calculating distance from peak to TSS...	 2017-03-09 11:29:20 PM 
>> assigning genomic annotation...		 2017-03-09 11:29:20 PM 
>> assigning chromosome lengths			 2017-03-09 11:29:42 PM 
>> done...					 2017-03-09 11:29:42 PM 

这里需要注意的是,启动子区域是没有明确的定义的,所以你可能需要指定tssRegion,把基因起始转录位点的上下游区域来做为启动子区域。

有了这两个输入(BED文件和TxDb对象),你就可以跑注释了,然后就可以出结果了。

Continue reading

BED文件

BED的全称是Browser Extensible Data,顾名思义是为genome browser设计的,大名鼎鼎的bedtools可不是什么「床上用品」。

BED包含有3个必须的字段和9个可选字段。

三个字段包括:

  • 1 chrom - 染色体名字
  • 2 chromStart - 染色体起始位点
  • 3 chromEnd - 染色体终止位点

这里必须指出的是chromStart是起始于0,而不是1。很多分析软件都忽略 了这一点,会有一个碱基的位移,据我所知Homer和ChIPseeker没有这个问题,而像peakAnalyzer, ChIPpeakAnno等都有位移的问题。

可选的9个字段包括:

  • 4 name - 名字
  • 5 score - 分值(0-1000), 用于genome browser展示时上色。
  • 6 strand - 正负链,对于ChIPseq数据来说,一般没有正负链信息。
  • 7 thickStart - 画矩形的起点
  • 8 thickEnd - 画矩形的终点
  • 9 itemRgb - RGB值
  • 10 blockCount - 子元件(比如外显子)的数目
  • 11 blockSizes - 子元件的大小
  • 12 blockStarts - 子元件的起始位点

Continue reading

linux版迅雷

上次讲了OSX版BioEdit,还蛮受欢迎,说到下载工具,linux的小伙伴们都想用迅雷,有没有?毕竟大家都想耍流氓。许久没打开迅雷,今日一打开,发现被学校给墙掉了。大写的杯具啊!

You have attempted to use an application which is in violation of your internet usage policy.

Thunder.Xunlei

Category: P2P

老司机不能偷偷地下片 了,唯有分享出来,带大家上车。还好我有一张半年前的截屏,不然连张图都没有。

Continue reading

小伙伴说注释不全,比如KEGG只有不到1万个基因有注释,但他一次RNA-seq出来的基因有2万多个,那其它没注释那1万多个岂不是扔了?!就某个通路来说,两种情况,要么属于,要么不属于这个通路。那1万多个应该放在背景里,不要扔。

我的解答是三种情况,1属于,2不属于,3不知道。对于缺失信息的,当然是扔。

Continue reading

OSX版BioEdit

BioEdit是一个Windows的程序,但在这里我要说的是苹果版!

BioEdit有很多的功能,当然基本上我是不会用的,然而其核心的功能,编辑序列比对,是没法回避的!因为根本找不到可以与之匹敌的软件!

神马!序列比对不都是clustalw, muscle, mafft这些软件生成完事吗?怎么还要编辑?!我只能说,年轻人,拿衣服啊。

Continue reading

Author's picture

Guangchuang Yu

Bioinformatics Professor @ SMU

Bioinformatics Professor

Guangzhou