生物分子模拟论坛

 找回密码
 我想注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 22914|回复: 11

[Python] 根据cas号批量下载pubchem上的化合物

[复制链接]
发表于 2013-5-30 23:25:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,下载更多分子模拟资源。

您需要 登录 才可以下载或查看,没有帐号?我想注册

x
本帖最后由 数据挖掘 于 2017-4-19 15:35 编辑

根据cas号批量下载化合物,在cmd运行exe,出现使用说明。




#########################################
第二个附件针对改版的pubchem的

downcasid.zip

2.23 MB, 下载次数: 271

CasGuiMain.zip

4.01 MB, 下载次数: 138

down_pubchemid.zip

415 Bytes, 下载次数: 63

评分

参与人数 1金币 +20 收起 理由
川大-灰太狼 + 20 很给力!谢谢数据挖掘的贡献!.

查看全部评分

发表于 2015-7-19 20:23:03 | 显示全部楼层
Charleshen 发表于 2014-10-15 17:23
该死的SCIfinder,不能导出sdf格式啊

scifinder是可以导出sdf格式的。:)
 楼主| 发表于 2014-10-15 21:18:18 | 显示全部楼层
准确率只能达到80%+,,因为有些cas号 pubchem会没有
发表于 2014-10-15 17:23:14 | 显示全部楼层
我靠。。。太感谢了。我还没看内容,但是我表示感谢!
发表于 2013-5-31 07:44:10 | 显示全部楼层
哈哈,好东西,先下了。谢谢数据挖掘。
发表于 2013-5-31 09:43:15 | 显示全部楼层
好东西,谢谢分享!
发表于 2013-6-1 16:56:28 | 显示全部楼层
hao dong xi!
 楼主| 发表于 2013-8-27 16:53:29 | 显示全部楼层
这个附近中的exe已经过期了,由于我当时使用的是试用版的perl2exe。
有需要的可以联系我。qq 744891290
 楼主| 发表于 2013-10-30 20:44:59 | 显示全部楼层
#!/usr/bin/perl -w
use LWP::Simple;
use LWP::UserAgent;
use warnings;
use strict;



if(@ARGV !=6)
{
       
        print "USAGE(example): perl downcas.pl  -infile f:/casid.txt -type 2Dor3D -outfolder f:/downcas\n";
#                                            0         1          2    3        4          5
}
else
{
        my $filepath=$ARGV[1];
        my $downcas=$ARGV[5];
        my $identy;
        if($ARGV[3]=~/(\d)D/)
        {
                $identy=($1==3)?'3D':"";
                print "\n$identy\n";
        }
        else
{
                print "USAGE(example): perl downcas.pl  -infile f:/casid.txt -type 2Dor3D -outfolder f:/downcas\n";
#
    exit 0;
               
        }
       
       
        print "$downcas\n";
        mkdir $downcas unless -d $filepath;
       
        my ($ua,$req,$res);        
        $ua = LWP::UserAgent->new;
       
        open FH, $filepath;
        while(my $id=<FH>)
        {
       
        chomp $id;
       
        $req= HTTP::Request->new(HEAD => 'http://www.ncbi.nlm.nih.gov/pccompound/?term='.$id);
        $res = $ua->request($req);
        $res->request()->uri()=~/(\d+)\s*$/;
       
        if($res->request()->uri()=~/cid\=(\d+)\s*$/)
        {
                my $savename=$downcas.$id.'_cid_'.$1.'.sdf';
               
                print "find $id and download it as $savename\n";
                my $newfile=$downcas.'/successdown.txt';
                open FG,">>$newfile";
                print FG "$id  savename: $savename\n";
               
                getstore("http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid=$1&disopt=${identy}SaveSDF",$savename);
       

        }
        else
        {
                print "can't find $id\n";       
                my $newfile=$downcas.'/faildown.txt';
                open FF,">>$newfile";
                print FF "$id \n ";               
        }
       
  }
  
}
       


补一个Perl脚本
发表于 2014-5-3 12:11:23 | 显示全部楼层
谢谢分享脚本
 楼主| 发表于 2014-5-10 16:41:13 | 显示全部楼层
准确率无法达到100% ,下载完了以后需要验证下
比如看看分子式 分子量是否合理
发表于 2014-10-15 17:23:36 | 显示全部楼层
该死的SCIfinder,不能导出sdf格式啊
您需要登录后才可以回帖 登录 | 我想注册

本版积分规则

QQ|分迪科技|小黑屋|手机版|Archiver|生物分子模拟论坛 ( 蜀ICP备14009200号-3 )

GMT+8, 2024-4-20 01:11 , Processed in 0.141351 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表