3

Javaで記述されたクラスタリングコードがあり、そこからネストされたツリー構造を作成できます。たとえば、最初の反復で2つの「isRetired」オブジェクトがクラスター化され、このグループが「setIsRequired」でクラスター化されたツリーの小さな部分を次に示します。 "5回目の反復で。クラスター内のオブジェクト間の距離は括弧内に示されています。

  |+5 (dist. = 0.0438171125324851)
    |+1 (dist. = 2.220446049250313E-16)
      |-isRetired
      |-isRetired
    |-setIsRetired

より伝統的な樹状図のスタイルで結果を提示したいと思います。Rにはいくつかの優れた機能があるように見えますが、Rについてほとんど知らないため、それらをどのように利用するかがわかりません。

Javaからファイルにツリー構造を書き出してから、数行のRコードで樹状図を作成することはできますか?Rプログラムから、次のようなことをしたいと思います。

  1. ファイルからデータ構造(「hclust」オブジェクト?)に読み込みます。
  2. データ構造を樹状図に変換します(「樹状図として」を使用しますか?)
  3. 「プロット」を使用して樹状図を表示する

質問は、Rがファイルから読み取り、その文字列入力を(hclust)オブジェクトに変換する簡単な方法を提供するかどうかに要約されると思います。もしそうなら、入力ファイルのデータはどのように見えるべきですか?

4

2 に答える 2

3

あなたが探しているのはphylogだと思います。Newick表記のファイルにツリーを印刷し、それを解析して、簡単に視覚化できるphylogオブジェクトを作成できます。Webページの最後に、これを行う方法の例が示されています。phylobaseも検討することをお勧めします。これらのパッケージによって提供されるすべての機能は必要ありませんが、ツリーとそのプロット機能を表すために使用される構成に便乗することができます。

編集:ここでより簡単な解決策を提供する前に、あなたと同様の質問がされたようです。したがって、基本的にここでコーディングする必要があるのは、NewickパーサーまたはJavaから出力する他の表現のパーサーだけです。

于 2011-05-11T01:25:13.220 に答える
0

類人猿(系統発生と進化の分析)パッケージには樹状図描画機能が含まれており、Newick形式で樹木を読み取ることができますオプションのパッケージなので、インストールする必要があります。理論的には簡単に使用できます。たとえば、次のコマンドは樹状図を生成します。

> library("ape")
> gcPhylo <- read.tree(file = "gc.tree")
> plot(gcPhylo, show.node.label = TRUE)

APEを使用して作成された樹状図

これまでの私の主な不満は、Newick形式のツリー情報を含むファイルの構文に問題がある場合、診断情報がほとんどないことです。私は他のツールでこれらの同じファイルを読むことに成功しました(場合によっては、ツールが構文の特定の障害を許容していることが原因である可能性があります)。

以下に示すように、phylogパッケージを使用して樹状図を作成することもできます。

> library(ade4)
> newickString <- system("cat gc.tree", intern = TRUE)
> gcPhylog <- newick2phylog(newickString)
> plot(gcPhylog, clabel.nodes=1)

Phylogを使用して作成された樹状図

どちらもNewick形式のツリーで機能し、両方に多くのプロットオプションがあります。

于 2011-05-16T04:47:31.387 に答える