TWaver - 專(zhuān)注UI技術(shù)

          http://twaver.servasoft.com/
          posts - 171, comments - 191, trackbacks - 0, articles - 2
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          DNA分子結(jié)構(gòu)3D模型

          Posted on 2014-08-21 15:07 TWaver 閱讀(632) 評(píng)論(0)  編輯  收藏

          生物信息資源更新越來(lái)越快,使用可視化的方法來(lái)分析DNA序列已成為生物信息學(xué)的一個(gè)研究熱點(diǎn),用圖形表示DNA序列的方法也越來(lái)越成熟。2011年,著名雜志《Science》發(fā)表一篇引起轟動(dòng)的文章:《Presenting the Human Genome:Now is 3D!》,這篇文章完全給我們描述了人類(lèi)基因組測(cè)序未來(lái)的藍(lán)圖,可見(jiàn)3D技術(shù)在很多領(lǐng)域都是發(fā)展方向。
          使用mono可以快速的創(chuàng)建DNA分子結(jié)構(gòu)立體模型,效果如下:



          當(dāng)然簡(jiǎn)單的呈現(xiàn)DNA分子結(jié)構(gòu),僅僅是一部分功能,如果將mono和專(zhuān)業(yè)的DNA分析儀結(jié)合,不僅可以發(fā)現(xiàn)病癥,更重要的是預(yù)測(cè)病癥的發(fā)生,治病于未發(fā),這將是人類(lèi)的福音。除了研究人類(lèi)基因之外,我們還可以對(duì)農(nóng)作物的進(jìn)行DNA3D模型化,并加以分析,對(duì)農(nóng)業(yè)的發(fā)展和糧食安全方面都會(huì)有積極的意義。
          使用mono創(chuàng)建3D模型最大的特點(diǎn)就是快,代碼不過(guò)幾十行,使用Editor更是不需要代碼量。本文的效果圖通過(guò)代碼實(shí)現(xiàn),核心代碼如下:

          1function createDNA(box, x, y, z, colors){
          2    var count=20+Math.random()*50;
          3    var dist=50;
          4    var parent=createNode(box, 100,0,0,'red');
          5    for(var i=0;i<count;i++){               
          6            var angle=Math.PI*2/360*15*i;
          7        var radius = (i % 2==0) ? 10 7;
          8        var color = colors[i%2]
          9        var node1=createPairNode(box, dist, radius, i, angle, color);
          10        var node2=createPairNode(box, dist*0.3, radius, i, angle, color);
          11        node1.setParent(parent);
          12        node2.setParent(parent);
          13 
          14        if(i % 2==0){
          15        var link=createLink(box, node1, node2, dist, angle, 'gray');
          16        var node3=createPairNode(box, dist*0.58, radius*0.4, i, angle,'cyan');
          17        var node4=createPairNode(box, dist*0.72, radius*0.4, i, angle,'cyan');
          18        link.setParent(parent);
          19        node3.setParent(parent);
          20        node4.setParent(parent);
          21        }
          22    }
          23    parent.setPosition(x,y,z);
          24        parent.setStyle('m.visible',false);
          25        return parent;
          26}
          1function createPairNode(box, size, radius, index, angle, color){
          2    var x=size*Math.sin(angle);
          3    var z=size*Math.cos(angle);
          4    var y=index * 10;                      
          5    var node = createNode(box, radius, x, y, z, color);
          6    return node;
          7}

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 潜山县| 安远县| 郯城县| 肥乡县| 彩票| 平舆县| 黑龙江省| 阳西县| 赣州市| 南昌县| 潢川县| 绩溪县| 凤城市| 永城市| 墨竹工卡县| 武乡县| 江西省| 兴城市| 惠东县| 克什克腾旗| 北安市| 蕉岭县| 衡山县| 云龙县| 玉门市| 阜平县| 安平县| 大姚县| 奉节县| 朔州市| 会宁县| 黔西| 班玛县| 荣昌县| 彝良县| 乳山市| 博白县| 沙坪坝区| 育儿| 福安市| 门源|