当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-10 14:13 

注册: 2012-05-10 14:03
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
各位好!

我是化学信息学的初学者, 最近正在研究如何将mol转化为svg图的问题,我是初学者,对svg不太熟悉,希望和请教以下,

1. 如何将mol中的原子坐标与键转化为svg的点和边?
2. 如何着色处理? 还有一些特殊的化学键如何处理?
3. 可有现成的mol2svg转化工具,我想学习一下, 各位高手可否给予一些知识和帮助?

万分感谢您!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-10 14:30 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
自己看描述。
● as ~dmolfile~dchem
p jmol - Molecular Viewer
p jmol-applet - Jmol Java applet
p libchemistry-openbabel-perl - Chemical toolbox library (perl bindings)
p libopenbabel-dev - Chemical toolbox library (development file
p libopenbabel-doc - Chemical toolbox library (documentation)
p libopenbabel4 - Chemical toolbox library
p openbabel - Chemical toolbox utilities (cli)
p pymol - Molecular Graphics System
p python-openbabel - Chemical toolbox library (python bindings)


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-10 14:35 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
viewtopic.php?f=35&t=298243


_________________
● 鸣学


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-10 16:00 

注册: 2012-05-10 14:03
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
谢谢楼上的详细资料, 我正在逐个尝试,

看来论坛里藏龙卧虎阿 都是对化学信息学很有研究的高手


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-10 16:19 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
用Indigo吧

代码:
from indigo import *
from indigo_renderer import *
import os

class Mol2pic():
    def __init__(self, mol_string = '', width = 600, height = 600):
        self.idg = Indigo()
        self.renderer = IndigoRenderer(self.idg)
        self.idg.setOption("render-comment-position", "top")
        self.idg.setOption("render-image-size", width, height)
#        self.idg.setOption("render-background-color", 1.0, 1.0, 1.0)
        self.idg.setOption('render-label-mode', 'forcehide')
        self.idg.setOption('render-margins', 5, 5)
        self.idg.setOption('render-coloring', True)
        self.idg.setOption('render-stereo-old-style', True)

        if mol_string:
            self.set_mol(mol_string)

    def set_mol(self, string, fmt = 'mol'):
        #print string
        string = string.replace('\\n', '\n')
        if os.path.exists(string):
            self.mol = self.idg.loadMoleculeFromFile(string)
        else:
            self.mol = self.idg.loadMolecule(string)
        self.mol.foldHydrogens()

    def to_pic(self, out_fmt = 'svg', auto_layout = False, filename = None):
        self.idg.setOption("render-output-format", out_fmt)
        if auto_layout:
            self.mol.layout()
        if filename:
            try:
                self.renderer.renderToFile(self.mol, filename)
                return filename
            except Exception, e:
                print e
                pass
        return self.renderer.renderToBuffer(self.mol).tostring()


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-16 17:25 

注册: 2012-05-10 14:03
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
自己看描述。
● as ~dmolfile~dchem
p jmol - Molecular Viewer
p jmol-applet - Jmol Java applet
p libchemistry-openbabel-perl - Chemical toolbox library (perl bindings)
p libopenbabel-dev - Chemical toolbox library (development file
p libopenbabel-doc - Chemical toolbox library (documentation)
p libopenbabel4 - Chemical toolbox library
p openbabel - Chemical toolbox utilities (cli)
p pymol - Molecular Graphics System
p python-openbabel - Chemical toolbox library (python bindings)


请教一个很棘手的问题,我现在通过调用openbabel,生成化合物SVG图, 经常出现化学键手性的错误问题,这是不是openbabel的bug?
另外,jmol如何生成svg图片?我找了半天 没有找到.. 麻烦您说详细些?


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-16 17:31 

注册: 2012-05-10 14:03
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
xiooli 写道:
用Indigo吧

代码:
from indigo import *
from indigo_renderer import *
import os

class Mol2pic():
    def __init__(self, mol_string = '', width = 600, height = 600):
        self.idg = Indigo()
        self.renderer = IndigoRenderer(self.idg)
        self.idg.setOption("render-comment-position", "top")
        self.idg.setOption("render-image-size", width, height)
#        self.idg.setOption("render-background-color", 1.0, 1.0, 1.0)
        self.idg.setOption('render-label-mode', 'forcehide')
        self.idg.setOption('render-margins', 5, 5)
        self.idg.setOption('render-coloring', True)
        self.idg.setOption('render-stereo-old-style', True)

        if mol_string:
            self.set_mol(mol_string)

    def set_mol(self, string, fmt = 'mol'):
        #print string
        string = string.replace('\\n', '\n')
        if os.path.exists(string):
            self.mol = self.idg.loadMoleculeFromFile(string)
        else:
            self.mol = self.idg.loadMolecule(string)
        self.mol.foldHydrogens()

    def to_pic(self, out_fmt = 'svg', auto_layout = False, filename = None):
        self.idg.setOption("render-output-format", out_fmt)
        if auto_layout:
            self.mol.layout()
        if filename:
            try:
                self.renderer.renderToFile(self.mol, filename)
                return filename
            except Exception, e:
                print e
                pass
        return self.renderer.renderToBuffer(self.mol).tostring()

Indigo是什么工具?我搜了很久,找不到 可否给个链接?谢谢!


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-17 15:08 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
http://ggasoftware.com/download


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-23 11:39 

注册: 2012-05-10 14:03
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
ispotato 写道:
xiooli 写道:
用Indigo吧

代码:
from indigo import *
from indigo_renderer import *
import os

class Mol2pic():
    def __init__(self, mol_string = '', width = 600, height = 600):
        self.idg = Indigo()
        self.renderer = IndigoRenderer(self.idg)
        self.idg.setOption("render-comment-position", "top")
        self.idg.setOption("render-image-size", width, height)
#        self.idg.setOption("render-background-color", 1.0, 1.0, 1.0)
        self.idg.setOption('render-label-mode', 'forcehide')
        self.idg.setOption('render-margins', 5, 5)
        self.idg.setOption('render-coloring', True)
        self.idg.setOption('render-stereo-old-style', True)

        if mol_string:
            self.set_mol(mol_string)

    def set_mol(self, string, fmt = 'mol'):
        #print string
        string = string.replace('\\n', '\n')
        if os.path.exists(string):
            self.mol = self.idg.loadMoleculeFromFile(string)
        else:
            self.mol = self.idg.loadMolecule(string)
        self.mol.foldHydrogens()

    def to_pic(self, out_fmt = 'svg', auto_layout = False, filename = None):
        self.idg.setOption("render-output-format", out_fmt)
        if auto_layout:
            self.mol.layout()
        if filename:
            try:
                self.renderer.renderToFile(self.mol, filename)
                return filename
            except Exception, e:
                print e
                pass
        return self.renderer.renderToBuffer(self.mol).tostring()

Indigo是什么工具?我搜了很久,找不到 可否给个链接?谢谢!


我用java调用,类似self.idg.setOption("render-comment-position", 这一类的参数设置,一律不能通过编译,也找不到相关的使用说明,
可有java调用的例子?setOption的这些参数从哪里可以看到如何设置呢?初学者,还请您详细指点了,谢谢!


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 求助! 如何把化学结构的文件mol格式,转化为SVG矢量图格式?
帖子发表于 : 2012-05-24 12:28 

注册: 2012-05-10 14:03
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
问题已经解决,java用Indigo
非常感谢各位牛人的大力协助!学到了不少东西!
谢谢!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译