あなたにもできる!ハーバード留学!!~アラフォーからのボストン留学体験記

アラフォー研究者のボストン留学体験ブログ。
研究・生活・英語・ITを中心に留学ライフハックスをお教えします!

ハーバード研究留学3年目編006:一分子から癌マーカーを検出できる驚異のマシン

2016-03-01 10:27:46 | ハーバード留学研究3年目編


Broad Instituteでのセミナー”Single molecule and Single Cell”聴講。備忘用にメモしておきました。

一分子ごとにタンパクを固定できるビーズを利用してEnzyme-Linked Immunosorvant Assay(ELISA)を一分子単位で行う驚異の技術を開発したということである。


Nature Biotechnology論文が基盤技術の報告であり、これをもとにして、

Simoa HD-1 analyzerを汎用機として開発したらしい。

微量な癌マーカーの一分子ごとに検出できるという驚異のスペックは、術後の癌再発を早期に発見することができるなど、医療を変える技術になるのかもしれない。


ハーバード留学研究3年目編005:デープラーニングの講習に参加してみる

2016-01-23 00:01:22 | ハーバード留学研究3年目編

http://core0.staticworld.net/より

デープラーニングの講習会
先日Rの講習会にちょっと参加してみたおりに、デープラーニングの講習会にも勢い余って参加してきました。
そこそこ話している内容は面白かったのですが、数学的なとこも多いのでちょっとわからないところもあったのと、パソコンの環境設定に戸惑って、完璧に楽しむこところまでは行けませんでした。

とりあえずメモ
ちょっと聞いた面白い話は、

1)Deep learningは通常のマシンラーニングよりも学習速度は遅いがsaturationしにくい

2)Multiple layer perceptionを行って判断
つまり目とか口とか耳とかの表層的な情報だけでなく、その組み合わせで特徴をとらえるような。。

http://deeplearning.net/tutorial/mlp.html

3)Deep learningは学習のステップサイズと反復回数が重要(例えばエネルギー曲線の谷の中腹にいて、エネルギーの最低値を求める場合を想定すればいい。谷をまたぐほどのステップサイズだと最低値の場所をたやすく見逃してしまう。一方ステップサイズがものすごく小さいといつまでたってもエネルギー最低値のところにいかない。。??)

4)Deep learningは局所最適解を出すにはよいが、globalな最適解を出す保証はない

5)ライブラリというかマシンラーニングのシステムとしてつかわれているのは、
  Theano, Torch, Caffe, TensorFlowなどがある。Theanoが私はおすすめ。。

といったところでした。
2)などは顔認識の想定なんでしょうが、input layerにDNA,RNA,protein,epigenomeなどをいれると顔認識のように病気もしくはそのリスクや予後の判断がすぐにできるようになるんだろうなと思います。あとhidden layerの意味づけとかもbiologistとしては興味深いところですね。

参考資料
詳しくは資料がhttps://github.com/vkaynig/IACS_ComputeFest_DeepLearning/blob/master/Deep%20Learning%20–%20Part%201.pdfにおいてあります。

環境設定はこれでいいはずなんですが、デモプログラムが途中までしか動かないので、多分環境設定が違っているんだろうな。


あと日本語でTheanoの環境設定Torchの環境設定をしている人がいるので、まずはこのあたりから攻めていくと良いのかもしれません。

追伸
しつこい質問への切り替え仕方として、
We can talk it later (offline).
というのがあることをしりました。

ハーバード留学研究3年目編004:Rでクラスタリング2(正規化&hclust)

2015-09-21 23:36:51 | ハーバード留学研究3年目編
門田先生の著書「トランスクリプトーム解析」が素晴らしい

先日東大の門田幸二先生の「トランスクリトーム解析」を手に入れた。全くの初心者にはちょっと難易度が高い本であるが、少し慣れてきた人にとっては使い勝手の良い本である。

アレーデーターの読み込み&正規化
先日のhuman白血病幹細胞がうまくクラスタリングされないのではないか?という問題をもう少しエクステンシブに扱ってみた。前回の解析ではすでにプロセスされているデーターテーブルを使ったが、まずアレーファイルを全部読み込んで自分で正規化なども行ってみることとする。

まず読み込みであるが、RでArrayExpressというライブラリーをつかってつぎのように読み込むことができる。

>#installing ArrayExpress
>source("https://bioconductor.org/biocLite.R")
>biocLite("ArrayExpress")

>#library(ArrayExpress)

>#get raw data stored in GSE30375
>param <- "GSE30375"
>hoge <- getAE(param,type="raw",extract=F)

