RiboSortの使い方
まずダミーデータ を用意。
1列目がフラグメントの長さ、これが1OTUにあたる。
2列目から7列目がそれぞれのサンプルに見られたフラグメントサイズとピークの高さ。
これをサンプルごとにテキストファイルに分割する。
dat<- read.csv("RiboSortsamples.csv")
library(RiboSort)
for(i in 1:6){
write.table(na.omit(dat[,c(1,i+1)]),paste("sample",i,".txt",sep=""),col.names=F,row.names=F)}
本来は、このサンプルごとのテキストファイルをひとつずつ用意して解析を始めることになると思う。
テキストファイルは、1列目がフラグメント長、2列目がピークの高さ。ラベルはいらない。
これでデータの準備ができた。
次にRiboSortを使ってソーティング。
まずは、データのリストをつくる。
file.list<- character(6)
for(i in 1:6) file.list[i]<- paste("sample",i,".txt",sep="")
file.list
[1] "sample1.txt" "sample2.txt" "sample3.txt" "sample4.txt" "sample5.txt"
[6] "sample6.txt"
これがRiboSortが他のR関数にない特有な操作。
データそのものを事前に呼び出してオブジェクト化するのではなく、先にリストを作って後でデータを呼び出すことになる。
そしてRiboSort()を実行する。
まずは引数の説明。
dataformat:データの出所。手動でつくったファイルなら"standard"。ABIのGeneMapperの出力ファイルなら"abisingle"または"abimultipel"、Beckmanなら"beckman"。デフォルトは"standard"
dye:プライマーの蛍光色素の種類?datafomartが"standard"なら関係なし。
output:abundanceの出力形式。個体数というか量のデータそのものなら"abuncances"、割合データなら"propotions"。デフォルトは、"propotions"。(MDSでは割合データを使うため)
repeats:1サンプルにつき何回繰り返しシークエンサーに流したか。繰り返したサンプルのデータの扱いは、mergerepeatsで設定
mergerepeats:繰り返しデータの扱い方。"none"は繰り返しをひとつのサンプルとして扱う。"presentinall"は、すべての繰り返しで現れたフラグメント長のものだけ採用。"presentintwo"は二つ以上の繰り返しで出たものを採用。"presentinone"は全部採用。
今回は、繰り返しなしの手動データなので
sorted<-RiboSort(file.list)
ちょっと時間がかかった後にsortedにソーティングされたデータが組み込まれる。
さらに、作業ディレクトリに4つのエクセルファイルが生成される。
Information File.xlsと、Abundances Output.xlsと、Proportions Output.xlsと、Ribotypes output.xls。内容はファイル名から大体想像ができると思う。
しかし、このエクセルファイルが厄介で、ファイルを開いてもうまく形になっていないので、区切りを変える必要がある。
Infomation File.xlsは、まず、シート左上の[A]をクリックして選択した状態で、メニューのデータ→区切り位置→「カンマやタブなどの・・・」を選択して次へ→その他を選択して":"を入力して→完了
さらにシート左上の[B]を選択して、上と同じ要領で今度は、「スペース」を選択して完了
それ以外のファイルは、[A]を選択して、上と同じ要領で「スペース」を選択して完了
こんな面倒なことしないで、そもそもCSV形式で出力すればよいものを・・・
で、ソーティングが終わったデータは、目的の解析に応じたデータ形式にしてやればいい。
RiboSortには座標付の手法であるMDSがある。
SampleをグルーピングするsamplesMDS()とOTUごとをグルーピングするspeciesMDS()。
各サンプルが一つの調査点だったとすると
samplesMDS(sorted)
で調査点の傾向が視覚的にわかる。
| 固定リンク | コメント (0) | トラックバック (0)







最近のコメント