Python
2次元イジングモデルでの各ステップでのアップデート方法に致命的な部分がありました...。 今までの2次元イジングモデルのアップデート方法(1) 2次元上のスピンをランダムに一つ選び、スピンを反転させる。 前状態とのエネルギー差を計算する。 メトロポ…
2015/11/13修正 def calcDeltaEの部分 return -2*dE def MCのエネルギー差の足し算部分 E+=dE 修正済みのコードは文中。 本文 今までのプログラムは、エネルギーを計算する際に全ての要素に対してエネルギーの再計算を行っていました。しかしイジングの場合…
ホップフィールドネットワークのプログラムを書いたので、2次元イジングモデルのプログラムも書いてみました。イジングモデルは磁性体を表したモデルです。磁性体は磁石だと考えてもらって結構だと思います。磁石は、熱を与えるとその磁性を失います(つまり…
大昔にHopfield Networks(HN:この略し方に一般性はありません。)についてのPythonプログラムを書いたが、あまりにも酷かったので書きなおしてみました。HNは連想記憶モデル、言い換えると、教師あり型のパターン認識方法の一種だと考えられます。教師あり型…
multiprocessingの使い方を学ぶために、行列の積を計算しました。結果は、絶望的に遅いです。そもそもプログラムに問題があるかも知れません。60x60の行列の積でも数秒かかってしまいます。 以下、コードを部分的に説明していきます。 必要なモジュールのイ…
この間、紹介したMDanalysisを使って、RMSFを求めてみたところ、やけに大きな値が出てたのでずっと疑問に思っていました。念のために gmx rmsf -f trajectory.file -s toplogy.file で計算した結果と比べてみると明らかに異なってました(10倍くらい...。)(…
gromacsの計算結果から、MDAnalysisを使ってRMSFを求めてみる。非常に簡単!!! #!/usr/bin/env python import MDAnalysis from MDAnalysis.analysis.rms import RMSF topology='md_0_1.gro' ## PSF,CRD,PDB,GRO trajectory='md_0_1.trr' ## DCD,XTC/TRR unive…
前回は、threadingモジュールを使ってフィボナッチ数列を計算しました。今回は、multiprocessingを使いたいと思います。 #!/usr/bin/env python3 import sys, time, random, re, requests import concurrent.futures from multiprocessing import Process, c…
pythonの並列プログラミングを修得するために、今回はmultiprocessingを使いたい思います。コードは至って簡単。関数1で乱数生成し他のプロセスにデータ送り、そのデータを他のプロセスで生成された関数2が表示します。17.2. multiprocessing — プロセスベ…
Pythonってメモリ使いすぎる...。てことで、標準モジュールのresourceを使って、使用メモリのサイズを制限しましょう。 #!/usr/bin/env python # coding:utf-8 import resource rsrc = resource.RLIMIT_AS soft, hard = resource.getrlimit(rsrc) ## Memory …
まずは、nnumpyp.whereの紹介。 mat =\ [[ 0 1 2 3 4 5 6 7 8 9] [10 11 12 13 14 15 16 17 18 19] [20 21 22 23 24 25 26 27 28 29] [30 31 32 33 34 35 36 37 38 39] [40 41 42 43 44 45 46 47 48 49] [50 51 52 53 54 55 56 57 58 59] [60 61 62 63 64 65…
2次元配列を扱っていると、ある列だけ取り出したいことはよくあることです。そんなときに、np.arrayを使いましょう。 対象と成る配列は以下のようになります。 mat =\ [[ 0 1 2 3 4 5 6 7 8 9] [10 11 12 13 14 15 16 17 18 19] [20 21 22 23 24 25 26 27 2…
自分のPythonの知識が初級から中級の間にあると思うので、気になる本を紹介したいと思います。(もちろん、私は読みません。お金がありません。こういう本があるということを知っていることが重要だと思います。)とりあえず、自分が考える初級、中級、上級と…
pythonによるプロキシのプログラムです。ほぼ写経ですので、詳しく知りたい方は、参考文献をご参考ください。このプログラムは、プロキシの役割を通りにホスト←→プログラム←→クライアントを実現します。 #!/usr/bin/env python import sys import socket imp…
そもそも、Netcaってなんなの?ということで、Wikipediaへ。どうやら、TCPやUDPのパケットを読み書きできるコマンドラインツールらしい...。とりあえず、本で紹介されているので実装してみましょう。紹介したプログラムは、ファイルのアップロード、コマンド…
TCPを使った通信では、クライアントはコネクションの確立を行うことが重要でした。socketの作成は慣れです。これは、C言語と非常に似ています。Pythonでネットワークプログラミングを勉強しておけば、C言語で勉強するときにも役に立つはずです。そもそも、ネ…
タイトル通り早速やってみましょう。今回は、udpのパケットを作成して送信します。以下のプログラムを実行しても、サーバーを作成していないため、止まってしまいます。 クライアントとして、サーバーにUDPデータを送信する #! /usr/bin/env python # coding…
最近、Pythonにはまっています。ネットワークの勉強がてら、Pythonでネットワークプログラミングをしてみたいと思います。今日がシルバーウィークの最終日ですので、出来限り更新したいと思います。記事が中途半端になっていたら、そこで力尽きたと思ってく…
タイトル通りです。いちいち自分で書くのが面倒なときに便利。 #!/usr/bin/env python import string print string.uppercase print string.lowercase 出力 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
サーバーを立てると、サイト中に他のサイトの情報を載せたい場合があります。例えば、まとめサイトの運営とかも他のサイトの変化をキャッチして、それをまとめているのかもしれません。そのようなとき、Djangoサーバーでは、有効なライブラリーはurllib2です…
前回に引き続き、ProDyの記事。計算機で算出されるRMSFとPDBのB-factorはよく比較されます。結晶構造のB-factorが必ずしも正しいと言うわけではないですが...。新しいポテンシャルを開発した時などは結晶構造の揺らぎを再現出来ているかなど、一応チェックが…
以下、大嘘!調査中! PDBのファイルは書式が指定されています。そんなとき、splitや文字列の何文字目から何文字目までを配列の引数として指定するのは面倒です。てことで書式を指定して、読み込みましょう。(pdbを読み込むならProDyを使いましょう。PDBを読…
個人で、プログラミングをしている人って、テストがいい加減だったりします。(私のことです。) しっかり管理しましょう。おすすめのブログを発見したので、ご紹介。(グーグル先生に「テスト Python」で聞けば、一番最初に表示されます。) Python nose で…
最近、以下の本に知りたいと思っていることが多々載っていることに気付いた。中級者向けのpython本なので、やっと晴れて中級者になったのかな?普段からPythonを使い、文末のキーワードについて考えたことがある人にオススメの本です。二冊紹介しますが、記…
どうやら、Pythonには数値計算パッケージを集めたAnacondaなるものがあるらしい。Continuum Analyticscontinuum.io
ProDyを使って2つのpdbファイルを重ね合わせをして、結果のpdbファイルを書き出してみましょう。 1Z14.pdbにmodel1Z14.pdbを重ね合わせたいとと思います。1Z14.pdbは、N末端から38残基までの結晶構造がありません。model1Z14.pdbは、そのN末端をModellerを使…