これでワーキングディレクトリにE-GEOD-30375.raw.1.zipができているはずである。これを解凍してやると、ワーキングデレクトリに幾つかのCELファイルができる。解凍はRでもできるようなのだが、いまひとつうまくいかないので、Macのterminalで
> mkdir GSE30375
> unzip E-GEOD-30375.raw.1.zip
> mv *.CEL GSE30375
としてGSE30375というフォルダにうつす。

その後自分的はワーキングディレクトリを、GSE30375に移して(ここからR)

> setwd
>#normalization of the raw files with MAS5 and write a table for the out put
>out_f <- "hoge1.txt"
>hoge <- ReadAffy()
>eset <- mas5(hoge)

でMAS5による正規化が終わる。

発現情報は
>data <- exprs(eset)

で取り出せる。
ファイルに落としたければ
>out_f <- GSE30375_MAS.txt

>write.exprs(eset,file=out_f)
でよい。

pheatmapによる解析
前にもやったようにpheatmapで解析すると、

>library(pheatmap)
>y <- cor(data)
>pheatmap(y)

これだとちょっとみにくいので
>pheatmap(y,show_colnames=F,fontsize=6)



やっぱり正規化をあたらてめて行っても、うまく白血病幹細胞CD34+CD38-がわかれていなさそうである!
そこで少しサンプル数をしぼってみると

サンプル数15



サンプル数10


サンプル数6


サンプル数3


といった形で、同じ番号(たとえばX1)のサンプル(同じ患者由来)がクラスタリングしやすく、白血病幹細胞かどうかといったことはあまりクラスタリングに影響しないようであった。

ちなみにCD34+CD38-とunsortedのAMLサンプルだけを比較しても同じようなことが言える。



hclustによる解析
門田先生の本に習って、その他のクラスタリングもためしてみる。

1-spearmanだけやってみましたが
>data.dist <- as.dist(1-cor(data,method= "spearman"))
>out <- hclust(data.dist, method = "average")
>plot(out)



のようにCD34+CD38-とunsortedのAMLサンプルでクラスタリングさせても、2群うまく分かれてくれない。門田先生の記述によると、このような場合には2つの群の遺伝子発現があまり違わない時に起こるようである!白血病幹細胞はバルクの白血病細胞と比べて違わなくてもよいのかと思う。。

ちなみにここからはきちんと理解していないが、differentiallyに発現する遺伝子(DEG)を抽出してくると、

>source("https://bioconductor.org/biocLite.R")
>biocLite("limma")

>data <- log2(data)
>colnames(data) <- c(paste("LSC_",1;23,sep=""),paste("Bulk_",1:15,sep=""))

>data.c1 <- c(rep(1,23),rep(2,15))
>design <- model.matrix(~ as.factor(data.c1))
>fit <- lmFit(data,design)
>out <- eBayes(fit)

>p.value <- out$p.value[,ncol(design)]
>q.value <- p.adjust(p.value,method="BH")
>ranking <- rank(p.value)

>tmp <- cbind(rownames(data),data,p.value,q.value,ranking)

>write.table(tmp,file="AML_MAS_DEG.txt",sep="\t",append=F,quote=F,row.names=F)

>topTable(out,coef=colnames(design)[ncol(design)],adjust="BH",number=8)


となって優位にp<0.01かつFDR<0.1を満たすDEGは2個しかなく、クラスタリングからも想定されたように、少なくともこのデーターセットに関しては、白血病幹細胞の特異的な遺伝子発現というものは観察できないようである。

ハーバード留学研究3年目編003:R でクラスタリング(pheatmap)

2015-09-19 11:16:42 | ハーバード留学研究3年目編
Rのpheatmapで割りと楽にClusteringができるみたいですね。

ためしにS.ArmstrongのグループのAMLデーター(GSE18483)をre analysisしてみました。ざっくりやっても、Normal&白血病幹細胞(LGMP)はうまく別にClusteringできるみたいですね。



ちなみに別のS.ArmstrongのグループのAMLデーター(GSE20377)を解析してみるとやはり同様のNormal&白血病幹細胞(LGMP)の比較のせいか、うまくClusteringできるようである。



べつのTC.SomervailleたちのグループのAMLのデーター(GSE13796)はこんな感じであり、彼らの言う白血病幹細胞に近いckit(CD117)positive AML from Spleenはより成熟した白血病細胞であるckit negative AML from Spleenと別にClusteringされ、前者はmyeloblastに後者は成熟好中球に近くClusteringされているので、わりとreasonableな結果かもしれない。ただBM由来のAML細胞が別にClusteringされているのはちょっと気になる。



