如何在 Windows 窗体中呈现化学反应? [关闭]

Posted

技术标签:

【中文标题】如何在 Windows 窗体中呈现化学反应? [关闭]【英文标题】:How to render chemical reactions in Windows Forms? [closed] 【发布时间】:2011-06-28 21:19:48 【问题描述】:

如何在 Windows 窗体中表示化学反应?我正在使用 c# 语言。可以用mimetxt.dll表示数学公式,但是化学反应呢?

简而言之,我想以正确的格式代表获胜表格2H<sub>2</sub> + O<sub>2</sub> = 2H<sub>2</sub>O 和复杂的表格,例如:

我怎样才能做到这一点?

【问题讨论】:

有一些商业 ActiveX 控件用于此目的,请尝试谷歌搜索“化学结构图 ActiveX”。 感谢您的指导,但我没有发现这样的activeX存在。请帮忙 您显示的图像不是化学反应。反应是像第一个例子一样的方程式。您可能会找到一个支持显示化学反应所需的下标渲染等的库。您非常不太可能找到可以显示配位复合体模拟模型的库。 尝试将主要数据表示作为关键字“结构数据格式(SDF, Molfile)”(二维布局)和"SMILES"(零维)。 仍然无法解决这个问题。请帮帮我 【参考方案1】:

我们有一个名为 Chem4Word 的开源应用程序。我们通过 WPF 用户控件在窗口窗体中显示结构。

如果您查看我们位于https://github.com/Chem4Word/Version3 的 GitHub 存储库,您会发现我们用于初始测试的 Windows 窗体应用程序,它可以显示来自 molfile 的结构。 打开主要的 Chem4Word 解决方案,有一个测试工具文件夹,该应用程序位于其中,将其设置为启动项目以使用它。

【讨论】:

【参考方案2】:

有一些商业产品可以满足您的要求。但是,如果您像大多数化学家一样正在寻找开源解决方案,这里有一些基于我自己经验的建议。

由于您使用的是 .NET,GGA 软件的 Indigo 工具包是一个不错的选择。 http://www.ggasoftware.com/opensource/indigo 它有一个非常易于阅读的 API 文档,其中包含大量示例。 Indigo 的渲染模块可以以非常好的质量渲染各种文件格式(SMILES、mol、sdf、rdf、rxn 等)的分子和反应图片。我相信它可以满足您对呈现化学反应的大部分要求。

我自己使用 OpenBabel 已经有一段时间了。它也是一个很好的化学信息学开发工具。它是用 C++ 编写的,并且也有一个 .NET 绑定。 NET 版本的库中不包含一些高级功能,但我很确定包含渲染模块。图片的质量与 Indigo 一样好,但 API 文档对用户不太友好。此外,您需要安装整个软件包才能使用它。如果您正在使用 ASP.NET 开发 Webform 应用程序,则在访问服务器端的本地代码时可能会遇到授权问题。不得不说,*是个痛点。

还有 Chemaxon 软件也可以为您完成渲染工作。它是商业软件,但一些基本功能(例如渲染反应)是免费的。它基于 Java,但具有 NET 绑定。 API 文档没问题。当然,你需要在你的电脑上安装java。

【讨论】:

已更新 indigo 网站:epam.com/industries/healthcare-and-life-sciences/…【参考方案3】:

这对于您的目的可能为时已晚,但我一直在使用 OpenBabel 并取得了巨大成功。我已经能够将 Canonical SMILES、SDF 文件等转换为 PNG 和 SVG 格式。 (无耻的插件)可以在我的博客上找到使用 IPython 笔记本运行的example。它在 C++ 中,但也有 Python 绑定。

【讨论】:

【参考方案4】:

试试 MolEngine (http://www.scilligence.com/web/molengine.aspx)。如果您尝试构建 Web App,这里是示例代码:(http://www.scilligence.com/web/a-simple-structure-search-implementation-with-jsdraw-and-molengine.aspx)

【讨论】:

【参考方案5】:

这不是那种很可能得到很好答案的简单问题。

在化学领域工作的人可能知道可用于绘制此类图表的辅助库。但是您需要希望存在具有该专业知识的人并注意到您的问题。或者,您将不得不自己编写所有代码,并且考虑到您想要表示任意复杂的图表,这是一项不平凡的任务。

我建议您尝试寻找用于绘制图表的商业软件,并询问这些公司是否可以绘制您需要的东西。像 Dundas 和 SoftwareFX 这样的公司值得首先尝试。还可以尝试查看化学工业中使用的商业应用程序,看看是否有其他人绘制这些东西,看看您是否可以询问他们是如何做到的。

【讨论】:

感谢正确的方向。自从过去两天以来,我一直在寻找这个。让我试试你的指导 您也可以给 yWorks (yworks.com/en/index.html) 打个电话,看看他们的软件是否可以满足您的需求(根据文档,它能够绘制“生化反应网络”。我不假装知道这意味着什么:) 非常感谢。但我找到了基于 Letex 的 MimeText.dll 。那么 Mimetext 也会支持化学结构图吗?

以上是关于如何在 Windows 窗体中呈现化学反应? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WPF 或 WinForms 中呈现公式

如何在反应中安全地呈现html?

如何在本机反应中呈现html表格?

如何在本机反应中呈现html音频标签?

Windows 窗体嵌入式进度条后台工作者

如何做一些项目或标题不应该在本机反应中多次呈现