• 締切済み

モンテカルロシミュレーションのプログラムについて

モンテカルロシミュレーションを用いたタンパク質と低分子の結合実験を行えるプログラム(使用言語:FORTRAN77)を作ろうと考えています。 結合実験の目的はタンパク質上で低分子が結合しやすい部分をさがすことです。 タンパク質上のそれぞれの部分に乱数を振り分けて確率的な試行(低分子をタンパク質に結合させる操作)を何回も繰り返すことで結合しやすい部分を見つけ出そうと考えています。 しかしプログラミングを本格的に始めてまもないということもあり、プログラムを作るための糸口がいま一つ見つかりません。 (例えばタンパク質上の各部分での乱数のふりかた、パソコンによる操作でタンパク質と低分子を結合できるようなプログラムの書き方など) プログラム完成にいたるまでの手順、方法等についてのアドバイスを頂けませんか?

  • 化学
  • 回答数1
  • ありがとう数2

みんなの回答

  • c80s3xxx
  • ベストアンサー率49% (1631/3289)
回答No.1

タンパクの構造モデルと相互作用モデルをどう作るかがキモでしょう. MC使う意味がよくわかりませんけど.

関連するQ&A

  • 分子動力学シミュレーションについて

    学校の実験で、fortranを用いて分子動力学シミュレー ションのプログラムを作成中なのですが、手元の本では おおまかな概要しか記載されていないためまったく 進んでいません。 どなたかfortranのプログラムの作成の手順について 教えてください。

  • 物理シミュレーションをする時、どのくらいプログラミングの知識があればいいのか?

    物理学で自然現象をパソコンでシミュレーションするとき、プログラム言語はどのようなものを使うのでしょうか?よく知られたC言語やJava等は使わないのでしょうか?専門的なプログラム言語がいろいろあるのでしょうか? 今後パソコンで物理シミュレーションを行うことになったとき、プログラムに関してはどのくらいの知識があればいいのでしょうか? 基本的な本を見るとBasicやFortranを使ってシミュレーションの説明をしているものがありますが、このような基本的な言語も使えるようになったほうがよいのでしょうか? C言語やJava、VBなど一般的によく知られたプログラミング言語も覚えたほうがよいのでしょうか?

  • 避難シミュレーションプログラミング(Fortranにて)

    大学の研究で、災害時の避難シミュレーションのプログラミングをVisual Fortranで行っています。 人が一本道を歩いていて、十字路の交差点にさしかかった時に、 交差点を判断して、とりあえず右に曲がるという プログラムを組みたいと考えております。 わかりずらくてすいません、 マニアックな質問かと思いますが、 考え方として良いアイデアがありましたら教えてください。

  • 乱数の初期化について

    Cでモンテカルロシミュレーションを行っています。 乱数Merssenne twisterをつかって、各試行ごとに乱数を 時間で以下のように初期化しています。 init_genrand ((unsigned)time(NULL)) ; だいたい10000~100000回くらいシミュレーションを行う必要があって、 各試行は使用しているPCだと一瞬で終了します。 このときに上記の方法で種を初期化すると、 きちんと確認はしていないのですが、 試行時間が短すぎで種の時間が進んでいないような状態が起こります。 パソコンの時間で初期化する場合、間隔が短すぎると初期化種がかぶる ことはありますか。 もしあるなら、1回の試行時間が短いシミュレーションを各々初期化できる ような初期化の方法を教えていただけないでしょうか。 環境はcore2duo2.16、vista32、コンパイラはVisualC++2008です。 よろしくお願いします。

  • 配列と乱数を使ったプログラム

    配列と乱数を使ったプログラムについて 今年からプログラミングについて勉強する事になったのですが、 配列と乱数を上手く使うことができません。やりたいと思っていることが おみくじのプログラムで 大吉 中吉 小吉 という3つの配列からウィンドウ上にランダムで 一つ表示するというプログラムです。 【おみくじの結果は *** です。】 ←***の部分がランダムに配列から表示される結果です。(分かりづらなかったら、ごめんなさい) 病欠で2週ほど授業に出席する事が出来なかったので、配列と乱数についてよく分かりません。 PENというソフトで学習しているので、出来るならPENにそって教えてもらえると、嬉しいです。 宜しくお願いしますm(_ _)m

  • MALDI質量分析で糖鎖の量を比較

    分子量数万のタンパク質全体に結合した糖鎖の量を比較したいのですが,MALDI-TOFで分析できないかと考えています。グリコシド結合は,タンパク質のほかの共有結合と比較して分解されやすいものでしょうか。それとも理論的にグリコシド結合は,通常のMALDI-TOFでは分解されることはないのでしょうか。何か実験で条件検討をしないと,実際より小さい分子量の糖鎖データとなりますか。質量分析に詳しい方,教えてください。

  • プログラムの書き方についてです。

    ひまわりの種が2000年のと2006年ながあるとします。 その平均値の差tを求めるプログラムはどう書けばいいでしょうか? t=|平均(!2006)ー平均(!2000)|/√(n(!2006)-1)s^2(!2006)+(n(!2000)-1)s^2(!2000)/n(!2006)+(n(!2000)-2(*1/n(!2006)+1/n(!2006)) 分子は|平均(!2000)ー平均(!2006)|です。あとはルートの中に含まれています。 (*1/n(!2006)+1/n(!2006))の部分はルート中の分母にかけるのではないです。そのままの掛け算です。 不偏分散も平均のプログラムもわかる状態なのでサブルーチンで出ことはできますが、この式はどう書けばいいのかわかりません。 教えてください。わかりにくかったら補足していきたいので教えてください。 fortranでお願いします。

  • 物理数値シミュレーションの結合と通信

     数値シミュレーションの技法に関する質問です。(以下、長文ですみません)  2つの数値計算プログラムがあり、それぞれ単独で、まあ正常に動作しています。その2つのプログラムは別の例えで言うと、プログラムAは空、プログラムBは海というものに対応しており、海面という境界では通信する必要がある、というようなものです。プログラムA,Bを何とか結合して全体を含んだプログラムCを作りあげるのが一般的なのかもしれませんが、プログラムA、Bについてそれぞれにあまり手を加えず、通信ができる仕組み(ファイル入出力で対応など)を少しだけ付加してプロセスとしては別々に実行できないかなと考えています。A,Bともに時間的に変化していくので、境界面での通信もそのつど計算する必要があるのです。  まず、Aを実行して、あるところで一旦休止して、Bが動き始め、あるところで休止し、またAが動く...というようなことなのかなと思いますが。この場合、A,Bが交互に動くという意味で同時性がないように思われますが、Aが終わったあと、Bが後ろから追いかけてくるというイメージです。1つのアイディアですが、AからBを呼び出すことができれば、AがBを呼び出し、実行している間、Aは待っており、Bが終わったらまたAが動き出す(そのあとまたBが呼び出される)という方法です。  2つのプログラムは変数名が同じだったりするので変数管理が大変で間違いそうなのでできればソースを編集して結合するのはやりたくないと思っています。  Linuxのシェルスクリプトだったら何でもできるというのかもしれませんが、私は主にWindowsユーザで言語はFortran, シェルというよりバッチ(バッシュよりバッチ)という環境で使っています。(Fortran90以降はモジュールという考え方も出ているようですが、どんなものかなと思いますが。) 何かアイディアがあれば教えて頂きたいのですが。よろしくお願いします。 ※今回の質問はプログラム2つでしたが、うまくいったら3つ4つとなっていく可能性ありです。 ※適当なカテゴリが見つからず、Cのユーザだったらシステムのキモの部分から何でも知っているはずなので、このカテゴリにアップしました。

  • モンテカルロシミュレーションのプログラム

    ブラックジャックのプログラムについて困っています。プレイヤーは1対1とし2人とも戦略は16以下はもう1枚引き、17以上になったら引くのをやめるものとし、何回も何回も試合を自動で繰り返すモンテカルロシミュレーションを作ることは出来ますか?3万回以上の試合を目標としています。 簡単なソースでもよろしいので教えてください。(勝率を表示することが可能ならお願いします。) よろしくお願いします。

  • Fortranのフリーソフトってありますか?

    実験結果や計算をプログラムに入力させて結果を出力させたいと思っているのですが、Fortranのようなプログラムを組むためのフリーソフトってありますか? また、理工系のためのプログラミングソフトでお勧めフリーソフトってありますか??? 宜しくお願いします。