龙卷上瓶子里的RDKIT

chembl_beaker的Python项目详细描述


化学烧杯图片::https://img.shields.io/pypi/v/chembl_beaker.svg
:目标:https://pypi.python.org/pypi/chembl_beaker/
:alt:最新版本

…图片::https://img.shields.io/pypi/dm/chembl_beaker.svg
:目标:https://pypi.python.org/pypi/chembl_beaker/
:alt:downloads

图片::https://img.shields.io/pypi/pyversions/chembl_beaker.svg
:目标:https://pypi.python.org/pypi/chembl_beaker/
:alt:支持的python版本

…图片::https://img.shields.io/pypi/status/chembl_beaker.svg
:目标:https://pypi.python.org/pypi/chembl_beaker/
:alt:开发状态

…图片::https://img.shields.io/pypi/l/chembl_beaker.svg
:目标:https://pypi.python.org/pypi/chembl_beaker/
:alt:license

。图片::https://badge.waffle.io/chembl/chembl_beaker.png?label=ready&title=ready
:target:https://waffle.io/chembl/chembl嫒u烧杯
:alt:'准备好的故事'

什么是烧杯?
——


这是在"Chembl<;https://www.ebi.ac.uk/chembl/>;``uu group,`embl-ebi<;https://www.ebi.ac.uk/>;``uu,Cambridge,UK"开发的Chembl-u烧杯包。

这是"rdkit<;http://www.rdkit.org/>;`` uu和"osra<;http://cactus.nci.nih.gov/osra/>;"`_,其中公开了以下方法:

*`格式转换<;https://github.com/mnowotka/chembl_-beaker/blob/master/chembl_-beaker/beaker/core_-apps/conversions/views.py>;``ubr/>*`复合识别<;https://github.com/mnowotka/chembl_-beaker/blob/master/chembl_-beaker/beaker/core_-apps/osra/views.py>;`\br/>*`光栅图像(PNG)生成<;https://github.com/mnowotka/chembl廑u烧杯/blob/master/chembl廑u烧杯/beaker/core廑apps/rasterimages/views.py>;`\br/>*`矢量图像(SVG)生成<;https://github.com/mnowotka/chembl廑烧杯/blob/master/chembl廑烧杯/beaker/core廑apps/svgimages/views.py>;`
*`HTML5就绪的复合表示法<;https://github.com/mnowotka/chembl_-beaker/blob/master/chembl_-beaker/beaker/core_-apps/jsonimages/views.py>;`
*`fingerprints<;https://github.com/mnowotka/chembl_-beaker/blob/master/chembl_-beaker/beaker/core_-apps/fingerprints/views.py>;`
*`描述符<;https://github.com/mnowotka/chembl_u烧杯/blob/master/chembl_u烧杯/beaker/core_apps/descriptors/views.py>;`
*`环信息<;https://github.com/mnowotka/chembl_u烧杯/blob/master/chembl_烧杯/beaker/core_apps/ringinfo/views.py>;。`_
*`Maximum Common Substructure<;https://github.com/mnowotka/chembl廑u烧杯/blob/master/chembl廑u烧杯/beaker/core廑apps/mcs/views.py>;`\br/>*`smiliarity maps<;https://github.com/mnowotka/chembl廑烧杯/blob/master/chembl廑烧杯/beaker/core廑apps/similitymaps/views.py>;`\br/>*`chEMBL标准化过程<;https://wwwdev.ebi.ac.uk/chembl/extra/francis/standardiser/>;``由中和、断键、除盐和应用各种规则组成。
*`使用通用力场生成三维坐标<;https://github.com/mnowotka/chembl嫒烧杯/blob/master/chembl_u烧杯/烧杯/core_apps/d3coords/views.py>;` `
*`各种其他计算(例如kekulisation)<;https://github.com/mnowotka/chembl_u烧杯/blob/master/chembl_u烧杯/烧杯/core_apps/calculations/views.py>;`
*marvin 4 js compileant`webservices<;https://marvin4js.chemaxon.com/marvin4js-latest/docs/dev/webservices.html>;` `

hub.com/spore/specifications>;``文档化的Web服务器。这个特殊的实现将rdkit包装在"tornado"上的"bottle<;http://bottlepy.org/docs/dev/>;` ` ` ` ` `中,http://www.tornadoweb.org/en/stable/>;` ` ` ` ` ` ` ` `.

