TIFF (Tagged Image File Format)拥有更宽的线性动态范围,所以在专业的图片处理上,一直是一个通用的文件格式。 最近一篇发表在Metallomics的文章,我本来做的图片都是PDF格式,矢量图最好了,文件特别小,还可以任意放大。不过杂志社要求600DPI的TIFF或EPS。 我第一反应是拒绝使用TIFF,600DPI的TIFF文件肯定非常大,EPS也是矢量图,我用R重新把图画一遍,存为EPS就OK了。画图的过程,我发现对EPS的支持不太好,老报些某字体不存在的错误。这当然不是什么大不了的事,自己指定字体就好了。问题在于有张图是拼的,我只能借助于软件转换,我用Inkscape处理,导出EPS,出来的图我发现有些细节并不太好。 无奈之下还是用TIFF吧,Fig1和3都是R画的,直接指定分辨率和压缩算法,存为TIFF文件。Fig1是3000x3000pixel 600dpi的图,只有320k,Fig3是4200x4200pixel的图,也是600dpi,只有558k,用R产生TIFF还是非常靠谱的。 关键是Fig2,这一张拼的图,存成PDF矢量图,需要用ImageMagick转换成600DPI的TIFF图片,ImageMagick需要安装Xcode才能在Mac下编译成功。 Yus-Mac-Pro:others ygc$ convert -density 600 fig2.pdf fig2.tif Yus-Mac-Pro:others ygc$ identify -verbose fig2.tif Image: fig2.tif Format: TIFF (Tagged Image File Format) Class: DirectClass Geometry: 6000x4500+0+0 Resolution: 600x600 Print size: 10x7.5 Units: Undefined Type: PaletteMatte Base type: TrueColor Endianess: MSB … Yus-Mac-Pro:others ygc$ convert -density 600 -compress lzw fig2.pdf fig2_compress.tif Yus-Mac-Pro:others ygc$ ls -l fig2*.tif -rw-r–r– 1 ygc admin 216036263 May 23 17:53 fig2.
Continue reading

TALEN基因编辑

分子生物学的基础和兴起离不开各种酶的发现和抗体的制备。没有抗体,蛋白质就玩不转,没有限制性内切酶和连接酶,就没有基因工程,如果没有耐高温酶的发现,连PCR都是件痛苦的事情,写到这里,我突然觉得做细菌也是蛮好的,因为比较有可能发现一些功能比较奇特的蛋白,而这些蛋白,一经改造,可能就是技术上的革新。 TALE(transcription activator-like effector)也不例外,最初在植物致病菌黄单胞菌(_Xanthomonas_)中被发现,在致病过程中,能够特异性地结合和调控植物基因。 TALE的结构中间(红色部分)是重复序列,介导DNA识别,每一个重复片段为33-35个氨基酸,其中12和13位置两个氨基酸决定碱基偏好性,这两个相邻的氨基酸被称之为重复可变双残基(repeat variable di-residue, RVD),RVD所编码的靶标碱基由上图b所示,基本上你看一段TALE的重复序列,就可以预测到它将结合到什么样的DNA序列上,或者你看一段DNA序列,可以很容易地设计结合它的TALE重复序列。 N端通常是288个残基,其中Δ152做为截断点,去掉前面用于进入植物细胞的功能,而保留TALE蛋白的其它功能。C端通常是278个残基。 中间重复片段的特性使得TALE很容易被改造,应用于各种定点靶向的场景。 Activator 2011年发表在NBT上的文章《A TALE nuclease architecture for efficient genome editing》将TALE改造成促进特定基因表达。将天然TALE进行PCR扩增,去掉前面152个残基,重复序列改造为结合NTF3的启动子邻近区域(proximal promoter),C端连上VP16(转录激活结构域),结果诱导超过20倍的表达。NTF3基因编码一个分泌性的生长因子,对神经退行性疾病有一个的治疗功效。作者把C端截断,保留95个残基再接上VP16,同样也是mRNA超过20倍的表达。 Nuclease 位点特异性的核酸酶是基因组工程的有力工具,产生断裂的双链DNA(double strand breaks, DSBs),可以进行同源重组、靶向插入、删除。锌指蛋白(zinc finger protein)连接FokI的水解结构域,构成了锌指核酶(zinc finger nuclease, ZFN)被用来进行基因组编辑,但是ZFN的特异性和效率较差,可重复性不好。 TALE的单碱基识别能力,显然在特异性上是无可比拟的,有了TALE,TALEN(TALE-nuclease,TALE接上核酸酶)技术应运而生,特异性好,效率高,而且可以应用于各种物种。TALEN通常以同二聚体(homodimer)或异二聚体(hterodimer)对DNA从两端进行切割,两端切割点的距离(spacer length)可以是10-30bp之间,取决于linker的长度,即连接重复结构域和切割结构域的长度,长的linker,需要长的spacer,反之亦然。 两端切割后,产生DSB,就会引起系统对其进行修复,Miller等使用TALEN对NTF3基因进行切割,产生DSB,随后进行非同源末端连接(non-homologous end joining, NHEJ)修复,NHEJ在没有同源序列做为模版的情况下进行修复,这是一个不精确的修复途径,结果产生了3-30bp的删除。 NHEJ是容易出错也不好控制的,可喜的是还存在一条精确可控的途径,同源依赖修复(homology dependent repair, HDR),在有供体ssDNA存在的情况下,通过HDR途径,可以对基因进行编辑,插入和缺失处理。 于是牛B的事情就产生了,2012年Nature的文章报道在斑马鱼活体组织里使用TALEN技术,引入了定制的EcoRV位点和修改的loxP序列。 Reference 1. Miller, Jeffrey C., Siyuan Tan, Guijuan Qiao, Kyle A. Barlow, Jianbin Wang, Danny F. Xia, Xiangdong Meng, et al. “A TALE Nuclease Architecture for Efficient Genome Editing.
Continue reading

