過去10年の間に、全トランスクリプトームのシークエンス(RNA-Seq)は、多様な分子機構を理解し、様々な生物学的問題に取り組むための強力な技術として浮上してきた。RNA-Seq実験の初期段階では、異なる遺伝子発現レベルに基づいた生物学的サンプルの初期特性評価とクラステリングが重要なステップとなっている。主成分分析(PCA)は、変動を強調し、遺伝子発現値の行列のような高次元データセットの中から強いパターンを切り出すために使用される技術である。
PCA変換のアウトプットは、データの探索や可視化を容易にするために使用することができ、バイオインフォマティクスで広く使われているアプローチであり、今日ではほとんどすべてのRNA-Seq解析パイプラインの重要な一部となっている。
PCAは計算が簡単で、トランスクリプトミクス、メタボロミクス、医学研究などで頻繁に使用されているが、実験データを解析する際に特に発生する可能性のあるいくつかの課題や欠点が存在する。例えば、データの可視化と解釈は、考慮される主成分、最変量遺伝子の数、遺伝子発現の事前正規化によって大きく影響を受ける可能性がある。一般的に、総分散偏差に最も寄与する主成分が選択される。しかし、多くの場合、例えば、個々の成分の分散が互いに近い場合など、最大の分散を持つ成分だけに焦点を当てても、興味深い結果が直接観察できないことがある。したがって、変換から意味のある解釈を導き出すためには、成分を慎重に評価することが重要である。
一般的に、(バルクの)RNA-Seqデータは、数千の遺伝子の発現を基にしており、サンプル数が非常に少ないため、高い次元性を持っている。低次元の投影は、PCAのような特異値分解を用いて達成することができる。データは、元の変数の特異値分解(遺伝子とサンプルごとに1回のリード数)を行うことで構築された主成分(PC)と呼ばれるより少ない数の変数の形で提示される。(一部略)
ベストプラクティスとして、PCAはまず品質管理、例えば、生物学的リプリケートが類似した発現プロファイルを持ち、クラスタリングする傾向があるかどうかを確認するために使用されるべきである。
定義により、第一主成分(PC1)は、データ内の可能な最大の分散を説明する。PC2は分散の2番目に大きい部分を説明する。伝統的に、最初の数個のPCが元のデータセットの変動の大部分を捉えているため、これらのPCが可視化に使用される。しかし、PC3やPC4のような情報量の少ないPCも、PC1やPC2に匹敵する強いパターンを捉え、遺伝子発現パターンの違いをより明確に区別するのに役立つかもしれない(ref.2)。PCAのバックボーンとして使用する遺伝子セットの違いやPC数の違いは、クラスター構造を捉える際の有効性に影響を及ぼす可能性がある(ref.2,3)。したがって、低分散PCは、ユビキタスに発現している遺伝子(例えば、潜在的なハウスキーピング遺伝子)を特定するためにも使用可能であり、その場合は、PCA可視化のバックボーンとして、より信頼性の高い遺伝子セットを定義するための追加のフィルタリングステップとして使用することができる。したがって、遺伝子発現データに結論を出す前に、PCA変換の有効性を調査する必要性が大いにある。
ここでは、RNA-Seqから得られた定量データをPCAで解析し、可視化するためのインタラクティブで使いやすいツールであるPCAGOを紹介する。PCAGOはWebサービスから直接実行でき、特にローカルで使用する場合は、Dockerコンテナから単一のコマンドでツールを起動することができる。機能性は、Klassertら(ref.7)とRiegeら(ref.8)から得られたRNA-Seqサンプルのリードカウントをロードすることで簡単にテストできる(Start analysis -→Load all sample dataを実行)。他のPCAツールとは対照的に、PCAGOは、PCのようなトランスフォーメーションの主要な機能を包括的に検査し、変化させる機会をユーザーに与え、異なる結果を簡単に比較することができる。さらに、PCAはアノテーションでフィルタリングされた遺伝子サブセット上に構築することができ、最終的な可視化に関心のある生物学的な疑問をより良く反映させることができる。すべての遺伝子と同じクラスタリングを生成する遺伝子の最小セットを計算することができ、アニメーション化されたPCAは、変換に少ないバリアント遺伝子を徐々に含めることによって、PCとクラスタリングがどのように変化するかを示す。最後に、すべての計算ステップは、実行されたPCAの完全な再現性を可能にするために十分に文書化されている。
PCAGO (PCA for RNA-Seq data) is now also running with @Docker using windows or mac systems. Simply:
— Martin Hölzer (@martinhoelzer) 2019年9月17日
docker run -p 8000:8000 --rm -it mhoelzer/pcago:1.0--c1e506c ./run_packrat.sh
and open in your browser:
127.0.0.1:8000
Thx, Lasse!
Preprint: https://t.co/cd5T5xhs4R
Check out our latest preprint @biorxiv_bioinfo about #PCAGO: interactively analyzing and visualizing RNA-Seq count data with principal components.https://t.co/cd5T5xhs4R
— Martin Hölzer (@martinhoelzer) 2018年10月9日
You can even export your #PCA as an mp4. ;)
We are happy to receive any feedback!https://t.co/sxVGrtvSto pic.twitter.com/pxN99wjbab
ローカルでのラン
#1 run
#ローカルマシン
docker run -p 8000:8000 --user $(id -u):$(id -g) --rm -it mhoelzer/pcago:1.0--c1e506c ./run_packrat.sh
#計算機サーバーで立ち上げてログインする
ssh -L 8000:127.0.0.1:8000 your@your.server.com
#login
access to 127.0.0.1:8000
*webサーバーのリソースは限られるため、データサイズが大きければローカルマシンでのランが推奨されている。
https://pcago.bioinf.uni-jena.de にアクセスする。
CSV形式のリードカウントファイルをロードする。ここではexampleファイルを指定。 raw リードカウントファイル、正規化したリードカウントファイル、統計的に絞り込まれた発現変動遺伝子群のファイルなどを使う。submitをクリック。
データが読み込まれた。1列目に遺伝子名、1行目にサンプルアノテーションで参照されているサンプル名、というフォーマットになっている必要がある。
リードカウントファイル以外に、サンプルに条件を割り当てるサンプルの注釈ファイルおよび遺伝子アノテーションファイルを読み込む。
まずはImport samples annotationに切り替え、サンプルの注釈ファイルをアップロードする。ここではexampleを選ぶ。
アノテーションファイルがない場合、generate dataを選ぶとsample名から自動生成することができる。
submitをクリック。
読み込まれたexampleの注釈ファイル。1列目にサンプル名(上のリードカウントの1行目と合致する名前)、1行目にサンプルの様々な注釈(言い方を変えればメタデータ)というフォーマット。それ以外はtrueかfaluseかを記載する。試していないが、1/0の2値でも認識するかもしれない。
true・faluseの共通性に基づき注釈ファイルのベン図が表示される。
次に遺伝子アノテーションファイルを読み込む。ここではexampleを選ぶ。自分のデータを使う場合、モデル生物ならEnsembl GFFなどを使用できる。
読み込まれた。
PCAの前にrawリードカウントはTPMまたはDESeq2による正規化を行う。
calculateをクリック。大規模なデータセットでは、この処理に時間がかかる場合がある(マニュアルより)。
Filter genesのタブに移る。ここでは任意で遺伝子のアノテーションでフィルタリングできるようになっている。
さらに分散で遺伝子をフィルタリングすることもできる。ここではスライダーをドラッグするだけで上位のバリアント遺伝子を選択することができる。
フィルタはアニメーションにも対応している。再生ボタンをクリックすると、閾値が徐々に変化してクラスタリングがどう変化するか確認していける。速度は遅めなので適宜▶︎と◀︎をクリックする。
どのタイミングでも右上のsaple ploボタンをクリックしてPC1とPC2のPCA plotを表示できる。パラメータをチューニングする時のPCAのプレビューにも使う。
3D PCAを描くにはplotタブのAxisで追加の主成分を選ぶ。
PC3を追加した。自動で3D plotに変化した。
9.55%のPC3は底からの高さで表現されている。色はサンプル注釈ファイルとのリンクを表す。
PCAGOでは、多くのプロット設定をアプリケーション内で直接変更することができる。例えば、条件に色や形状を割り当てたり、プロットに表示される名前を変更したりすることが可能。
引用
PCAGO: An interactive tool to analyze RNA-Seq data with principal component analysis
Ruman Gerst, Martin Hölzer
bioRxiv, 2018