2010-01-01から1年間の記事一覧

Common Lispで赤黒木

Haskellでの赤黒木の実装の美しさに感動した data Color = R | B data RedBlackSet a = E | T Color (RedBlackSet a) a (RedBlackSet a) balance B (T R (T R a x b) y c) z d = T R (T B a x b) y (T B c z d) balance B (T R a x (T R b y c)) z d = T R (…

生命情報表現論講義メモ

GenBank, EMBL, DDBJの三重構造 3つのデータベースの内容は基本的に同じ フォーマット テキスト -> ASN1 -> XMLと変化。内部的には関係性データベース。 National Center for Biotechnology Information http://www.ebi.ac.uk/embl/ Bioinformation and DDBJ…

Database Management Systems 読書メモ

http://pages.cs.wisc.edu/~dbbook/の読書メモ。

Database Management Systems (Third Edition)を読みたい。 Incanter: Statistical Computing and Graphics Environment for Clojureを試したい。 Qi - Lisp for 21 Centuryを試したい。 Open MPI: Open Source High Performance Computingを勉強したい。

今月のDBCLS

次の統合TVはGalaxy(http://galaxy.psu.edu/・http://main.g2.bx.psu.edu/)を扱うことにした。GalaxyはWeb上で主に生物系のデータ(遺伝子の位置やSNPの位置など)を扱って計算する環境で、プログラミングの知識がなくても簡単に操作でき、またGalaxyを使って…

バイナリ時間

1日を2^16分割してbinuteとしましょう。 ;;;;今が何bin.か調べるCommon Lispコード。 (format t "~16,'0b~%" (multiple-value-bind (second minute hour) (get-decoded-time) (truncate (* (+ second (* 60 minute) (* 60 60 hour)) 65536/86400)))) もう 11…

IS01購入

IS01を昨日購入した。でかいけどメイン携帯として使っていく。購入した途端こんなことがあってびっくり。SSHで大学の鯖に繋いでみたところ: 3G回線でもサクサクに動き、さらにキーボードが付いているので快適だ。 SSHクライアントはconnectbot。(ただしマー…

昨日のDBCLS その一

昨日のDBCLS - 壊れた計算機で言及したGSEA softwareの使い方 基本編 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルの続編である,GSEA softwareの使い方 発展編 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルを作り終えた. 今回は…

古き良きLambdaExpression

lambda式を動的に生成したい場合を考える。 EmacsLispでは lambda式の形をしたリストはそのまま関数として使用可能なので (funcall (list 'lambda '(x) '(+ x 3)) 3) ;=> 6 とすれば良い。 しかしCommonLisp(Cltl2)では a list whose car is lambda is not, …

夏季休業中の目標

Erlang、Scalaの入門書を読む。アクターモデルに慣れたい。学科のクラスタ計算機で何か計算するぞ。 『バイオインフォマティクス ゲノム配列から機能解析へ 第2版』を読む。 『Computers and Intractability: A Guide to the Theory of Np-Completeness』を…

昨日のDBCLS

先週アップロードしたGSEA softwareの使い方 基本編 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルの続編。 DAVIDを使ってマイクロアレイデータを解析する 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルと同じデータ(GSE1657)をOp…

昨日のDBCLS

GSEA softwareの使い方 基本編 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルを作り終えた。このソフトウェアは、どの遺伝子がどの程度発現しているかを調べた実験結果を二種類以上与えると、その結果を比較し解釈の手助けをしてくれるソフトウ…

99 Lisp ProblemsをLOOPマクロのみで解く。

L-99: Ninety-Nine Lisp Problems リスト処理の問題集だそうだ。これをLOOPマクロのみで解いている。P01からP07まで解いた。 使っていい関数は引数のサイズによらずに定数時間で終了する関数のみ。つまり再帰呼び出しや#'EQUALは不可。ただし前にLOOPで書い…

Matlab

今週と来週の学生実習はひたすらMatlabをいじるそうだ。

生化学実験のレポートの再提出を命じられた。悔しい。

今日のDBCLSとその後

GSEA続き。今日は統合TV収録と編集もだいぶした。Javaの実行時環境のインストールや、とってきたマイクロアレイのデータのフォーマットを合わせる作業・正規化、GSEA softwareから元々利用可能な遺伝子セットの説明などを紹介したい。しかし一本に詰めこむと…

今日のDBCLS

GSEA software の統合TV続き。 Gene Set Enrichment Analysis (GSEA) 予め決めた遺伝子群が異なる条件下でどう振舞うかを調べる手法 GSEA software GSEAを実装したソフトウェア Tutorial まず Tutorial をまず全て見た。そして実際にp53のサンプルデータセッ…

昨日のDBCLS

マイクロアレイのデータを解析するツール GSEAの統合TVを作り始めた。 DAVID まずは似た目的のツール DAVIDの統合TVを見た。統合TVの構成や、強調するべき点、紹介する内容などを参考にしたい。二つのツールの相違点・共通点も念頭に置きながら作業するつも…

今日のDBCLS

Ensembl Tips ArrayExpress の遺伝子発現情報を表示する 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルを仕上げた。 遺伝子の発現状況(どのくらい使われているか)を網羅的に調べられるArrayExpressというデータベースがある。今回はそのデータ…

Tsukuba.R #7で話をしてきました

Tsukuba.R#7 - Tsukuba.R - Seesaa Wiki(ウィキ) 発表に使ったhttpサーバ及びスライドのソース スライド 会場の準備や進行を担当していた方々に感謝します。

Rの式の構造をS式で表現する関数

ソース:gist:392146 · GitHub Rが如何にLispに似ているかが分かる。 cmd.img <- function(exp, filename) { filename <- paste(filename, ".png", sep="") png(filename) eval(substitute(exp)) dev.off() c(pre(capture.output(substitute(exp))), img(fil…

Rの遅延評価

R

Rの遅延評価そのものはいたって普通ですが、Mapや?applyが副作用を使用しているので変態な動作をします。 from @mickey24 f <- Map(function(x){function() x}, 1:10) f[[1]]() #=> 10 # えっ!? 副作用無しで書けば直観通りに動作します。 car <- function(x…

3分で試せるClojure

Clojureのビルドツールであるleiningenを使うと簡単に導入できます。javaの開発環境が必要です。 wget http://github.com/technomancy/leiningen/raw/stable/bin/lein chmod +x lein mv lein /usr/bin/ # PATH内ならどこでもよい lein self-install これでイ…

今日のDBCLS

Ensembl Tips 〜Ensembl Archivesを使い倒す〜 2010 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルを作り終えた。 Ensemblは機能が盛り沢山で、適当にクリックしているだけで新しい機能を発見できる。楽しい。

ClojureのderefをいじくるPart2

2010-03-09 - 壊れた計算機のときはproxyを使ってclojure.lang.IDerefのderefをオーバーライドしていたが、今回はclojure.core/derefをそのままいじくった。derefをmultimethodに置きかえて、正規表現をderefしたらre-seqする関数を返すように変更してみた。…

Clojureからのxml・正規表現

camprojファイルから吹き出しのテキストを抽出するClojureのプログラムを書いた。 CamtasiaHukidashi/hukidashi.clj at master · Mozk0/CamtasiaHukidashi · GitHub clojure.xml, clojure.zip, clojure.contrib.zip-filter, clojure.contrib.zip-filter.xml …

今日のDBCLS

BioMartを使い倒す 比較ゲノミクス編 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルを作り終えた。 BioMartはシンプルなUIで分かりやすい。

Rの文字列が何バイトか確認するには

R

length(charToRaw("おはよう")) #=> 12 などとすればよい。これを使うように再定義すればwrite.socketで多バイト文字を問題なく送信できる。 forkしまくってたら こうなった

今日のDBCLS

Ensembl tips 配列の比較をする 2010 統合TV(togotv)|生命科学系DB・ツール使い倒し系チャンネルを作った。 Ensemblは一年に四回程アップデートがあり、インターフェースやデータそのもの(!!)が結構変化するそうだ。そのため、Ensembl archivesが用意されて…

ClojureからMeCabを使う

MeCabのJavaバインディングを利用する。replからいきなり使用してもエラーが出て動かないので、compileしたlib経由で使用する。コンパイルは以下のようにすると出来た。 classpathにMeCab.jar 環境変数LD_LIBRARY_PATHにlibMeCab.so(またはdylib) 下のような…