SMILES Drawer:纯JavaScript分子结构可视化工具

SMILES Drawer:纯JavaScript分子结构可视化工具

【免费下载链接】smilesDrawer A small, highly performant JavaScript component for parsing and drawing SMILES strings. Released under the MIT license. 【免费下载链接】smilesDrawer 项目地址: https://gitcode.com/gh_mirrors/smi/smilesDrawer

SMILES Drawer是一款功能强大的JavaScript组件,专门用于解析和绘制SMILES(Simplified Molecular Input Line Entry System)字符串。该项目由Reymond Group开发,采用MIT许可证开源发布,当前版本为2.1.10。

核心特性

SMILES Drawer具备以下突出特点:

无需服务器支持:完全在客户端浏览器中运行,无需后端服务支持 零依赖图像模板:基于纯JavaScript和Canvas/SVG技术生成分子结构图 高性能渲染:即使处理复杂分子结构也能保持流畅的绘制性能 高度可定制:支持亮色和暗色主题,原子颜色和样式完全可配置 跨框架兼容:可在原生JavaScript、React、Vue、Svelte等现代前端框架中使用

快速入门指南

安装方式

通过npm或yarn安装:

npm install smiles-drawer
# 或
yarn add smiles-drawer

或者通过CDN直接引入:

<script src="https://unpkg.com/smiles-drawer@2.1.10/dist/smiles-drawer.min.js"></script>

基础使用示例

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>SMILES Drawer示例</title>
    <link href="https://fonts.googleapis.com/css?family=Droid+Sans:400,700" rel="stylesheet" />
</head>
<body>
    <input id="smiles-input" placeholder="输入SMILES字符串" />
    <canvas id="output-canvas" width="500" height="500"></canvas>

    <script src="smiles-drawer.min.js"></script>
    <script>
        const input = document.getElementById('smiles-input');
        const options = { width: 500, height: 500 };
        
        const smilesDrawer = new SmilesDrawer.Drawer(options);
        
        input.addEventListener('input', function() {
            SmilesDrawer.parse(input.value, function(tree) {
                smilesDrawer.draw(tree, 'output-canvas', 'light', false);
            });
        });
    </script>
</body>
</html>

分子结构可视化示例

高级功能特性

主题定制

SMILES Drawer提供完整的颜色主题定制功能,支持亮色和暗色两种预设主题,并且可以完全自定义原子颜色:

const customTheme = {
    C: '#333333',    // 碳原子颜色
    O: '#FF0000',    // 氧原子颜色  
    N: '#0000FF',    // 氮原子颜色
    BACKGROUND: '#FFFFFF' // 背景颜色
};

SVG支持

除了Canvas渲染,还提供SVG渲染器,生成矢量图形:

const svgDrawer = new SmilesDrawer.SvgDrawer(options);
svgDrawer.draw(tree, 'output-svg', 'light', false);

反应式绘制

支持实时输入响应,用户在输入框中输入SMILES字符串时实时更新分子结构显示。

反应高亮显示

配置选项详解

SMILES Drawer提供丰富的配置选项:

配置项说明默认值
width画布宽度500px
height画布高度500px
bondThickness键粗细0.6
bondLength键长度15
atomVisualization原子可视化方式'default'
terminalCarbons显示末端碳原子false
explicitHydrogens显示显式氢原子false

应用场景

化学教育:帮助学生直观理解分子结构和化学键 药物研发:快速可视化候选化合物分子结构 科研论文:为学术论文生成高质量的分子结构图 化学数据库:在线展示化学物质的结构信息

样式定制界面

技术优势

基于现代JavaScript标准开发,不依赖任何外部库(除chroma-js用于颜色处理)。采用模块化设计,易于集成到现有项目中。支持ES6模块导入,兼容现代构建工具如Webpack、Rollup等。

开发与构建

项目使用Gulp作为构建工具,支持自定义构建:

git clone https://gitcode.com/gh_mirrors/smi/smilesDrawer
cd smilesDrawer
npm install
gulp

构建完成后,在dist目录下生成优化后的生产文件。

SMILES Drawer作为一个成熟的开源项目,持续维护和更新,为化学信息学领域提供了强大的可视化解决方案。无论是教育、科研还是工业应用,都能为用户提供专业级的分子结构绘制体验。

【免费下载链接】smilesDrawer A small, highly performant JavaScript component for parsing and drawing SMILES strings. Released under the MIT license. 【免费下载链接】smilesDrawer 项目地址: https://gitcode.com/gh_mirrors/smi/smilesDrawer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值