0

R パッケージ cummeRbund (Bioconductor から) を使用して RNA-seq データを視覚化しています。「DEG_genes」と呼ばれる cuffGeneSet インスタンスを作成しました。このインスタンスには、男性と女性の間で大幅に異なる発現を示す 662 の遺伝子が含まれています。私の目標は、csHeatmap() を使用してヒートマップを作成することです。このヒートマップでは、男性と女性のサンプル (複製) が分離されていますが、性別カテゴリ内で特定のユーザー定義の順序があります。私が使用した:

> DEG<-diffData(genes(cuff))   # take differentially expressed genes
> DEG_significant<-subset(DEG,significant=='yes') # retain only significant changes
> DEG_sign_IDs <- DEG_significant$gene_id # retrieve IDs
> DEG_genes<-getGenes(cuff,DEG_sign_IDs) # get CuffGeneSet instance
> hmap<-csHeatmap(DEG_genes,clustering='none',labRow=F,replicates=T)

これは私が望むものをほとんど与えてくれます: ヒートマップは左側に女性、右側に男性を示していますが、アルファベット順に並べられています (女性_0、女性_1、女性_10、女性_11、女性_12...女性_19、女性_2、女性_20、女性_21..、女性_29左と同様に、男性のMale_0、Male_1、Male_10 ...Male_19、Male_2、Male_20 ...など)、特定の順序(clusterReps)にする必要があります。次のように、特定の順序で複製名を使用してテスト ベクトルを作成しました (左側の男性は 0 と 6 が交換され、右側は女性)。

clusterReps<-c("Male_6","Male_1","Male_2","Male_3","Male_4","Male_5","Male_0","Male_7","Male_8","Male_9","Male_10","Male_11","Male_12","Male_13","Male_14","Male_15","Male_16","Male_17","Male_18","Male_19","Male_20","Male_21","Male_22","Male_23","Male_24","Male_25","Male_26","Male_27","Male_28","Male_29","Male_30","Male_31","Male_32","Male_33","Female_0","Female_1","Female_2","Female_3","Female_4","Female_5","Female_6","Female_7","Female_8","Female_9","Female_10","Female_11","Female_12","Female_13","Female_14","Female_15","Female_16","Female_17","Female_18","Female_19","Female_20","Female_21","Female_22","Female_23","Female_24","Female_25","Female_26","Female_27","Female_28")

「clusterReps」ベクトルの順序に従わなければならない列の順序を除いて、データをまったく同じにしたいと思います。ヒートマップが ggplot であることを知っていたので、過去 2 日間、どこでも解決策を探しましたが、成功しませんでした (stackoverflow の csHeatmap() の代わりに heatmap.2() に非常によく似た問題があるにもかかわらず、複製された fpkm 行列を取得しようとしました)。 heatmap.2 を使用しますが、heatmap_2 しか使用できず、一部のオプションは受け入れられませんでした)。使用:

> hmap<-hmap+scale_x_discrete(limits=clusterReps)
Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale.

x 軸のラベルのみが変更され、実際のデータは変更されません (ヒートマップは同一のままです)。ラベルだけでなく、列を再配置する同様の機能はありますか? よろしくお願いします。私は ggplot オブジェクト、特に cummeRbund のヒートマップの扱いに慣れていません。

編集:詳細情報として私が提供できるものは次のとおりです。

> DEG_genes
CuffGeneSet instance for  662  genes

Slots:
     annotation
     fpkm
     repFpkm
     diff
     count
     isoforms    CuffFeatureSet instance of size 930 
     TSS         CuffFeatureSet instance of size 785 
     CDS         CuffFeatureSet instance of size 230 
     promoters       CuffFeatureSet instance of size 662 
     splicing        CuffFeatureSet instance of size 785 
     relCDS      CuffFeatureSet instance of size 662 

> summary(DEG_genes)
     Length       Class        Mode 
        662 CuffGeneSet          S4 

申し訳ありませんが、現時点ではこれ以上の情報を提供することはできません。コマンドを実行して出力を報告してほしい場合はお知らせください。

4

1 に答える 1

0

私はRにあまり堪能ではありませんが、同じ問題を抱えていました。それを解決するために、cuffdiff フォルダー内のすべてのファイル内のすべてのサンプル名を、アルファベット順に並べ替えたときに正しい順序になる名前に変更し、データベースを再構築するスクリプトを作成しました。

于 2014-05-21T12:56:06.063 に答える