macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

インタラクティブな主成分分析webサービスによってRNA seqデータを分析する PCAGO

 

 過去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の完全な再現性を可能にするために十分に文書化されている。

 



Github


ローカルでのラン

#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サーバーのリソースは限られるため、データサイズが大きければローカルマシンでのランが推奨されている。

 

 

webサービス

https://pcago.bioinf.uni-jena.de にアクセスする。

f:id:kazumaxneo:20200430225550p:plain



 

 

 CSV形式のリードカウントファイルをロードする。ここではexampleファイルを指定。 raw リードカウントファイル、正規化したリードカウントファイル、統計的に絞り込まれた発現変動遺伝子群のファイルなどを使う。submitをクリック。

f:id:kazumaxneo:20200430235626p:plain

 

データが読み込まれた。1列目に遺伝子名、1行目にサンプルアノテーションで参照されているサンプル名、というフォーマットになっている必要がある。

f:id:kazumaxneo:20200430235722p:plain



リードカウントファイル以外に、サンプルに条件を割り当てるサンプルの注釈ファイルおよび遺伝子アノテーションファイルを読み込む。

まずはImport samples annotationに切り替え、サンプルの注釈ファイルをアップロードする。ここではexampleを選ぶ。

f:id:kazumaxneo:20200501000634p:plain

アノテーションファイルがない場合、generate dataを選ぶとsample名から自動生成することができる。

 

submitをクリック。

f:id:kazumaxneo:20200501001951p:plain

 

読み込まれたexampleの注釈ファイル。1列目にサンプル名(上のリードカウントの1行目と合致する名前)、1行目にサンプルの様々な注釈(言い方を変えればメタデータ)というフォーマット。それ以外はtrueかfaluseかを記載する。試していないが、1/0の2値でも認識するかもしれない。

f:id:kazumaxneo:20200501001536p:plain

 

 

true・faluseの共通性に基づき注釈ファイルのベン図が表示される。

f:id:kazumaxneo:20200501002212p:plain

 

次に遺伝子アノテーションファイルを読み込む。ここではexampleを選ぶ。自分のデータを使う場合、モデル生物ならEnsembl GFFなどを使用できる。

f:id:kazumaxneo:20200501003632p:plain


読み込まれた。

f:id:kazumaxneo:20200501004056p:plain

 

PCAの前にrawリードカウントはTPMまたはDESeq2による正規化を行う。

f:id:kazumaxneo:20200501004454p:plain

 

calculateをクリック。大規模なデータセットでは、この処理に時間がかかる場合がある(マニュアルより)。

f:id:kazumaxneo:20200501005609p:plain

 

 


Filter genesのタブに移る。ここでは任意で遺伝子のアノテーションでフィルタリングできるようになっている。

f:id:kazumaxneo:20200501010142p:plain

 

さらに分散で遺伝子をフィルタリングすることもできる。ここではスライダーをドラッグするだけで上位のバリアント遺伝子を選択することができる。

f:id:kazumaxneo:20200501010304p:plain

 

フィルタはアニメーションにも対応している。再生ボタンをクリックすると、閾値が徐々に変化してクラスタリングがどう変化するか確認していける。速度は遅めなので適宜▶︎と◀︎をクリックする。

f:id:kazumaxneo:20200501010656p:plain

 

どのタイミングでも右上のsaple ploボタンをクリックしてPC1とPC2のPCA plotを表示できる。パラメータをチューニングする時のPCAのプレビューにも使う。

f:id:kazumaxneo:20200501011731p:plain


3D PCAを描くにはplotタブのAxisで追加の主成分を選ぶ。

f:id:kazumaxneo:20200501011943p:plain

 

PC3を追加した。自動で3D plotに変化した。

f:id:kazumaxneo:20200501012023p:plain

9.55%のPC3は底からの高さで表現されている。色はサンプル注釈ファイルとのリンクを表す。



PCAGOでは、多くのプロット設定をアプリケーション内で直接変更することができる。例えば、条件に色や形状を割り当てたり、プロットに表示される名前を変更したりすることが可能。

f:id:kazumaxneo:20200501012233p:plain

 

引用

PCAGO: An interactive tool to analyze RNA-Seq data with principal component analysis

Ruman Gerst, Martin Hölzer

bioRxiv, 2018