它在哪里使用?
——
"烧杯"中使用"烧杯";即:"项目",但也可以作为独立的Web服务器使用。也可以用作"马尔文"的Web服务后端;马尔文和马尔文;它公开了与webservice规范兼容的方法<;https://marvinjs demo.chemaxon.com/latest/docs/dev/webservice s.html>;`.
为此,需要配置marvin sketcher实例:





marvin.sketcher instance=new marvin.sketch("sketch");
marvin.sketcherInstance.setServices(getDefaultServices({
'clean2Dws':<;烧杯清洁网络服务的URL>;,
'molconvertws':<;烧杯molexport网络服务的URL>;,
"stereoinfows":<;烧杯cipstereonfo的URL>;
);

l
——
烧杯安装在mychembl虚拟机(当前版本19)上,因此如果您想了解如何为apache部署它,或者在笔记本电脑或局域网上使用它,而不必安装rdkit和osra,您只需获取mychembl的副本即可。
最简单的方法是安装'vagrAnt<;https://www.vagrant up.com/>;``和类型:


vagrant init chembl/mychembl
vagrant up


rg/docs/dev/>;``u
*`tornado<;http://www.tornadorweb.org/en/stable/>;``u

>
其他依赖项
--

*`pycairo<;http://cairographics.org/pycairo/>;``` cairoffi<;http s://github.com/simonsapin/cairoffi>;`(用于'svg<;https://en.wikipedia.org/wiki/s可缩放矢量图形` `格式支持)
*`lxml<;http://lxml.de/>;` `(`mrv<;https://www.chemaxon.com/marvin/help/formats/mrv doc.html>;` `文件格式)
*`matplotlib<;http://matplotlib.org/>;` ` `(生成相似性映射)
*`standardiser<;https://github.com/flAtkinson/Standardiser>;``(烧杯标准化应用程序使用的分子标准化工具)

塔特和龙卷风。rdkit和osra必须分开安装。
当然可以从github克隆开发版本,但不能保证它能正常工作。
如果要使用"pip"安装github版本,请调用以下命令:

`"sudo pip install g it+https://github.com/mnowotka/chembl_u beaker.g它`

Mac用户的完整配方
——


所以我想测试它,我有一个Mac,我不知道什么是RDKit,Tornado和瓶子-我该如何开始?

首先,从https://xquartz.macosforge.org/landing/安装Xquartz,然后::

brew tap edc/homebrew rdkit
brew install rdkit
导出rdbase=/usr/local/share/rdkit
export pythonpath=$pythonpath:/usr/local/lib/python2.7/site packages
export cflags=-qunused arguments
export cppflags=-qunused arguments
sudo-e pip install cairocffi
sudo-e pip install hellow
sudo-e pip install lxml
sudopip install standardiser
sudo pip install chembl_烧杯
run_berker.py

或者,您可以使用"本文<;http://macinchem.org/reviews/cheminfo/cheminfomac.php>;``作为安装指南。

配置
--
存储在位于当前目录的"beaker.conf"文件中。运行烧杯时,可以使用`--config(-c)``参数指定
配置文件的位置。配置文件格式是标准的`*.ini`。
烧杯是与名为"beaker.conf.sample`"的示例配置文件一起分发。

**debug**-在调试模式下运行瓶子服务器(true/false,默认值"true```)
**bottle_port**-瓶子服务器侦听连接的端口数(整数,默认值"8080`)
**bottle_host**-瓶子服务器的主机名(字符串,默认为"localhost"`)
***服务器中间件**-瓶子使用的网络中间件库(字符串,默认为"tornado"`)
**osra_binaries_location**-要用于复合识别的osra二进制文件的路径(字符串,默认为"`/usr/bin/osra``)
***启用CORS**-启用CORS插件并尊重下面的所有头设置(true/false,默认值``true`)
**access_control_allow_origin**-"access control allow origin"头的内容随每个响应发送(string,默认值``*`)
**access_control_allow_methods**-"访问控制允许方法"头的内容随每个响应发送(字符串,默认值"get,post,put,options`)
**installed_apps**-安装在烧杯中的应用程序,默认值为[
"chembl_-beaker.bee"
"chembl_-beaker.bee"aker.core_apps.conversions",
"chembl_烧杯.烧杯.核心_apps.descriptors",
"chembl_烧杯.烧杯.核心_apps.fingerprints",
"chembl_烧杯.烧杯.核心_apps.marvin",
"chembl_烧杯.烧杯.核心_apps.mcs",
"chembl_烧杯.烧杯.核心_apps.osra",
"chembl_bea烧杯。烧杯。核心烧杯应用程序。光栅图像",
"chembl_u烧杯。烧杯。核心应用程序。环信息",
"chembl_u烧杯。烧杯。核心应用程序。系统",
"chembl_u烧杯。烧杯。核心应用程序。jsonimages",
"chembl_u烧杯。烧杯。核心应用程序。自动文档",
]

要使用烧杯,请键入"run撸beaker"`
如果要在生产环境中运行烧杯,请阅读下面的部分。

E::

from bottle import debug
import json
from chembl_烧杯。烧杯导入应用程序,配置,加载插件,加载应用程序

conf_path="[配置路径。文件]"
config.load_config(conf_path)

plugins=json.loads(config.get('plugins','[])


loadapps(apps)


debug(true)


就这样!有关详细信息,请参阅"本文档"<;http://flask.pocoo.org/docs/deploying/mod_wsgi/>;` ` `.
所有可以用mod_wsgi部署在apache上的内容,都可以用uwsgi部署在nginx上,详细信息请参见http://fclef.wordpress.com/2013/01/12/bottle-virtualenv-uwsgi-nginx-installation-on-ubuNTU-12-04-1-LTS/>;` `.


文档
----
就像每一个用python编写的好软件一样,烧杯都是自文档的。运行烧杯时,打开浏览器并转到url:``烧杯根/docs`。您将看到从所有可用的web服务动态生成的实时文档,由beaker公开。您可以立即尝试它们并查看服务器返回的结果。每个webservice都应该有文档记录-文档也是从每个公开的webservice的docstring自动生成的,解释为标记。图片::https://dl.dropboxusercontent.com/u/10967207/static/docs.png
:alt:docs截图


开发-编写自己的扩展
--
唯一需要的文件是"views.py",您应该在其中定义botte"routes"。由于你的应用程序从技术上讲是一个python模块,因此也需要使用````uuuinit`.py``.
你应该将模块包装在``pip``包中,并通过``pypi``分发。这样一来,想要安装应用程序的用户必须通过"pip"安装并将其添加到"install"ed_apps``列表。



你可以发邮件给作者:mmmnow@gmail.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java获取范围内的素数和总素数   JAVAlang.IllegalArgumentException:找不到无效的URL或资源。JavaFX图像   java我可以在vaadin中直接流式处理ZipFile吗?   apache poi java poi HSSFsheet如何添加包含图片的页眉和页脚?   java如何在swing中使用GridLayout使列大小不同?   java为什么JPasswordField中的getText()被弃用?   java整数对象是如何创建的?   java在JAAS的策略文件中授予URL权限   linux Openssl(shell脚本)相当于java解密代码   java是无服务器的,结合事件源是可能的吗?   java JPA双向Uknown列   javajavax。加密。IllegalBlockSizeException:解密加密的AES字符串时最后一个块未完成   java如何知道我的ProcessBuilder start()是否成功执行了这些命令   本地特定错误消息中的java插值   java控件SFX通知异常   java文本输入if语句JavaFX   swing java未连接到水平组   java泛型,迭代器>无法访问内部类函数   java如何跳过当前页并写入下一页?   java一次导入许多静态字符串