如何获取文献

这个题目又标题党了,不过是share一下一些地球人都应该知道的小tips而已。 据说是电信出口出了问题,学校里这两天大家都在叫pubmed上不去,我反正是上得去,就是慢点。大家好像少了pubmed就无法干活似的,不过也是,正所谓:熟读唐诗三百首,不会作诗也会吟。 1.有备无患 pubmed上不去,完全没影响,因为有hubmed,hubmed主页上写着:An alternative interface to the PubMed medical literature database,所以完全可以把它当作是pubmed的镜像。这个站点至少我在暨大上是超级快的。搜完底上还有链接,让你很方便地用同样的关键词在google (scholar),Scirus, CrossRef,EBIMed等其它数据库里搜。 另外一个备选的站点是gopubmed,这个站点的亮点是整合了ontology。 最近欧洲大名鼎鼎的EBI也开始搞文献服务了,新开的Europe PubMed Central,我比较喜欢它的排序功能,可以按文章的相关性或引用数来排。除了文献之后,还可以biological patents, clinical guidelines, PhD theses and research reports。这个站点现在刚创立,我觉得一两年之后,肯定会有更多的服务提供,前途无量啊。 文献管理 读文献是人干的事,管理文献却是疯子干的事。如果你还活在手工整理文献的黑客帝国里,请赶紧吞下红色药丸。 3.个性化推荐 上网买本书,电商都会推荐给你,某本书可能你也想买。这是个性化推荐的时代,读文献也不例外,Google Scholar的新功能My updates,干的就是这个事,可以根据自己文章的内容,推荐相关的最新文献,想要用到这个功能,你需要建立google scholar profile页面。 4.订阅 RSS改变了人类的阅读,很多的期刊都提供了RSS,如果你是火星人,不知道啥是RSS,那么打开你的QQ邮箱,点一下阅读空间,那玩意实现的就是RSS订阅了。个人比较推荐google reader。 另一个值得一提的是NCBI的个性化服务My NCBI,你可以设定关键词,当pubmed上有新文献和这个关键词匹配的话,NCBI可以定期给你发邮件提醒。 5.求文献 科研大军越来越庞大,笑到最后的是各大出版社,不是读者给它送钱,就是作者给它送钱,当我们点full text时却被告知没付费么有permission,天下文章一大抄,没得抄是多么的不爽。我以前喜欢在FriendFeed上的references wanted里求下载。不过上friendfeed需要一支红杏出墙来。现在好了,国内的丁香园有个一键求助的功能,是个求文献的好去处。 6.下文献 文献下不了,很多时候是不用求的,sci-hub.org这个代理就是个下文献的好地方,比Phosphoproteome profile of human lung cancer cell line A549这篇文章的网址是http://pubs.rsc.org/en/Content/ArticleLanding/2011/MB/C0MB00055H,把URL加上sci-hub.org这个代理,变成http://pubs.rsc.org.sci-hub.org/en/Content/ArticleLanding/2011/MB/C0MB00055H,就可以下到相应的PDF文件。 欢迎补充。 PS:今天收到一颗树~
Continue reading

