ChemDeposit发布版本3

ChemDeposit是在Google Appengine (java) 上运行的化合物信息生成、存储、检索的服务。

在6月15号,就已经发布上去能工作的版本了,不过不能支持子结构检索,只能用指纹散列(fingerprint)做“近似子结构检索)。

为了调整CDK的版本,增加子结构检索(SMARTS Searching),竟然用了一周的时间,遇到好多小问题。最难办的就是在客户机的SDK上运行OK,上传上去就不行的问题。最最难办的就是数据结构修改后,原有的数据成为非法数据删不掉的情况。

相关的问题和解决的过程在这里

Jun 20, 2009

Version 3.

  • Using CDK jar version 1.2.3
  • Substructure Searching supported. That means the CDK SMARTS searching function works.
  • Similar Structure Searching (Tanimoto) supported.
  • Has a domain name www.chemdeposit.com

Drive to T3

开车去T3航站楼的路线。
 
 
 
乘车路线图
 

T3柜台

Hosting CDK on Google App Engine

Google App Engine has supported java for a while. I don’t know if others have tried to hosting CDK jar on the App Engine. Last weekend I tried to build an application or App Engine based on CDK and fortunately it seems most parts works.

 
I have build a app named ChemDeposit, it can be visited at http://chemdeposit.appspot.com/
 
It accept SMILES inputs to add or view information generated by CDK. And there’s also an *almost* substructure search implementing just based on default fingerprints.
 
The InChI generator and SMARTS search functions can not work on App Engine and I pasted error informations at http://chemdeposit.appspot.com/cdk-on-appengine.jsp , hope there’s someone can help.

今天是2009年5月35号

30年前的今天,我出生满一周。什么也没看到,什么也没听到,看到听到也什么都不记得了。
20年前的今天,我上小学三年级。什么也没看到,什么也没听到,看到听到也什么都不记得了。
10年前的今天,我上大学一年级。好像真的什么也不记得了。一身冷汗。

Thinkpad走向没落的标志



lenovo system update, originally uploaded by Charlie.Zhu.

lenovo system update.
联想在干吗?五月份马上就过去了.

当幸福来敲门 - 择友标准

上周五公司放电影,头一次留下来一起看,电影是《当幸福来敲门 The Pursuit of Happyness》。威尔史密斯06年的电影,反正是很老很有名没看过的人(我)很土鳖的那种了。看完之后,和大多数人的理解一致,这是个励志电影,然后上豆瓣打个5星。

电影讲的是一个很牛逼的美国成功人士,Chris Gardner,从睡公厕到迈入金融行业这个世界上最好worklife版上万众瞩目不需要讲年薪就可以瞬间秒杀所有IT民工自尊心的行业。

我的观后点有两点。

一是我很为这段父子之情所感动,再看我儿子的时候,大概知道我为啥那么稀罕他了。如果我的人生按照三十年分三节的话,第一节是为自己活的;第二节就是为他活的;第三节纯粹是为了把三节都活完整。

第二,就是很感叹Chris Gardner的择友标准。丫的都穷到尿血了,也没说找个哥们、朋友帮个忙。电影里他唯一的一个朋友,Wayne,帮他搬了一次家。但是Wayne欠他14块钱,Chris跑人家门口堵门要钱,钱没要到,断绝了来往。但是说Chris交往能力差,没有朋友吗?不是。这方面他挺牛逼的。拿个魔方也能跟股票公司的经理混熟;借个道歉的由子上门找xxx公司的CEO,然后第一次见面就能跟人家蹭着上头等包厢看球;看一场球就认识一帮有道性的人物然后后来都成了客户。只能说明一点,Chris的择友标准太明白了。下贱的穷哥们是没用的不能沾,沾上也是累赘;牛人是爹削尖脑袋也要搭搁上。

我有很多相关的感触但没什么要表达或评论的。因为这种择友标准是成功之道。

免费SDF文件阅读和处理软件

Windows环境下,常用的SDF文件 阅读和处理的免费(或试用版)软件。
 
 
  • 加载速度快。打开大文件时,随着窗口滚动增量加载解析。
  • 编辑,包括画结构式
  • 根据结构式命名。Traditional name/ IUPAC name
  • 单个化合物结构图另存为图片。
  • 分子式和分子量等基于结构的分析。
  • 生成SMILES。
 

