日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

用python帶孩子過一個快樂的“六一”

系統 2007 0

? ? 這個周末是六一,筆者分享一下給孩子做的一個小程序,這樣的例子需要有趣、簡單有動畫效果,所以我就用python的dash_bio給孩子展示了DNA的分子結構,效果不錯:)

用python帶孩子過一個快樂的“六一”_第1張圖片

? ? ? ? ? ? dash_bio庫的安裝·

? ? ? 首先是安裝dash_bio庫,他的例程是基于python2.7的,不過python3應該也行,稍微改一下代碼即可。執行下列語句即可完成安裝。這其中沒遇到什么坑。

            
              pip install dash-bio==0.0.10
pip install dash_html_components 
            
          

? ? ? ? ? 運行DNA模型展示程序

執行下面的程序

            
              import json
import urllib2 as urlreq

import dash
import dash_bio as dashbio
import dash_html_components as html


external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

model_data = urlreq.urlopen('https://raw.githubusercontent.com/plotly/dash-bio-docs-files/master/mol3d/model_data.js').read()
styles_data = urlreq.urlopen('https://raw.githubusercontent.com/plotly/dash-bio-docs-files/master/mol3d/styles_data.js').read()
model_data = json.loads(model_data)
styles_data = json.loads(styles_data)
dashbio.Molecule3dViewer(
    styles=styles_data,
    modelData=model_data,
    selectionType='Chain'
)
app.layout = html.Div([
    dashbio.Molecule3dViewer(
        id='my-dashbio-molecule3d',
        styles=styles_data,
        modelData=model_data
    ),
    "Selection data",
    html.Hr(),
    html.Div(id='molecule3d-output')
])


@app.callback(
    dash.dependencies.Output('molecule3d-output', 'children'),
    [dash.dependencies.Input('my-dashbio-molecule3d', 'selectedAtomIds')]
)
def show_selected_atoms(atom_ids):
    if atom_ids is None or len(atom_ids) == 0:
        return 'No atoms have been selected. Click somewhere on the molecular structure to select an atom.'
    return [html.Div([
        html.Div('Element: {}'.format(model_data['atoms'][atm]['element'])),
        html.Div('Chain: {}'.format(model_data['atoms'][atm]['chain'])),
        html.Div('Residue name: {}'.format(model_data['atoms'][atm]['residue_name'])),
        html.Br()
    ]) for atm in atom_ids]


if __name__ == '__main__':
    app.run_server(debug=True)
            
          

? ? ? 如果是在python3環境上運行,需要把?import urllib2 as urlreq改為import urllib.request as urlreq即可,不過我沒親自試,理論上講應該沒問題。

? ? 過一會兒,服務器中加載完成后會出現以下揭示

用python帶孩子過一個快樂的“六一”_第2張圖片

? ? ?查看運行效果

打開http://127.0.0.1:8050/稍等一會load狀態過去

就可以看到動態的圖了

用python帶孩子過一個快樂的“六一”_第3張圖片

? ? ?孩子看起來非常感興趣,給他講解的過程我也連同復習了雙螺旋結構了。

? ?后記 ??

? ? ?如果不想自己搭python運行也可以直接用官方的demo:https://dash-bio.plotly.host/Portal/,而且這個庫所帶的數據應該都非常有價值,后面我也要再研究一下。

用python帶孩子過一個快樂的“六一”_第4張圖片

?

? ? 好了這也是個非常簡單的類庫介紹,可以深入研究生物數據結構,也能給孩子做個啟蒙:)好了祝各位程序員六一快樂!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 连城县| 中西区| 白水县| 宁海县| 宣威市| 溧阳市| 邵东县| 古交市| 儋州市| 张家川| 张北县| 高雄县| 吕梁市| 福建省| 通辽市| 满洲里市| 木兰县| 都安| 东莞市| 三门县| 西贡区| 方山县| 舒城县| 昌吉市| 五莲县| 泾阳县| 肇东市| 大关县| 郯城县| 丹巴县| 酉阳| 大名县| 乌兰浩特市| 沁水县| 潍坊市| 江北区| 乡城县| 宜昌市| 太湖县| 宿州市| 民乐县|