跟某同学讲了T test之后,整理一下。 很多的检验和我们的直觉是一致的,前阵子在一个群里,有管理学院的人问说想看两个样本是不是来自于同一个分布,我叫他画两个CDF,一看就知道。对方说不要看图,我就让他用Kolmogorov-Smirnov Tests。我自己搜了一下,发现ks.test检验的就是拿两个CDF的距离做为统计量,虽然计算很复杂,但是和intuition那是相当一致啊。 最简单也最常用的,莫过于T检验,用我们的直觉就可以理解了,但是我发现不理解还有用错的人也挺多的。 我们要看一个样本的均值是不是等于0,最naive的办法就是看样本的均值和0差别多大。 这个比较之所以naive,因为没有考虑到数据的分布,从上图的两个populations来看,它们的均值都是0,从绿色的分布中抽到一个均值为3的样本,概率并不小,但是从红色的分布中得到这样一个样本,那就是小概率事件。所以不能单纯比较均值,而是要看均值的分布,从上面的populations上看,和数据的离散程度有关。 我们随机抽取100个sample,得到以下的均值分布: 我们需要对均值的离散程度做penalty,那么就可以考虑这样一个统计量mean(x)/SEM, SEM代表standard error of the mean,那么这个统计量比单纯的均值要科学得多。这个统计量,就是学生氏所定义的t。 如果没有大量的样本,是没办法估计SEM的,但是从上面两个图上看,样本间均值的标准误SEM,和总体数据的标准误是正相关的。而总体的标准误可以用样本的标准误,sd(x),来估计。如果我们考虑最简单的形式呢?定义统计量mean(x)/sd(x)。 那么,请等一下,我们还需要考虑到样本量的影响,如果sample size没有影响,那么我们就不需要采集大样本了。从我们的直觉上看,肯定是样本量越大,对总体参数的估计越准确了。 从图上看,还是和直觉很一致。sample size越大,分布越compact,对总体均值的估计也就越准确。那么就需要使用sample size进行加权,把统计量修改为mean(x)/sd(x) * f(n),其中n为sample size。 我们可以想像,学生氏当年try了几种形式的f(n),发现sqrt(n)效果最好。于是他就定义了统计量: t = mean(x)/(sd(x)/sqrt(n))。 sqrt(n)效果好,因为sd(x)/sqrt(n)正好是对样本间均值标准误SEM的估计。 我们又可以想像,学生氏当年收集了很多个样本,计算了多个t值,发现这些t值的分布是有规律的,有点像正态分布,学生氏把它定义为t分布,利用t分布的probability density function,就可以计算p-value啦。 上图就是从标准正态分布里抽取100个样本,所计算的t值分布。 很多人上课学不懂,我觉得是因为一上来告诉你t怎么算,但是没让你理解SEM,SEM是理解t值计算的关键。 算完t之后,一句话,符合t分布,然后就是查表看p值,或者让计算机算,太抽象,这世界本来没有t分布,是学生氏定义了t统计量,并发现符合某分布,把它定义为t分布,有计算机做simulation,重现这个过程,就不抽象了,也就好理解了。 至于两样本,如果是paired的话,那就是paired之间相减,用差值做单样本t检验。如果不是成对,那就是t=(mean(x1)-mean(x2))/SEDM. 其中SEDM代表standard error of difference of means,这里有一个pool与否的问题,SEDM看上去稍微复杂了一点点,但是basic idea是一样的,非常好理解。
Continue reading

经常看到一些饼图,描述某些事物的组成,比如说有钱人的学历分布,然后我们可以看到高学历所占比例并不高,根据这个比例下结论通常是错的,这些比例说明不了问题,如果把各种学历在总体人口中的分布做为背景进行考虑的话,你就会发现学历还是有点用的。 当我们用组学测定了一大堆分子之后,我们希望站在更高的角度去看这些分子和那些生物学过程相关。那么通常各种注释,对这些基因/蛋白进行分类,那么从分类的比例上,是不能草率下结论,正如上面有钱人学历分布的例子一样。我们需要把总体的分布考虑进去。 和某个注释/分类是否有相关性,把基因分成属于这一类,和不属于这一类两种,这就好比经典统计学中的白球和黑球的抽样问题。也可以列一个2x2的表,进行独立性分析。 以文章Gene Expression in Ovarian Cancer Reflects Both Morphology and Biological Behavior, Distinguishing Clear Cell from Other Poor-Prognosis Ovarian Carcinomas所鉴定的差异基因为例。 73个差异基因的Symbol,我把它转为 entrezgene ID得到57个(漏掉的不管它,只是做为一个例子):
Continue reading

支持向量机(Support Vector Machines, SVM)最初由Vladimir Vapnik于1997年提出,SVM最简单的形式就是找出一下区分界限(descision boundary),也称之为超平面(hyperplane),使得离它最近的点(称之为support vectors)与之间隔最大。

这和logistic regression有些相似,区别在于logistic regression要求所有的点尽可能地远离中间那条线,而SVM是要求最接近中间线的点尽可能地远离中间线。也就是说SVM的主要目标是区分那些最难区分的点。

SVM对于hyperplane的定义,在形式上和logistic regression一样,logistic regression的decision boundary由$\theta^TX=0$确定,SVM则用$w^TX+b=0$表示,其中b相当于logistic regression中的$\theta_0$,从形式上看,两者并无区别,当然如前面所说,两者的目标不一样,logistic regression着眼于全局,SVM着眼于support vectors。有监督算法都有label变量y,logistic regression取值是{0,1},而SVM为了计算距离方便,取值为{-1,1}
Continue reading

初中时在杂志上看到苹果的彩壳机,从此叔就开始成为了苹果的脑残粉,还在K6-2和win98那会,就在玩macintosh主题。

本科时,通过PearPC来虚拟PowerPC,硬是在ATHLON XP 1700+这个破CPU上破了OS X Jaguar,那个慢啊,是无法忍受的。
Continue reading

Author's picture

Guangchuang Yu

a senior-in-age-but-not-senior-in-knowledge bioinformatician

Postdoc researcher

Hong Kong