msgbartop
ChemHack.com中文版
msgbarbottom

25 十 08 明天,期待一个不一样的ChemSoSo

经过一个月的努力,chemsoso的后台功能以及更加完善了。明天在进行了最后的bug修正之后将会正式发布出来,敬请期待。同时,正在筹备中的下一版的chemsoso将会提供丰富的化学信息学功能,将会在一个月内发布。

Tags:

25 十 08 山寨校内网开张

糊里糊涂就拿着dz的程序开张了山寨校内网,界面还不错哦。

想看的点这里,愿意用的话就注册个帐号好了。只是这个地方起什么名字好呢?要不就叫山上网?

16 十 08 谁动了我的时间?

谁动了我的时间?这是个问题。

对于像我们这样一天耗费6+个小时在网上的人来说,这个问题似乎是无解的。MSN、QQ、校内、新浪新闻、BBS、pplive,每个程序、每个网站都在想方设法抢走你的时间。你的时间去了哪里?

你本来是要去查一篇文献的,打开浏览器,首页是新闻,那么就先看两眼再查吧。看了一会新闻,好不容易打开了文献数据库,这时你的qq响了,很久没见的朋友在跟你打招呼,于是你又打开了QQ聊了起来。

晚上没事干,看看校内吧。挨个看完了朋友圈的新鲜事,顺便留个言问个好。当你转回自己的空间,别人又给你留言了,于是回复,于是别人再回复你的回复。。。。。

每个人都有这样的经历,只是程度深浅不同而已。对大多数人来说,他们的本意并非是要消磨时间,只是现在的软件和网站都在想方设法让你把时间消磨在它们上面,你的时间就是他们的利润。

花钱花的特别厉害的时候,就想着记一本流水账,把每天花了多少钱记下来。只有人给时间做计划,但是很少有人对时间做记录。对我这样的人来说,计划总是有一堆的,但是能执行下来的确是很少的。常常对着电脑一个晚上最后也不知道到底都干了些啥。那么,为什么不做个记录器?记录我对着电脑做了些什么。我们有木马,有keylogger,做个这个东西不是难事。那么要记录些什么呢?1.进程 通过进程可以知道你在开哪些软件。但是,进程并不能告诉我们你在使用这么一堆软件中的哪一种。于是我们要记录2.当前活跃窗口。通过记录活跃窗口,能够记录下我在某一时间到底是在干什么。

常见的窗口标题就那几种,记录下来很容易。然后根据一定的模式进行归类,归类后即可获得使用时间的统计。比如含有Internet Explorer几个字的我可以认定为是在上网,含有Outlook或者ThunderBird可以认为在处理邮件。如此而已。

Tags: ,

05 十 08 旧文重发之结构检索

对于大型分子数据库来说,结构搜索一直是个难题。动辄上千万条的分子数据,对检索速度的要求必然很高。这里我将结构搜索分成三种:第一种是结构精确匹配,第二种是子结构匹配,第三种是相似结构匹配。

对于精确匹配,没有任何难的地方,查找到完全一致的SMILES表示即可(虽然也有SMILES表示不唯一等小问题,但这都是小问题)。难的地方就在子结构检索和相似结构检索上。十几年间的化学信息学系统一直在尝试解决这个问题,由此也提出了很多的方法,有基于键的,基于原子的,当然还有基于碎片的分子指纹。

分子指纹是对分子结构特征的一种非常抽象的表示,在我们开始讨论分子指纹之前,先从化学信息系统的远古时代开始,了解子结构检索和相似结构检索是如何进行的。

很多子结构检索算法都需要对大量的分子进行重复比对,一般来说,都是直接将分子结构以某种编码形式保存在数据库中,但是这样的效率是很低的,当数据库中的数据量逐渐增加时,这种方式会带来相当难解决的性能瓶颈。后来就有人提出,可否对数据库中的结构数据进行预处理,以提高搜索进行的速度。尽管预先处理也是需要消耗性能的,但是预先处理只需要进行一次,会给检索性能的提升带来巨大的回报。

举例来说,我们要检索所有包含乙苯结构的分子,首先可以确定它的分子式C8H10,这样,类似C2H6的小分子就可以完全排除掉了,我们只需要检索比C8H10大的分子即可。由此可以看出一点,排除掉某种分子的成本确实要比确定某种分子是其子结构所要的成本低的多。也就是说,如果可以避免进行“正选 ”,而尽量多地运用“排除”手段,系统的检索效率则会高很多。除了分子式之外,相对分子质量、不饱和度等各种描述符(descritor)也都可以用作判断依据。由此以来,搜索范围可以大大缩小。

这样,搜索范围被缩小了,但是还没有涉及到实质问题。

有个叫做“结构密钥”(Structural key)的概念首先被提出了。结构密钥通常用二进制串表示,二进制串中的每一位只能是0或者1。如果某个位是1,就说明这个位所代表的结构特征存在,如果是0,就表示这个位所代表的结构特征不存在。这样,在比对两个分子结构时,只需要比对其结构密钥即可。不过,要确定一个结构密钥,首先就需要定义结构特征以及结构特征所对应的二进制位。一般来说,这种定义是可以任意进行的,定义的方式也有很多种。举例来说,是否有N原子、是否有环状结构、是否有羟基、是否 有羰基这些都可以作为定义结构密钥的依据。确定了结构密钥的定义之后,就可以按照定义为数据库中的所有分子生成其结构密钥了。尽管为数据库中的所有分子生 成结构密钥的过程可能很长,但是这样做的效果是很显著的。

在结构密钥之后,分子结构检索随着分子指纹的出现又发生了一次大的变革。分子指纹是比结构密钥更抽象的一个概念,上面我们所说的结构密钥缺少通用性。对于结构密钥的定义会很大程度上影响到检索速度。一个良好的定义可以显著提高搜索速度,反之低质量的定义会大大降低检索的命中率。结构密钥的定义也依赖于查询的用途,研究石化方向的专家所定义的特征可能对研究药物的专家毫无用处。

继续太监。。。。。。

不往下写了。。。。