|
さて、いよいよCuffdiffです。
Cuffdiffではサンプル間の発現量比較を行います。 そこで、またまた準備です。 ・リファレンスデータを作成する 何回もやったじゃねーか!!と思いたくなるのをぐっと我慢です。 今回用意するリファレンスデータは、「Cufflinksで各サンプル毎に出てきたtranscriptデータを、比較できるように揃える」作業です。 Cufflinksはサンプル毎に個別に実行しているので、出力された結果では各転写産物がサンプル毎に名前が付けられています。 発現量を比較する際には、同じ転写産物同士で比較する必要があるので、名前を揃えなきゃいけないわけです。 そこで、「Cuffcompare」あるいは「Cuffmerge」を使って、統合したリファレンスデータを作成するわけです。 [Cuffcompare]と[Cuffmerge]の違いについては原著論文の筆頭著者であるCole Trapnellによる解説があり、彼はCuffmergeを推奨しているようです。 "Cole Trapnellによる説明" ======================================================================= both are designed to gracefully merge full-length and partial transcript assemblies without ever merging transfrags that disagree on splicing structure. Consider two transfrags, A and B, each with a couple exons. If A and B overlap, and they don't disagree on splicing structure, we can (and according to Cufflinks' assembly philosophy, we should) merge them. The difference between Cuffcompare and Cuffmerge is that Cuffcompare will only merge them if A is "contained" in B, or vice versa. That is, only if one of the transfrags is essentially redundant. Otherwise, they both get included. Cuffmerge on the other hand, will merge them if they overlap, and agree on splicing, and are in the same orientiation. As turnersd noted, this is done by converting the transfrags into SAM alignments and running Cufflinks on them. The other thing that distinguishes these two options is how they deal with a reference annotation. You can read on our website how the Cufflinks Reference Annotation Based Transcript assembler (RABT) works. Cuffcompare doesn't do any RABT assembly, it just includes the reference annotation in the combined.gtf and discards partial transfrags that are contained and compatible with the reference. Cuffmerge actually runs RABT when you provide a reference, and this happens during the step where transfrags are converted into SAM alignments and assembled. We do this to improve quantification accuracy and reduce errors downstream. I should also say that Cuffmerge runs cuffcompare in order annotate the merged assembly with certain helpful features for use later on. So we recommend #3 for a number of reasons, because it is the closest in spirit to #1 while still being reasonably fast. For reasons that I don't want to get into here (pretty arcane details about the Cufflinks assembler) I also feel that option #3 is actually the most accurate in most experimental settings. ======================================================================= 実際にはどちらかを使えば良いわけですが、これを読む限りCuffmergeの方が良さそうですね。 (そもそもCufflinksが良い手法なのかどうかについては議論があるようですが...) というわけでCuffmergeを実行します。 Cufflinksで出力されたファイルを選び、Cufflinksで用いたGTFファイルをリファレンスにして実行すればOK. すぐに[merged transcripts]というファイルが生成されます。 ・Cuffdiffを実行する いよいよCuffdiffです。 左のタブからCuffdiffを選択してやるだけです。 サンプル名を入力し、sorted samファイルを選びましょう。 replicateとなっているものは[add replicate]から追加しましょう。 最後にパラメーターの設定です。 normalizationには[Geometric]、[Quartile]、[classic-fpkm]の3種類があります。 Geometricは中央値に対して、Quartileは上位25%をはじいたものの平均値に対して、classic-fpkmは生のfpkmを出力します。 GeometricもQuartileもデータをRobustnessをあげるためなので、どちらを使っても良いでしょうが、生は怖いですね。 私はGeometric (中央値) を使っています。 Dispersion estimation methodはreplicateのデータの合わせ方です。 調べたのですが細かいことは分からなかったです。 [pooled]は平均分散モデルというものを用いたもので、これで良さそうです。 もしreplicateがない場合は[blind]を選びましょう。 あとは[multi-read correction]と[Bias correction]です。 どちらもやった方が定量性が増すようですが、私はやっていません。 *multi-read correctionをやると結果が思わしくなかったです (因果はまだ不明)。現在詳細について解析中。 そしてExecuteをポチれば終わり!!! しばらく (1日くらい) 待てば結果が出てくるはずです。 出てきたデータは次回、さばきます。 |
全体表示
[ リスト ]






