0

私は、遺伝子のペアワイズ データに基づいて系統樹を作成する作業を行っています。以下は、データのサブセット (test.txt) です。ツリーは、DNA シーケンスに基づいて構築する必要はありませんが、それを次のように扱うだけです。言葉。

ID  gene1   gene2

1   ADRA1D  ADK
2   ADRA1B  ADK
3   ADRA1A  ADK
4   ADRB1   ASIC1
5   ADRB1   ADK
6   ADRB2   ASIC1
7   ADRB2   ADK
8   AGTR1   ACHE
9   AGTR1   ADK
10  ALOX5   ADRB1
11  ALOX5   ADRB2
12  ALPPL2  ADRB1
13  ALPPL2  ADRB2
14  AMY2A   AGTR1
15  AR  ADORA1
16  AR  ADRA1D
17  AR  ADRA1B
18  AR  ADRA1A
19  AR  ADRA2A
20  AR  ADRA2B

以下はRでの私のコードです

library(ape)
tab=read.csv("test.txt",sep="\t",header=TRUE)
d=dist(tab,method="euclidean")
fit <- hclust(d, method="ward")
plot(as.phylo(fit))

私のフィギュアはここに添付されていますここに画像の説明を入力

それらがどのようにクラスター化されているかについて質問があります。

 17 AR  ADRA1B
 18 AR  ADRA1A

 2  ADRA1B  ADK
 3  ADRA1A  ADK

17 と 2 は一緒に、18 と 3 は一緒にあるはずです。

この方法(ユークリッド距離)の使用が間違っている場合、他の方法を使用する必要がありますか?

データを行と列の行列に変換する必要があります。ここで、gene1 は x 軸で、gene2 は y 軸で、各セルは 1 または 0 で埋められますか?(基本的に、ペアになっている場合は 1 を意味し、そうでない場合は0)

更新されたコード:

   table=table(tab$gene1, tab$gene2)
   d <- dist(table,method="euclidean")
   fit <- hclust(d, method="ward")
   plot(as.phylo(fit))

ただし、これでは、gene2 列ではなく、gene1 からの遺伝子のみを取得します。下の図はまさに私が望むものですが、gene2 列からの遺伝子も含まれている必要があります。

ここに画像の説明を入力

4

1 に答える 1