中田真秀(なかたまほ)のブログ

研究について、日常について、その他。

PDBからSTLへ: タンパク質を3Dプリンタで出力するまで

2014-09-11 16:04:16 | 日記
このブログエントリには3d-print-your-favorite-protein
を参考に、タンパク質のモデルを、OSXで3Dプリンタへ出力するのに必要なSTL形式に直す手順を記してある。

1. pymolでタンパク質を表示し、VRML2 形式でエクスポート

* show surfaceとすると見やすい
* File -> Save Image as -> VRML 2...

2. MeshLabで加工

できた形式は頂点と面数が大抵ものすごく多い。さらに分子模型も中に埋められている場合がある。プリントにも時間がかかるか、プリンタに送れないかしれない。そのためには、不必要な面および頂点を減らすとよい。

2.1 wrlファイルをimport
File -> import meshで VRML2形式をインポート

2.2 頂点や面を減らす
Filters -> Resampling, simplification and reconstruction -> Clustering decimation
で、prec on 0.2, 0.3 ... (数字が大きいと範囲も大きくなる)
とする。

サンプルのPDBを使ってみたところ、
オリジナルでは
Vertices: 440,2066
Faces : 778,3032
が、prec on 0.2で減らすと
Verteices: 199,965
Faces : 479,589
となり、prec on 0.3で減らすと
Verteices: 139,314
Faces : 286,539
となる。もっと減らしても良いかもしれない。

2.3 頂点や面を減らす2
Filters -> Resampling, simplification and reconstruction -> Quadratic Edge Collapse Decimation
で、Percentage Reductionを0.3とすると、

Verteices: 139,314
Faces : 286,539
から
Verteices: 72,571
Faces: 143,268
まで減った。

コメント: Quadratic Edge Collapse Decimationは品質は高いが時間も無駄にかかる。頂点数、面数が多いと途中で
止まることさえあった。Clustering decimationでざっくり減らしておいてから、Quadratic Edge Collapse Decimation
で減らすのが良いと思われる。

3. STLへエクスポート
File -> Export Mesh As で STLを選択し、セーブ。
これを3Dプリンタへ送れば良い。