如何获取文献

这个题目又标题党了,不过是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

violin plot

ggplot2 0.9.0版本将在3月1号发布,改动较大,最近bioc mailing list也有诸多讨论,因为它导致了某些包编译出错(估计是NAMESPACE引起的)。

按照hadley的说法是这是为了把他个人的项目变成一个社区项目。

大多数的改动对用户来说是invisible的,用roxygen2去注释函数,核心代码使用S3重写,分离出一些特性(scales包)等。

最明显的是现在画图速度变快了,不过我觉得最让人兴奋的是guide_legend()guide_colorbar()两个函数,可以修改legend.

画图的话,加了四个函数geom_map(), geom_raster(),geom_dotplot()geom_violin().
Continue reading

Author's picture

Guangchuang Yu

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

PhD student

Hong Kong