とここまでマウスの白血病モデルのデーターを解析してみたが、人のはどうなのだろうかとおもって試しに、白血病幹細胞(CD34+CD38-)とソートしていない白血病細胞があるデーターを解析してみた。John Dickのところのデーター(GSE30375)なのでそんなに変なデーターではないと思うのだけれど、



結果はこんな感じで、いまひとつ白血病幹細胞がclusteringされない?!

テクニカルな問題なのか?

それとも最近Cellに、白血病細胞の表面抗原と内部のシグナルが相関しないという話がでていた(the surface phenotypes of leukemic blasts do not necessarily reflect their intracellular state.)けれど、これもそういったことを意味しているのだろうか?

ちなみにRのスクリプトは

>install.packages("pheatmap")

>library(pheatmap)

>x <- read.table(file="filename.csv",row.names=1, header=T,sep=",")

>x <- as.matrix(x)

>y <- cor(x)

>pheatmap(y,show_rownames = FALSE, show_colnames = TRUE)

といった形になる。



ハーバード留学研究3年目編002:CRISPRスクリーニング用ソフトMageck挑戦

2015-06-17 23:22:30 | ハーバード留学研究3年目編
CRISPR スクリー二ング用ソフトMageckのダウンロード

先日CRISPRスクリーニングの予備解析用シーケンスが終わったので、その解析をするためのソフトウエアMAGECKを導入した。ちょいインストールその他に手間取ったので覚書程度にその手順を書いておく。

MAGECKのダウンロードはsource forgeのサイトから可能である。ここからダウンロードする。Zipファイルのダウンロード自体は問題なく数分で終わる。

CRISPR スクリー二ング用ソフトMageckファイルの展開

次にこのファイルを展開しないといけないが、普通には展開できない。パスワードが必要だからである。
mageck.help@gmail.com にpasswordという表題でメールを送ると、自動的にpasswordが送られてくる。

このパスワードを使えば、WindowsでLhaplusなどのソフトで展開するのも一つの選択肢であるが、その後Unix, Phython, Cの環境下にでないとソフトウエアが使えないので、Ubuntuなどの環境を先に整えないといけない。Macを使うのがオススメかもしれない。

最近Macを手に入れたので、Macでのインストールをこころみた。

その後はMageckサイトのYoutube Mageck Tutorial 1がMacでのインストールなので、参考になる。



Macのターミナル端末(ダウンロードフォルダで圧縮ファイルをクリックすると自動的に開いた気がする)で

$ cd ~/Download (いらないかも)
$ unzip mageck-0.5.0.zip
してDownloadフォルダにそのまま展開する(この時パスワード要求)

strong>CRISPR スクリー二ング用ソフトMageckファイルのイストール

$ cd mageck-0.5.0
して展開されたフォルダに移動

$ sudo python setup.py install

でinstallが終わる(Macのユーザーパスワードが聞かれる)。なおsudoがないとアクセス権がないと言われる。
なお

$ python setup.py install --prefix=$HOME

でやると、なぜかうまくpathがとおらない。

CRISPR スクリー二ング用ソフトMageckのデモ

$ cd demo
$ cd demo1
$ ./run.sh


$ cd ..
$ cd demo2
$ ./runmageck.sh

でデモができる。うまくいかない時は、pathが通っていない。
チュートリアルにあるように、shファイルを使わず実際にマニュアルでコマンドを打ち込んでもよいと思う。うまくいっているとフォルダ内にdemo.gene_sumarry.txtファイルができているので、

$less demo.gene_sumarry.txt

のようにしてこれを表示させるとよい。答え合わせは、youtubeファイルにのっている。

これでソフト自体はうまく動いていることがわかるので、demo3を行う。

これは2つのfastqファイルおよびライブラリーファイルをダウンロードした後、実際にMageckを利用して、

fastqファイルのダウンロードは
ERR376998 (plasmid file)
ERR376999 (ES cell file)

ライブラリーファイルのダウンロードは
sourceforgeのサイトより、yusa_library.csv.zipをダウンロードすればよい。

なおdemoに進む前に、結果を表示させるのにRを使用するので、Rをインストールしておいたほうがよい。あらかじめインストールしていないと、Rscriptや--pdf-reportなどが使えない。

Rのダウンロードについては、公式サイトから、
R-3.2.0.pkgのようなパッケージ一式をダウンロードするとよい。インストールはRのパッケージを展開すると自動的にはじまる。

また利便性のために、demo用ファイルは、demo3のようなフォルダをつくってそこで展開するのがよいと思われる。

