用Vue应用Jsmol开发骨架分子图

465 阅读1分钟

1、先下载JSMol框架,官网下载 Jmol/JSmol Interactive Script Documentation (stolaf.edu)

2、应用JSMol 文件:

<script type="text/javascript" src="<%=BASE_URL %>jsmol/JSmol.min.js"> 

3、创建容器:

<div class="mol-container" ref="container" id="gldiv">

4、初始化JSMol:

var Info = {

          width: 580,

          height: 580,

          color: '0xFFC0CB',

          use: 'HTML5',

          script:

            "load data 'mydata'" +

            res.data +

            "\nend 'mydata' {1 1 1} PACKED; background black;restore orientation;set antialiasDisplay;center visible;zoom 100;wireframe 0.1;spacefill 0.4;set axesWindow ON;set axes POSITION [510 40] or ON;set unitcell RANGE {1 1 1}",

          j2sPath: '/jsmol/j2s/',

          readyFunction: jsmol_isReady, // 异步处理数据

        }

        this.cifFileData = res.data //cif文件的数据 也可以直接访问文件

        var jmolApplet = Jmol.getApplet('jmolApplet', Info)

        this.jmolApplet = jmolApplet

        var that = this

        // 获取原子与原子的键长判断是不是在成键的范围内

        function jsmol_isReady() {

          that.queryBondLength()

        }

        $('#gldiv').css('display', 'flex')

        $('#gldiv').html(jmolApplet._code)

5、JSMol一些常用的属性

    'mydata' {1 1 1} PACKED----设置a, b, c方向都是一个晶胞;

background #ccc|black ---- 设置背景图的颜色;

set antialiasDisplay---- 设置左上角的标识;

zoom 100 ---- 缩放比例;

wireframe 0.1;spacefill 0.4 ---- 设置球棍模式线的宽度和球的直径;

set axesWindow ON ---- 设置坐标x,y,z的展示;

set axes POSITION [510 40]----设置坐标的位置;

set unitcell RANGE {1 1 1} ----设置晶胞的个数(必须是整数,需要重新加载);

 

 

输出效果:

JSMol.png