投稿

2016の投稿を表示しています

Atomでlatex環境

latexmkを以下のように適切にセットしておけば、
http://konn-san.com/prog/why-not-latexmk.html

内部でscriptパッケージを使えば拡張子に応じて適切にコンパイルしてくれる!

でコンパイル結果のpdfを右のペインで開いておけば完璧。
ペイン移動はcmd+k cmd+n, 分割はcmd+k 方向キーで。
http://qiita.com/clngn/items/c04d827537cb51f72044

あと入れたのはlatex, language latexあたりを入れました。

これで怒涛のモデル構築が始まる...!!!(最終審査直前にして...!!!)

再現性なんてないさ(?)

イメージ
※この投稿は「今年読んだ一番好きな論文2016」 Advent calendarの12月21日の記事です。




(わざわざ手描きにしたのに結局著作権が危うい絵を描いている)

どうもこんにちは、博士論文(仮)を提出したばかりのぴちぴちのD3、@calicolicaliです。学生最後ということで、院生しか登録できないAdvent calendarに登録させていただきました! ʕ◔ϖ◔ʔ

 「統計について」という事前コメントをしましたが、 私の専門はアルゴリズム寄りのComputational Biologyで、これまではRNA二次構造予測ソフトウェアParasoRの開発や、配列アラインメントソフトウェアLASTの開発に関わらせていただいたりしてきました。(ご興味あればぜひ!)しかしこの分野では「網羅的な遺伝子データや配列情報を扱うためには統計や機械学習が必要!」ということで、日々これらの分野の勉強をしております。



 そんな私が紹介する、今年読んだ一番好きな論文はこちら(`・ω・´)つ


"Estimating the reproducibility of phychological science" Open Science Collaboration. Science 349.6251 (2015): aac4716.
去年の8月にサイエンス誌に投稿された論文ながら、Google scholarではすでに652本のサイテーションがなされています。



ざっくり解説   この論文は心理学の分野の3つのジャーナルに2008年に出た約100の実験的な相関解析に対して再実験を行い、どのような実験・結果であれば再現性が得られるのかということを調べた論文です。元論文の97%で有意なp値が得られていたものに対して、再現実験では有意とされたものは37%、95%信頼区間に入ったものが47%、元論文のデータと組み合わせても最終的に68%までしか有意性を確かめられなかった、という報告がなされました。
 この論文は発表後様々な研究者によって正当性を検証するコメントや論文がでており、そして、最近Natureなど大手の雑誌でも心理学に加えて生物学など様々な分野でのReproducibilityに関する記事が書かれ注目が集まっています。この論文はその流れを大きく加速させたといっても過言では…

jupytherにチャレンジ

前にチャレンジしたんですがpythonをあまり解析に使っていなかったのもあって挫折した

ipython notebook(jupyter)に再びチャレンジ!

(jupyterはipython notebookに独立した名前がついた最新版という認識でよさそう)
https://www.quora.com/What-is-the-difference-between-Jupyter-and-IPython-Notebook



基本的には
> conda install ipython-notebook
> conda install jupyter
でよいと思うんですが
インストールしたあと

> ipython notebook

とコマンドを入れると、
    ImportError: IPython.html requires pyzmq >= 13
とエラーが!pyzmqのバージョンは16なのに!

uninstallなど試してみたがうまくいかず、結局
>  ipython_mac.command

> jupyter notebook
でうまくいくことが判明した。
ipython notebookは古いのかなぁと思うので、とりあえず放置。

TODO
python2.x -> python3.xにできるか実データに試してみるgit管理がうまくできるか

shellのチェック

qsubでジョブを投げると、変数定義のところで


"Commond not found""ttyにアクセスができません"

とかでおった。
シェルもちゃんと定義してるのになんでだ?と思ったら

http://stackoverflow.com/questions/17271931/sge-command-not-found-undefined-variable

そういえば
#$ -S /bin/bash
とか定義しないといけなかった。
スクリプトを新規に書き出すと忘れていけませんね。



qsub中で

echo $0echo $SHELL

としたら案の定cshが走っていた。
cshだと

set hoge=hoge

とかしないといけないので、それは怒られますわヽ(`Д´#)ノ

oooooh

やばいよ〜

博論やばいよ〜〜

texをやっとコンパイルしたよ〜〜〜



jobs -lでプロセスIDが表示できることを知って、最近かなり幸せになった。

あとシェルスクリプトで変数をいじりまくるようになった。

markdown 環境のためにatomを入れた。



そして最近は健康を害しています。
あと少し頑張りますʕ ◔ϖ◔ʔ


HHK BT買った!

そしていきなり困ってる!


矢印キーの代わりのfn+[:"/が結構遠くてホームポジションに戻れないBSの位置が違うので消そうとして`を入力しちゃうスペースがでかすぎて右cmdが届かない
慣れれば解決すると信じる。。
あと時々CapsLockが押されるのはShift+fn+tabらしい。謎。 http://nort-wmli.blogspot.jp/2014/05/hhk-caps-lock.html

あとルートもってないmacでdvorak変換にするとき ルートがないとInput sourcesのRomaji_defaultかなんかの編集ができないca,ci,cu,ce,coをカキクケコに登録できない解決策見つからなかったのでことえりを諦め、Google IMEを導入することで解決

R便利コマンド

R内で巨大なデータフレームの中身をトグルでみたいなーと思っていたら、

fix()とpage()というコマンドがあることを知りました。

https://stat.ethz.ch/pipermail/r-help/2006-March/101157.html


どちらも/で検索できるし、lessで使える簡単な正規表現は使えるようだー
私が必要とするless機能としては十分。


ちなみにfixはエディターを開いてくれて内部でデータセットや式を改変するそうなので、
見るだけには向いてない。

KEGG enrichmentをしようと

ここの再現をしようとしている。

参照:https://github.com/dgrapov/TeachingDemos/blob/master/Demos/Pathway%20Analysis/KEGG%20Pathway%20Enrichment.md

KEGGRESTのインストールの際に
依存するpngパッケージのインストールで
image not found
でpng.soがないと言われてコケた。

sourceを直接インストールしてもうまくいかず、
Mavericks向けのバイナリーを入れてやっと動いた。


readthedocs始めた

NGS関連や機械学習関連のtipsを、
自分の環境でMarkdownでまとめてうまくネット上にあげられないかな〜と思ったので、
始めてみました。

readthedocsはNGSのツールのwikiなんかでよく見てたんですが、
sphinxベースとは知らなかった。

https://github.com/carushi/resource
http://lambda-tips.readthedocs.io/en/latest/

よくあるMarkdownとは若干形式が違うんですが、
rst形式で書いたものをpythonベースのsphinxがhtml形式に直してくれます。

便利(๑´ڡ`๑)

UCSCのカスタムトラックのデータをダウンロード

メニューバーの

My Data -> Custom Track

から対象のサンプルをクリックすると、

Update Custom Track

の画面が出てきます。
Edit configuration内にデータリンクが貼ってあるので、そこからダウンロード。


ふむ ʕ◔ϖ◔ʔ

xargsの引数を-I オプションで変換するのに失敗する

ものすごく長いファイル名を、catで書き出してきて

xargs -I{} cat {} > {}.backup

の{}に入れて上のようにコマンド実行してたのですが、
オプション加えていくと二回目の呼び出しがなされないことがあった。

どうやら255文字超えるとダメらしい。

http://www.egeek.me/2012/10/27/xargs-with-multiple-argument-substitutions/

しょうがないので絶対パスで呼び出してたコマンドを
相対パスで呼べるようにして解決しました。

まぁ、真の解決法としてはシェルスクリプト書き出すのがいいんだろうなぁ。

macでatコマンドが動かない

El Capitanにあげたらatが効かなくなってた。 http://superuser.com/questions/43678/mac-os-x-at-command-not-working
/System/Library/LaunchDaemons/com.apple.atrun.plist のDisabledをEnabledに書き換えてあげて、
sudo launchctl unload -F /System/Library/LaunchDaemons/com.apple.atrun.plist sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
としてあげればいいようだ。
でもファイルを書き換えるのに

Cmd+Rでリカバリーモードで起動して csrutil disable してあげないといけない。 これだからrestrictedなEl Capitanは!
今、ジョブ実行中で再起動できないので、 しょうがないから三時間スリープするシェルスクリプト書いた。

gtest

C++で再開発せざるをえないので、unittestを動かせるようにした。


https://github.com/google/googletest
http://www.rk-k.com/archives/1819
googleのgtestをダウンロードしてきて、xcodeでフレームワークにした。

https://developer.apple.com/library/ios/recipes/xcode_help-general/Chapters/AbouttheOrganizerWindow.html
http://qiita.com/gin0606/items/35409cf8f170a47e0494


XVim
https://github.com/XVimProject/XVim
http://qiita.com/dealforest/items/c1443512f1db00a8a7c6
後でまとめる ʕ◔ϖ◔ʔ

究極の一台()を買ってしまった

Surface Bookを買いました(・∀・)♡
不具合報告多いけど、画面きれいだしペンの書き心地もいいし、 画面タッチできるし外せるしで、今のところ結構好き。 以下環境設定。
ControlとCapsLockの交換
http://uguisu.skr.jp/Windows/winCaps.html
IntelCPUなのでリトルエンディアンの方でやりました。
書いてないけど、逆転させる場合は1D00と3A00を逆に入力すればおーけー。

Dvorak配列の日本語入力での有効化
http://nishio.hateblo.jp/entry/20110706/1309947352
英語でのDvorakは割とすぐできたのですが、日本語はRTのときにも詰まってました。
今回regeditから日本語入力を有効にすることができました。
このときca,ci,cu,ce,coでかきくけこ対応はデフォルトではなかったので、設定からカスタマイズしました。
Qwertyも一応Googleの日本語入力を別に入れておくことで確保。
キーボードはUSでも日本語でも割かし適当に使い分けているので、そこがどうなっているかは定かではない。


Hyper-vの有効化
http://d.hatena.ne.jp/takashyx/20130406/p1

Ubuntuの導入(仮想ハードディスクVhd使用)
http://news.mynavi.jp/articles/2012/07/20/letswindows8/

これで一応動いた。ネットがつながらないので、今度有線環境があるところでやります。


Powershellの設定について
http://jeana.hatenablog.jp/entry/2015/08/17/130300
これから修行します。



MacのMagicPadを使うhttp://www.trackpadmagic.com/magic-trackpad/download


VisualStudioCodeのVimキーバインド(Emacsでもいいんだけど)
https://github.com/VSCodeVim/Vim
とりあえずkaoriya-vimは入れた。
こちらはまだ動かせていない。


しばらく使ってみたらまたご報告いたします。(^_^)/~

anacondaメモ

Pythonの2.と3.両方の環境を使い分けるのにanacondaを使っていたのですが、
OSアップグレードしたらmatplotlibのフォント読み込みがおかしくなって進まなくなってしまった。

あとsnakemake入れようとしたらパッケージコンフリクトがひどかったので
(あとanaconda自体を3で入れないといけないとかどうとか)
ついでということでanaconda全体を入れ直しました。

brew install anaconda

install後に出るディレクトリのbinにPATHを通しておく
私の場合は~/anaconda/bin。
たまに~/anaconda3/binの方も必要とするみたい。


環境の切り替えは

conda create name python=version anaconda
source activate name

で可能。

インストール済みのパッケージは
conda list
で表示。


随時追記予定(๑´ڡ`๑)

El Capitan

論文が無事でたので(自分に8888888)

OSをEl Capitanにあげました。


Dvorakのことえり変換がおかしくなっていたので、
こちらを参考に直しました。

http://applech2.com/archives/46435268.html


githubのRomajiRule_Default.txtを参考にさせてもらったんですが、
タブがスペースになっていたとかでうまくいっていなかったようだったので
vimで
%s/ \+/\t/g
しましたら動きました。

あとは、ファイルを書き換えるときは
mvじゃなくてcpとかで書き換える方向でやってあげるとうまくいく。


にしても、色が明るくてチカチカしますなーʕ ◔ϖ◔ʔ;;;


Error: qual length () differs from seq length () for fastq record !

CAGE-seqのマッピングをするときに、
Cutadapt, rRNAdust, removeNをかませるとたまに長さがあわない配列や、クオリティスコアのない配列が混ざってきて、結果タイトルのエラーに出くわす。

しかもなったりならなかったりして大変困るので、長さがあっている配列(とスコア)だけ抜き出すワンライナーとスクリプトを書いたのでおいておきます。





check_read.pyを保存して、ターミナルにcheck_qs.shをぺたっとしてくだし。 @SRRから始まる4行を抽出して、長さが違うものはpythonスクリプトで捨てます。 SRRXXXXXX_extracted.fastqが訂正されたfastqファイルになる予定です。

しんそうがくしゅうはじめ

必要になりそうなので、勉強&使い始めることにしました。

theano/pylearn2が鉄壁みたいなので、基本はpythonにしようと思いますが、

torchというLuaで書かれたライブラリが面白そうだったので入れてみました。
(参照:http://conditional.github.io/blog/2013/12/07/an-introduction-to-torch7/

ついでにprogramming in Luaのfirst editionを読み始めました。
http://underpop.free.fr/l/lua/docs/programming-in-lua-first-edition.pdf


Cに埋め込めるというのはよいけど、多分自分じゃ滅多に使わないと思ってる。



理論は一回チラ見したけど、中身の実装本当にわかっているわけではないので、
とりあえずNNのそれぞれの手法の違いから勉強して行きます ʕ◔ϖ◔ʔ

maxぶんぷ

イメージ
maxをとったときの分布について、だだっと出してみた。
rnorm(0, 1) (平均0, 偏差1)から10 (上)1000 (中)100000(下)回サンプルして、 そのmaxをとったときの値10000回分のヒストグラム。

前にも苦労した記憶があるから、 maxの場合の分布の解析的なはなしを探してみよう。。






goでシンプルGUIパーサーを書いた

論文の関係でまだ非公開だけど、じきに以下で公開する予定。

https://github.com/carushi/MADscan


今回はmattnさんのgo-gtkのデモを存分にいじらせていただきました。
これ便利だから、本家のgtkの方もしっかり覚えたいな〜と思った。
まだgo-gtkは開発中でもあるしね。


でもこのソフト、CUIが使えない研究者のために開発したんだけども、
go getがタイプできるレベルならもはやCUI使えてるんじゃないかなっとね、思いましたね(; ・`д・´)


↓みたいにクロスコンパイルでバイナリーを配布したいけど
http://deeeet.com/writing/2014/05/19/gox/
go-gtkに依存してるからできひん。
(できるのかな?よくわかってないけど勝手にやるのはダメよね?


というわけで絶賛お仕事中。



Arch メモ