時間経過実験における遺伝子のクラスター化


8

時系列のクラスタリング、具体的にはクラスタリングに関するクエリをいくつか見ましたが、それらが私の質問に答えるとは思いません。

背景:酵母での時間経過実験で遺伝子をクラスター化したい。t1、 t2、 t3t4の 4つの時点と、遺伝子の総数Gがあります。私はデータを行列Mの形式で持っています。ここで、列は処理(または時点) t1 t2 t3 および t4 を表し、行は遺伝子を表します。したがって、MはGx4行列です。

問題:すべての時点t1、 t2、 t3 、および t4 で、また特定の時点tiで同じように動作する遺伝子をクラスター化したい(iは{1、2、3、4}にある)(両方のクラスタリングを組み合わせた場合、ある時点でのクラスタリングは、複数の時点でのクラスタリングよりも重要です。これに加えて、ヒートマップも描きたいです。

私の解決策: 以下のRコードを使用して、ヒートマップとhclustRの関数を使用したクラスターを取得します(ユークリッド距離で階層的クラスタリングを実行します)。

    row.scaled.expr <- (expr.diff - rowMeans(expr.diff)) / rowSds(expr.diff)

    breaks.expr <- c(quantile(row.scaled.expr[row.scaled.expr < 0],
                               seq(0,1,length=10)[-9]), 0,
                               quantile(row.scaled.expr[row.scaled.expr > 0],
                               seq(0,1,length=10))[-1] )


    blue.red.expr <- maPalette(low = "blue", high = "red", mid = "white",
                     k=length(breaks.expr) - 1)

    pdf("images/clust.pdf",
         height=30,width=20,pointsize=20)
    ht1 <- heatmap.2(row.scaled.expr, col = blue.red.expr, Colv = FALSE, key = FALSE, 
      dendrogram = "row", scale = "none", trace = "none",
      cex=1.5, cexRow=1, cexCol=2,
      density.info = "none", breaks = breaks.expr, 
      labCol = colnames(row.scaled.expr),
      labRow="",
      lmat=rbind( c(0, 3), c(2,1), c(0,4) ), lhei=c(0.25, 4, 0.25 ),
      main=expression("Heat Map"),
      ylab="Genes in the Microarray",
      xlab="Treatments"
      )
    dev.off()

私は最近、クラスターの数を推定するために使用できるBioconductorのhopachパッケージを発見しました。以前は、ヒートマップのビンの数をランダムに割り当て、事前に指定された数のクラスターを取得するために適切な高さでツリーを切り取っていました。

私の解決策で起こりうる問題:

  1. 特定の治療内で遺伝子をクラスター化せず、治療全体でのみ遺伝子をクラスター化したり、その逆の場合もあります。
  2. 見たいパターンのヒートマップを取得するより良い方法があるかもしれません(治療内および治療全体で類似した遺伝子)。
  3. 私が知らないより良い視覚化方法があるかもしれません。

注意:

  1. csgillespie(モデレーター)は、彼のWebサイトでより一般的なドキュメントを公開しています。このドキュメントでは、タイムコース分析のすべての側面(ヒートマップやクラスタリングを含む)について説明しています。ヒートマップとクラスタリングについて詳しく説明している記事を教えていただければ幸いです。

  2. 私はpvclustパッケージを試しましたが、Mが特異であると不平を言い、それがクラッシュします。

回答:


3

あなたは公正な標準分析をしたいだけのようですので、私はあなたの質問に答えるのに最適な人ではありません。それでも私は、バイオコンダクターをさらに深く掘り下げることをお勧めします。便利な機能がたくさんありますが、必要なものを見つけるのは大変です。たとえば、Mfuzzパッケージは有望に見えます。



5

@mbqの応答(Mfuzz見た目は良い)を補足するために、時間経過遺伝子発現データのクラスタリングに関する参照(PDF)をいくつか示します。

  1. ME Futschik、MEおよびCharlisle、B(2005)。遺伝子発現時間経過データのノイズに強いクラスタリングJournal of Bioinformatics and Computational Biology3(4)、965-988。
  2. Luan、YおよびLi、H(2003)。Bスプラインとの混合効果モデルを使用した時間経過遺伝子発現データのクラスタリングバイオインフォマティクス19(4)、474-482。
  3. Tai YC and Speed、TP(2006)。複製されたマイクロアレイタイムコースデータの多変量経験的ベイズ統計統計の史料34、2387年から2412年。
  4. Schliep、A、Steinhoff、C、およびSchönhuth、A(2004)。HMMの混合物を使用した遺伝子発現時間経過におけるグループのロバストな推論バイオインフォマティクス20(1)、i283-i228。
  5. コスタ、IG、de Carvalho、F、およびde Souto、MCP(2004)。遺伝子発現時間経過データのクラスタリング手法の比較分析遺伝学と分子生物学27(4)、623-631。
  6. 井上、LYT、ネイラ、M、ネルソン、C、グリーブ、M、およびエツィオーニ、R(2006)。時間経過遺伝子発現データのためのクラスターベースのネットワークモデル生物統計学8(3)、507-525。
  7. Phang、TL、Neville、MC、Rudolph、M、and Hunter、L(2003)。軌道クラスタリング:乳腺発達への応用を伴う遺伝子発現の時間経過をグループ化するためのノンパラメトリック手法Biocomputingの太平洋シンポジウム8、351から362まで。

timecourse(@csgillespieの配布資料で提案されているように)パッケージを試しましたか?


1
timecourseパッケージではなく、それは遺伝子が示差的に発現されている計算のためだ、クラスタを決定するために、実際にはありません。
csgillespie

@csgillespie(+1)ありがとう。これは、生物学的条件全体でさまざまな時間プロファイルを持つ遺伝子を分離するために、またはクラスタリング手順を使用する前の最初のステップとして使用できると思いました(実際、私は考えkmlていましたが、そのドメインの専門家ではありません)。
chl

あなたはクラスタリングの前に興味深い遺伝子を分離するのによく使われるという点で正しいです-基本的に遺伝子のリストを薄くします。私はそれが一種のクラスタリングを実行すると思います、微分的に表現された対非微分的に表現されました。
csgillespie 2010年

3

他の回答(問題を解決するように見える)に追加するために、系統樹を作成するときに、データに標準のクラスター化アルゴリズムを使用してみましたか?例えば、

heatmap.2(dataset, <standard args>,
          hclustfun = function(c){hclust(c, method= 'average')}
          )

クラスタリングに平均距離を使用する代わりに、「区」、「単一」、「中央値」などを使用することもできます?hclust。完全なリストについては、を参照してください。

クラスターを抽出するには、hclustコマンドを直接使用してから、cutreeコマンドを使用します。例えば、

hc = hclust(dataset)
cutree(hc)

詳細は私のウェブページで見つけることができます。


。はい、しかし、私が持っていた困難の1つは、heatmap.2オブジェクトからクラスターを抽出することでした。クラスターを抽出する簡単な方法はありますか?私はを認識していcutreeheatmap.2オブジェクトからクラスタを抽出するために使用できるコマンド。
suncoolsu

1
@suncoolsu:回答を更新しました。それは役に立ちますか?
csgillespie
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.