基本的にはチュートリアルにあるように

$ mageck count -l yusa_library.csv -n escneg --sample-label "plasmid,ESC1" --trim-5 23 --sgrna-len 19 --fastq ERR376998.fastq ERR376999.fastq

でマッピングしてくれる。

$less escneg.count.txtで最初が以下のようなファイルが表示できればうまくいっている。

sgRNA Gene plasmid ESC1
chr19:5884430-5884453 SLC25A45 13 32
chr11:58831475-58831498 OLFR312 94 108
chr4:49282352-49282375 E130309F12RIK 85 128

解析は、
$ mageck test -k escneg.count.txt -t ESC1 -c plasmid -n esccp
もしくは
$ mageck test -k escneg.count.txt -t ESC1 -c plasmid -n esccp --pdf-report
で行う。
$less esccp.gene_summary.txtで最初が以下のようなファイルが表示できればうまくいっている。

id num lo.neg p.neg fdr.neg rank.neg goodsgrna.neg lo.pos p.pos fdr.pos rank.pos goodsgrna.pos
ZFP945 5 1.0 1.0 0.999999 19150 0 9.6166e-07 5.4287e-06 0.05198 1 5
TRP53 5 0.95411 0.95409 0.999999 17901 0 1.0347e-06 5.4287e-06 0.05198 2 4
PDAP1 5 0.85937 0.86223 0.999999 15753 1 7.6412e-06 2.8178e-05 0.174505 3 2

詳細な結果は、--pdf-reportをつかうか
$ Rscript esccp.R

でpdfファイルが作成されるので、それを参照すればよい。

うまくいっているとこちらのファイルのようなものがでる。

CRISPR スクリー二ング用ソフトMageckの実際

CRISPRスクリーニングに利用したライブラリーのファイルが実際の解析には必要である。

Geckoライブラリーを利用しているのであれば、sourceforgeのサイトからダウンロードできる。
例えばマウスのGeckoライブラリーであれば、mouse_geckov2_library_combine.csv.zipをダウンロードすればよい。
あとは大体demo3と同じように、必要なfastqファイルとライブラリーファイルを同じフォルダーで展開し、demo3と同様にすれば解析が終わる。今回はシーケンスファイルがそんなに大きくないので多数のファイルを解析してもそんなに時間はかからなかった。

注意点は、
シーケンスのどの部分を解析しなくてよいかを指定する--trim-5オプションと
--trim-5 23 (シーケンスの5’から23塩基は共通配列のため解析しない)

sgrnaの長さを指定する--sgrna-lenオプションである。
--sgrna-len 19(Geckoは20)

また--sample-label のラベルの数は実際のサンプル数(replicationがないならfastqファイル数と同じ)と同じにする

サンプルの同士(fastqファイルの塊)はスペースで区切り、replicationがあるものに関してはfastqファイル同士を,で区切る。また,のあとにはスペースは入れないのが原則である。

実際のマッピングは以下で、

$ mageck count -l mG* -n sortC_13 --sample-label "sort1,sort2,sort3,control1" --trim-5 26 --sgrna-len 20 --fastq A8_R1.fastq,B11_R1.fastq A9_R1.fastq,B12_R1.fastq A10_R1.fastq,C1_R1.fastq A6_R1.fastq,B10_R1.fastq

解析は

$ mageck test -k sort1C_13.count.txt -t sort1,sort2,sort3 -c control1 -n sort1C_13_result --pdf-report

で可能である(*)

(*)はずである。というのも結果についてはちょい自信がない感じであった。近いうちに詳しい人に聞く予定なので、また追記します!

追記(20150911_1):結局結果は大丈夫でしたが、サンプルの質が今ひとつという結果だった。これもいろいろピットフォールがあるようで、なかなか難しい。

追記(20150912): mageck test -kは、Text形式のspread sheetでも利用可能である。この場合、windows formatted textでないと、エラーメッセージがでる。

INFO @ Sat, 12 Sep 2015 XX:XX:XX: Welcome to MAGeCK. Command: test
INFO @ Sat, 12 Sep 2015 XX:XX:XX: Loading count table from Miseq_Counts.txt
INFO @ Sat, 12 Sep 2015 XX:XX:XX: Processing 1 lines..
DEBUG @ Sat, 12 Sep 2015 XX:XX:XX: Parsing error in line 1 (usually the header line). Skip this line.
INFO @ Sat, 12 Sep 2015 XX:XX:XX: Loaded 0 records.

-> the input file (Miseq_Counts.txt) should be windows-formatted text when using Mac.