Playground of Natural Selection : Gene Pool

The immediate manifestation of natural selection is nearly always at the individual level. But the long-term consequences of non-random individual death and reproductive success are manifested in the form of changing gene frequencies in th…

cythonコマンドを使ったcythonコードのビルド

Cythonのtutorialでsetup.pyを使うやり方は載ってるのだがcythonコマンドでやる方法は 詳述されてなかったので、メモ. Learning Cython Programming | PACKT Booksより.Cythonコンパイルの手順 Cython のコードはPythonと異なりコンパイルする必要があるが、…

Numpyでヘッダーのinclude pathを取得する方法 ( How to print include path of Numpy FIles ? )

Pythonでヘッダーのinclude pathを取得する方法 ( How to print include path of Python FIles ? ) - mcbiophys'sDigital Bio の応用問題. cythonを使うときにsetup.pyでよく使うトリックだが makefileでinclude pathが欲しい場合も当然使える. NUMPY_INCL_P…

Pythonでヘッダーのinclude pathを取得する方法 ( How to print include path of Python FIles ? )

MakefileでPythonのファイルパスを取得したいときなどがたまにあるだろう。 そんなときはsys.prefixのトリックが便利だ. import sys print(sys.prefix) #/usr/local/Cellar/python/2.7.xx/Frameworks/Python.framework/Versions/2.7 etc ... MakefileでPytho…

vimの外部grepでshell出力を抑える方法  

vimの外部grep(i.e :grepコマンド)はshellの出力が鬱陶しいので vimrcに以下のように書くことで,新しい:Grepコマンドを定義してそれを黙らせることができる. command! -nargs=+ Grep execute 'silent grep! <args>' |:redraw! -nargs=+ : n>= 1の引数をもつ silent</args>…

"tee" command の有用性

プログラムの間のパイプで渡されているデータを見てみたい時 "tee" command が非常に有用である このteeコマンドは標準出力からデータを受け取ってファイルに書き出し、また標準出力に再びそのデータを受け渡しする。 この方法であれば、pipでつないだプログ…

Elsevier(エルゼビア)負の歴史メモ

Elsevier社がまたやらかしたようなのでメモ The Lancet(医学)、Cell(生物学),Nuclear Physics(高エネルギー物理学) などの権威のある雑誌を多数擁する老舗学術出版社Elsevierの負の歴史をメモ. 日本語版wikipediaには情報がかなり不足してる 2009: 2000~…

Numpy Tips 2 : データ欠損のある配列に対して代数演算などを行いたい

データ欠損のある配列に対して代数演算などを行いたい場合 numpy.ma.MaskedArray を用いたフィルタリングが便利だ. 具体的にはarrayにnanとinfが入ったものを加法演算する場合を考える. import numpy as np from numpy import ma a=np.array([np.inf,np.nan,…

Pythonでいい感じにヒストグラムを自動生成してくれる機能

結論からいうと、pythonの主要ライブラリ(numpy + matplotlib)ではまだ実現できない. Histogram with Optimal Binwidth numpy.histogram という機能がnumpyには存在する これとfrom matplotlib import pyplotなどを利用すると pythonで簡単にヒストグラムグ…

Numpy Tips 1 : イミュータブルなnumpy array

python にはc++ のconstの役割を果たす機能はないが、 constの完全な代替にはならないものの、 numpyなら以下のようにndarray.flagsを設定することでimputable arrayを実現することができる。 a = np.arange(5) a.flags.writeable = False #a.flags["WRITABL…

Python例外処理Tips ① 配列要素に対する写像をうまく実装する

例外処理Tipsシリーズ第一弾は 例外処理をうまく利用して列要素に対する写像をうまく実装する方法について説明します 具体的にはいわゆるFortranでいうところのelemental function をpython で実現する際に例外処理をうまく使えるとい話です。 def elemental…