http://www.enso-software.com/WebSite2005/Default.aspx

With ensochemSheet, you can manage you SD files as comfortably as if the were in a database. Search for structures and alphanumerical data, let the program automatically filter duplicates and much more. Test the free demo version even today!
 
  • 编辑,包括画结构式。
  • 子结构检索。

http://www.hyleos.net/?s=applications&p=ChemFileBrowser

 
  • 加载速度慢;功能简单。
  • 列表查看和单个化合物查看。
  • 可以标注和选择SDF中的化合物,并对选择的部分导出。
  • 导出成SDF或CVS。
 
 
  • 用于聚类等分析的工具。
  • 列表和单个化合物信息查看。单个化合物信息查看自动全屏,有导航按钮。
  • 导出成Excel,结构图列表或属性列表。

 

上面的工具中,只有marvin view 还在持续的开发和改进。
 

 

http://www.bioclipse.net/

基于eclipse。

 

我是这样找到色情网站的…

 红网…百姓呼声…

 

伪命题: 中关村人平均寿命53岁

华西都市报原文,引用报道很多,引用其中一篇 IT精英猝死引热议 报告称中关村人平均寿命53岁

证明其伪命题如下:

  • 中关村的开发从1998年开始。引文 中关村历史回顾:从初创期到发展期
  • 这个行业初创,老年人不会多。且估计98年的时候,往多了算,主力的人员算作平均年龄40岁吧。
  • 这些人到现在平均年龄50岁。
  • 的确有一些人50岁左右就死了,他们就是华西都市报的采样数据。
  • 有没有活到60、70、80岁以上的人呢?肯定是有的,但是他们现在还没死。所以没有归纳到采样数据里。

哗众取宠。

村里的民工可以安心了。

 

SQL Server CLR的进程和线程

结论

  • SQL Server CLR是一个多线程运行的环境。
  • 静态变量等线程安全问题,在CLR环境中存在。

摘录《Professional SQL Server™ 2005 CLR Programming》

SQL Server 2005 hosts the CLR in a “sandbox”-like environment in-process to itself, as you can see Figure 1-2. When a user requests a SQL CLR object for the first time, SQL Server will load the .NET execution engine mscoree.dll (which is the CLR) into memory. 

实验

CLR代码

public partial class ProcessThread
{
    public static int static_i=0;

    [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true, IsPrecise = true)]
    public static SqlString PID()
    {
        return  Process.GetCurrentProcess().Id.ToString();
    }

    [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true, IsPrecise = true)]
    public static SqlString TID()
    {
        return AppDomain.GetCurrentThreadId().ToString()+ ":"+
            System.Threading.Thread.CurrentThread.ManagedThreadId.ToString();
    }

    [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true, IsPrecise = true)]
    public static SqlString StaticI()
    {
        return (static_i++).ToString();
    }

};

安装CLR的SQL代码

CREATE ASSEMBLY sqlclr_test
FROM 'C:\SQLCLR\bin\Release\sqlclr.dll'
WITH permission_set = UNSAFE;
GO

create function fn_processid () returns nvarchar(max)
as external name sqlclr_test.ProcessThread.PID
GO
create function fn_threadid () returns nvarchar(max)
as external name sqlclr_test.ProcessThread.TID
GO
create function fn_statici () returns nvarchar(max)
as external name sqlclr_test.ProcessThread.StaticI
GO

测试用查询命令

select
    dbo.fn_processid() as [ProcessID],
    dbo.fn_threadid()  as [ThreadID],
    dbo.fn_statici()   as [StaticI]

返回结果

ProcessID ThreadID StaticI
1608 5820:4 11

系统进程截图 (Process Explorer) 

线程模型

现象 

  1. 每次执行查询命令,得到的ThreadID会发生变化,在SQL Server的进程包含的线程池中轮转。
  2. 每次执行查询命令,不论是否同一个线程,StaticI的值会增加。
  3. SQL Server的用户进程(登录),与所执行的线程编号几乎没有关系。

 

Next Page »

Random posts

  • 我是这样找到色情网站的...
  • 让我心烦了一夜的蚊子
  • 今天是2009年5月35号
  • 谷歌拼音输入法的化学专业词典
  • 弃bloglines.com投reader.google.com