フローサイトメトリーハイパラメータ(高次元)データでのマシンラーニングアルゴリズムを用いた解析・可視化 -CytoFLEX LX 20カラーパネルでの例-
目的
- CytoFLEX LX 20カラーデータを例に、viSNEやFlowSOMといったマシンラーニング(ML)アルゴリズムでどのように細胞集団やサブセットのフェノタイプ同定を行うかの理解
- Cytobankを用いたハイパラメータデータの解析パイプライン
- viSNEマップやFlowSOMクラスタリング結果の見方
- データの前処理がMLアルゴリズムにどのように影響するかの確認
サイトメトリー関連の技術の進歩によって、今日我々はシングルセルレベルで多くのパラメータでの測定が可能となりました。これらハイパラメータ、またはパラメータを次元として認識する高次元データセットは、従来の4~ 5カラーデータとは異なり、10 ~ 20カラーやそれ以上のパラメータ情報を含み、いくつかの限られた先進的な機器によって取得が可能となっています。実験あたりのサンプルサイズも増加するトレンドにあり、上述のパラメータのみならず細胞数や検体数も飛躍的に多くなりつつあります。このような技術進化の一方、膨大な情報の管理、共有、可視化と解析が課題となりつつあり、複雑性が高くなるデータを解釈するため、次元圧縮やクラスタリングといったMLアルゴリズムが解析ツールとして多数開発されています(Figure 1 )。
Cytobankはフローサイトメトリーをはじめとしたシングルセルデータのための階層的かつ高度なセキュリティによる管理システムで、同時にMLアルゴリズムを実装したクラウドベースの解析プラットフォームです。Cytobankでのクラスタリング、次元圧縮や可視化ツール(SPADE, viSNE, CITRUS, FlowSOM)は、クラウドプラットフォーム上で実行されるため、膨大な処理を要する解析を複数のクラウドコアで並列に作業できる上、クラウドにアップロードしたデータは自動的にバックアップされ、フレキシブルでかつ安全なアクセスや共有が可能となる1 利点を有します。
本TECHNICAL NOTEでは、CytoFLEX LXフローサイトメーター20カラーのデータを例に用い、MLアルゴリズム がハイパラメータデータの解析にどのように役に立つかを紹介します。各機能の詳細についてはCytobank日本語簡易マニュアルもご参照ください。
Figure 1. 20カラーサイトメトリーデータの2次元プロットとマシンラーニングとの比較。 (A)N by Nプロット(20カラーの場合結果として190プロットからの情報を用いた解析となる)。( B)viSNE(t-SNE)マップによる可視化。
NOTE:Cytobankで用いるviSNEはt-SNEアルゴリズムをベースとしたBarnes–Hut implementation of the t–SNE algorithm 2,5 です。
Cytobankを用いたハイパラメータデータの解析パイプライン
viSNE、SPADE、FlowSOMは教師なしアルゴリズムであるため、これまで知見の得られていない未知のフェノタイプを発見できる可能性が高まります。ハイパラメータデータを2次元へ次元圧縮し可視化するviSNEは、希少な細胞集団や研究において着目すべき集団の同定を可能にします。viSNEはしばしば解析の第1ステップとして実行されます。その後クラスタリングのアルゴリズムと組み合わせることで、データに潜在する事象への理解を深めることができますが、Cytobankではその組み合わせを同一のプラットフォームで簡便に行うことができます2。FlowSOMは処理速度、直感的な解析、ファイルサイズの大きいハイパラメータデータセットに特化したクラスタリングで、Self Organizing Mapアルゴリズムによってフェノタイプの類似している細胞をツリー状に可視化します5。viSNEとクラスタリングを組み合わせ、viSNEマップ上にクラスタリングデータを表示することはクラスタリングの最適化検討とその生物学的同定にとても便利です。Figure 2にそのパイプラインを示し、各ステップについて説明します。
1)データ取得
実験計画とデータ取得では、コントロールの設定と同時にサンプルのデータサイズが統計的に信頼できるかが重要であることに注意してください。もしもサンプルが複数のバッチで測定された場合、バッチ違いに起因する潜在的な影響を考慮し検証を済ませてください。
2)コンペンセーションとスケールの調整、クオリティコントロール
CytobankにはMLアルゴリズムを用いた解析を行うために必要なデータの前処理機能も実装されています。コンペンセーションやスケール調整は、KaluzaソフトウエアとKaluza Cytobank Pluginを使用することでより簡便に行うこともできます。
- コンペンセーション調整:他のチャネルへ漏れ込んでしまう蛍光は補正する必要があります。補正が適切でないとその後の解析に良くない影響を及ぼします。コンペンセーションマトリックスが適用されたサンプルデータであっても、すべてのデータに適切なマトリックスが適用されているかを確認することはとても有用です。

Figure 3. サイトメトリーデータはMLを用いた解析を実施する前に適切なコンペンセーションが施される必要があります。( A)は適切でない補正(B)は適切な補正後の同一データ。
- スケール調整:フローサイトメトリーでは主にリニア、log10、arcsinhやbiexponentialがスケール表示に用いられます。市販のデジタルフローサイトメーターから出力されるデータの蛍光チャネルへは、Cytobankはインポート時に自動でarcsinhスケールを適用します。MLアルゴリズムの計算では適切なスケールが設定されていることはとても重要です。特にarcsinhスケールではargumentに注意が必要です。MLアルゴリズムはスケール調整の有無にかかわらず設定されているスケールをそのまま読み込みます。このため適切に測定されたデータであればスケールの最大値・最小値の調整は大きな変更は不要ですが、argument値は結果に影響するため、場合によっては調整が必要です。詳細は効率的なスケール調整(英文)もご参照ください。

Figure 4. スケール調整例。( A)は不適切で(B)は適切。( A)ではゼロ周辺の領域が沈んでいるような分布となっている(。B)のように陰性集 団がゼロ周辺でシングルピークとなるように調整すると良い。
- クオリティコントロール:測定時の安定性は、timeパラメータ vs 散乱光または蛍光パラメータプロットで確認できます。測定時に詰まりや気泡が含まれてしまったデータでは空白として見られます。この操作は、流速とシグナル検出ともに安定しているデータのみでその後の解析を進めることができるという点で有用です。

Figure 5. クオリティコントロール。蛍光強度が一定で空白もない、安定したデータ例。
3)データのクリーンアップと(必要ならば)プレゲート
クリーンアップでは、デブリス(夾雑物)やダブレット、死細胞など解析に含めたくないものをゲーティングで除きます。この前処理を適切に行わないと、その後の解析に良くない影響を与えたり、混乱させるような結果が得られたりしてしまう可能性があります。研究によっては、クリーンアップの後にさらにゲーティングで解析対象の細胞集団を絞るプレゲートもアプローチのひとつです。
Figure 6. データの前処理。( A)シングルセルへのゲーティング、(B)デブリス除去、(C)生細胞ゲーティング、(D)必要であればCD45+白血球細 胞やリンパ球などの集団をゲーティング。
4)viSNEによる探索的データ解析
- 前処理したゲートから解析対象とする集団とファイルをすべて選択します。total number of eventsにviSNEに最大数の細胞数を設定し、equal samplingを選択します。
- viSNEに用いるclustering channelを選択します。前処理のゲーティングに用いたチャネルを含めないように気をつけてください。細胞集団の同定に用いるチャネルはもれなく含めます。選択したチャ ネルのスケールに、リニアとarcsinhとが混在しない(蛍光チャネルと、time・散乱光チャネル)ように注意します。
- 必要な場合、使用するコンペンセーションマトリックスを選択します。
- 用いる細胞数をもとに、iterationsとperplexityを設定します。蛍光フローサイトメトリーのデータでは、10万細胞あたりiterations 1000くらいから試すと良いです。NOTE: マスサイトメトリーデー タの場合、一般的には蛍光データよりも少ないiterationを要求します。perplexityは周囲の何イベントとの計算を実行するかを設定するパラメータのため、データセットによって最適は異なります。またperplexity設定数は全イベントに適用されるため、処理時間に大きく影響します。おすすめの目安としては、細胞数が100万細胞未満の場合;perplexity=30、100 ~ 150万細胞;50、150万細胞以上;70です。
- viSNEを実行します。複数の設定を検討したい場合、クラウドで並列処理できます。
- viSNE結果の確認
- viSNEマップが得られたあと、それが解析に用いることができる結果なのかを確認したいときは、Illustrations機能でrowsにFCS fi le をcolumnsにchannelを設定します。次元圧縮が問題なく機能したかをまとめて見ることができます。
Figure 7. 20色のフローサイトメトリーデータのviSNEマップ.シングルの生細胞ゲートについてviSNEを行った。死細胞染色以外の19マーカーをviSNEのclustering channel に使用した。細胞数10万細胞で、iteration 1000, perplexity 30, theta 0.5(デフォルト)設定。左上に表示されているマーカーについてプロット右のカラースケールで表示している。
良好な結果では、clustering channelに設定したマーカーの発現が類似している細胞が集まり、viSNEマップ上に独立した大陸や島状の集合(ランド)を形成されていることを確認できます。他の細胞と特徴的に異なるマーカーのプロットでは発現強度の高い(赤い)細胞で1 つのランドを形成しますし、その他の場合はあるランドの部分的な領域として見ることができます。望ましくない結果の場合、ランドが重なり合っていたり、島状に分かれていなかったりするマップとして確認できます(Figure 8A)。
いくつかのマーカーでカラースケール表示をすると、ランドというよりも紐状や細長いパターンとして見られるのも特徴です。このような結果が得られた場合はviSNE設定でadvanced setting のiterationsを増やした設定でviSNEを再度試してください(Figure 8B)。ランドの分離が良くない結果が得られる場合は、perplexityを増やした設定を試してください(Figure 8C)。
Figure 8. 20カラーのフローサイトメトリーデータを異なるviSNE設定で実行した結果のviSNEマップ。シングルの生細胞ゲートについてviSNEを行った。死細胞染色以外の19マーカーをviSNEのclustering channel に使用した。左上に表示されているマーカーについてプロット右のカラースケールで表示している。
TIPS FOR SUCCESS
クラウドで計算処理をするCytobankではviSNE実行中のトラブル(24時間経過しても終わらない、キャンセルや失敗のメッセージが表示される)はほとんどなく、クラウドサーバーレポートではわずか1%以下の発生率です。もしもviSNE実行中にトラブルが発生した場合は、インターネット速度に問題がないかやデータセットが大きすぎないかをまずは確認してください。
viSNE実行中のトラブルのときは以下を試してください
- 同じ条件でもう一度viSNEを実行してみてください。
- advanced setting のiterationsとperplexityを下げて再度viSNEを実行してみてください。
- viSNE設定のevents sampledの数に対してselected eventsの数がはるかに大きい場合は、timeパラメータでのゲーティングの前にサブセットを選択し、そのサブセットをsplit files by population機能でファイルに分割して使用します。
- viSNEマップ上での解析
結果から発見を得たり、考察をするのに役に立つviSNEマップの表示方法を以下に紹介します。
- viSNEマップのclustering channel 一覧表示.Illustrations機能で、tSNE1&2を軸パラメータに、ドットプロットでcolored by channel、columnsにclustering channelで用いたチャネルをすべて設定して表示します(Figure 7 参照)。
- リン酸化マーカーや活性化マーカーなど、細胞の同定ではなく、変動や遷移等の機能を調べたいマーカーはviSNE設定時のclustering channelに含めないようにします。Illustrations機能では、tSNE軸のドットプロット・colored by channelsにし、columnsに機能性マーカーを設定することでFigure 9Bのように表示することができます。rowsにFCSファイルを設定すればファイル間での機能性マーカーの発現の違いを見つけやすくすることもできます。
Figure 9. 20カラーのフローサイトメトリーデータのviSNEマップ。プレゲーティングでリンパ球に絞り、リンパ球サブセットの6つのマーカーをclustering channel に設定しviSNEを実行した。細胞数は10万細胞:iteration=1000, perplexity=30, thera=0.5. 左上に表示されているマーカーについてプロット右のカラースケールで表示している。(A)細胞集団同定マーカー(clustering channelsに使用)、(B)機能性マーカー(clustering channelsには含めていない)。
- Gating機能を用いて同定した細胞集団のランドをviSNEマップ上でマニュアルゲーティングすることも可能です。その後Illustrations機能でゲートをゲート名で表示する設定にすればFigure 10のようにどのランドがどの細胞集団かをひとつの表示で把握することができ、カラースケールで表示しているマーカーがどの集団で強く発現しているかを知る助けとなります。

Figure 10. 同定した細胞集団をゲート表示したviSNEマップ。ゲーティングにはGating機能を使用する。
- 上手くいかないときは
- viSNEでの次元圧縮では、コンペンセーションやスケール調整が適切でないと、結果に良くない影響を与えることがあります。
- スケール調整が不適当な場合:
Figure 11:(A)はスケール調整が不適当なデータの結果です。ヒストグラムではいくつかのマーカーでネガティブのポピュレーションが2つに分かれています。MLアルゴリズムはこの分かれたポピュレー ションが、アーチファクトなのか結果とすべき違いなのかの識別はできません。viSNEマップ作成時にはランドの形成やカラースケールへ影響し、明瞭さに乏しいviSNEマップとなります。
Figure 11. 20色のフローサイトメトリーデータviSNEのスケール調整の影響例。viSNE設定はFigure7と同じ。左3つはリンパ球マーカーのスケール設定のヒストグラム。( A)ではランドに分かれていないviSNEマップでCD19のカラースケール表示でも混乱を招くような高い値で表示されている。(B)では適切にスケールが調整され、viSNEマップも良好にランドに分かれていてCD19カラースケールも明瞭に判別できる。
- コンペンセーションが不適当な場合:
Figure 12:(A)はCD4からCD56へのオーバーコンペンセーションとなっている場合で、CD56カラースケールviSNEマップのCD4+集団(ゲーティングされているランド)を適切なコンペンセーションと比較すると、過剰に低い強度で表示されてしまっています。(B)はCD8のCD15 への補正不足の場合で、漏れ込みが影響して強度が上がり黄色で表示されてしまっています。
Figure 12. 20 色のフローサイトメトリーデータviSNEのコンペンセーションの影響例。viSNE設定はFigure7と同じ。
5)クラスタリングとバイオマーカー探索
FlowSOMとSPADEはバイアスのない方法で類似するフェノタイプの細胞を自動的に同定するのに用いられています3,4。これらクラスタリングは、ファイルをアップロードした状態のExperimentでも実施できますし、viSNEを実行したあとのviSNE experimentでも行うことができ、viSNEのランドの同定をするのにも利用できます。
- FlowSOM単体での実行
- ExperimentでFlowSOM解析の設定をします。

- FlowSOMに含める細胞集団とファイルを選択します。細胞数を入力し、Equalを選択します。FlowSOMは処理速度の速いアルゴリズムのため、Premium Cytobankで400万細胞まで含めることができます。
- Clustering channelを選択します。前処理やプレゲートで使用したチャネルは選択から外します。
リニアとarcsinhスケールが一緒にならないように気をつけてください。 - 蛍光のデータでは、コンペンセーションマトリックスが適切かを確認してください。
- Algorithm settingsを設定します。
- SOM creation:新規のSOMを作成するか、既存のSOMを使用するかを選択します。
- Clustering method:メタクラスタリングに用いる方法を選択します。ほとんどの場合、Hierarchical Consensusが適しています。
- Number of metaclusters:メタクラスターの数を設定します。適切なメタクラスター数はデータセットの様々な要素に依存します。検討を始めるにあたっては、インプットしたデータセット内がいくつの細胞集団に同定されるかの予想または仮説数より少し大きい数から試すのが良いです。
- その他の設定についてはまずはデフォルトで試してください。
- 画面上部の緑色のRun FlowSOM analysisボタンを押して実行します。Cytobankクラウド上では複数の処理を並列にさせることができますので、Copy Settingや別の処理をさせることができます。
- FlowSOM on viSNEでの実行
FlowSOMの結果をviSNEマップ上に表示するには、予め作成したviSNE experiment からFlowSOMを実行する必要があります。Linked experimentsで用いたいviSNE experimentを選択しクリックした後、FlowSOM単体での実行と同様にしてFlowSOMを実行します。
FlowSOM設定の最適化
得られた結果をさらに解析する前に結果が良いものであるかを確認したくなったときの方法としては、FlowSOMメタクラスターをviSNEマップに表示して確認する方法と、ヒートマップで各メタクラスターのマーカー強度を表示して確認する方法との2つがあります。FlowSOMの処理が完了すると、元の情報にFlowSOM clusterIDとFlowSOMmetaclusterIDが追加されたExperimentが自動で作成されます。このExperimentには、FlowSOM setting画面のView created experiment ボタンからか、ExperimentのSummary画面のLinked experimentsからアクセスすることができます(完了メールのリンクからもアクセスできます)。
FlowSOMメタクラスターをviSNEマップにオーバーレイ
viSNEを先に実行してその後FlowSOMを実行した場合、FlowSOM完了後に作成された新規ExperimentではIllustrationsで自動的にオーバーレイプロットを表示するようになっています。このオーバーレイプロットはメタクラスタリングの具合を確認したり、適切なメタクラスター数やノーマライゼーション設定の目途をつけたりするのに役に立ちます。
等高線プロットとオーバーレイプロットを比較して、分布とメタクラスタリングに矛盾がないようにメタクラスター数が設定されているか確認できます。

Figure 13. (A)viSNEマップの等高線プロット。( B)マニュアルゲーティングで作成したゲートをviSNEマップ上にオーバーレイ。( C-E)各種設
定でのFlowSOMメタクラスターのオーバーレイ。メタクラスター数以外は同じに設定。
C: 10 metaclusters
D: 22 metaclusters
E: 35 metaclusters
F: 22 metaclusters + normalized.
一般的にはメタクラスターの色分けはviSNEマップのランドの区分けと対応します。色分けが複数のランドにまたがるときは、クラスター数またはメタクラスター数の増加やノーマライズの適用が必要かもしれません。Figure 13の例では、メタクラスター数10では分離が十分でないが、35では分け過ぎていることがわかります(関連サブセットの探索として用いることもできますが今回の目的でないため)。メタクラスター数22での等高線とオーバーレイが良好な対応をしていることが確認できます。
ノーマライズの適用は、しばしば有用で必要なアプローチですが、今回の例のようにデータセットによっては適用しない方が良い場合もあります。ノーマライズの有無については、viSNEマップ上のオーバーレイプロットでどちらが良いか確かめることができます。ノーマライズによってメタクラスタリングの分離が悪くなるときには、メタクラスター数を増やすのもアプローチのひとつです。メタクラスター数を増やすことで埋もれてしまっていた細胞集団を識別できる可能性があります。
TIPS FOR SUCCESS
FlowSOMが完了すると、FlowSOM結果として新規Experiment が作成され、その中のファイルにはFlowSOM_cluster_idとFlowSOM_metacluste_idが追加記載されています。もしFlowSOMの前にviSNEも実行していた場合、さらにtSNE1とtSNE2もパラメータとして含まれています。Illustrations 機能では、デフォルトでviSNEマップ上にメタクラスターのオーバーレイドットプロットが表示されるようになっています(FlowSOMを先に実行し、その後viSNEを実行しても同様に表示可能です)。
6)ディスカッションのためのFigure 化(可視化)
FlowSOM on viSNE結果では、クラスタリングと次元圧縮の両方の利点を得ることができます。FlowSOMでは細胞集団の同定やマーカー発現サブセットを客観的に行うことができ、viSNEでは直感的な可視化ができるようになります。

Figure 14. viSNEマップの等高線プロットとFlowSOMオーバーレイプロットとの比較。viSNE実行後、同じchannel 設定・メタクラスター数22でFlowSOMを実行。
- マーカー強度ヒートマップ表示による同定
クラスタリングの最適化ができたら、ヒートマップ表示でマーカー発現の強度を見ることができます。Illustrations機能で、Plot typeをHeat mapに設定し、ChannelsボックスのChooseボタンでヒートマップ表示したいチャネルパラメータを選択します。ヒートマップのcolumns(行)、rows(列)、テーブルに設定したい項目を配置します。X axisをPanel/Channel valuesに設定します(Figure 15緑色枠)。特にX axis の設定をPanel/Channel valuesにすることを忘れないように注意してください。

Figure 15. メタクラスターのマーカー発現をヒートマップ表示する設定例。特に重要な設定部分を緑ボックスで表示。FlowSOMメタクラスターを列、マーカー強度を行に設定。カラー表示は蛍光強度値の中央値。
ヒートマップ表示に用いるカラーレンジは以下から選択できます。
Global (Automatic):データセット全体でのカラーレンジ
Individual:ヒートマップ毎のカラーレンジ
Global (User–defined):最小・最大値を設定し全体に反映
統計値や計算値(Foldなど)もIllustrations画面の左側の設定パネルで選択することができ、ヒートマップに用いる値をイベント数(細胞数)や%ゲート、中央値やFold changeにすることもでき、サンプル間比較に便利です。
デフォルトでは、ヒートマップ表示では統計値をスケール変換せず生の値で使用しています。生物学的に見るのにはtransformed ratioで表示すると便利です。
比較式を使用する際は、コントロールが適切なセルに設定されているかを確認してください。通常table’sminimumを設定いただくのが適切です。また、ひとつのヒートマップ上にたくさんのチャネルを表示させる際は、各チャネルでノーマライズしたコントロールを用いるのが理想的です。チャネルを行・列のどちらに配置するかによってコントロールの設定も変わります。
TIPS FOR SUCCESS
viSNE、SPADE、FlowSOMをPC上で計算させるソフトウエアもありますが、これらの場合、PC上で計算中は他の作業はできず、またPCのスペックによってはダウンサンプリングをして計算にインプットする細胞数を大幅に減らす必要があるのが現状です。さらにクラウドでないので並列処理はできず、一度に実行できるのは1 つの処理だけであり、アルゴリズム設定の最適化をしたい場合にとても時間がかかってしまいます。クラウドベースの場合、このような不便はなく、複数のアルゴリズム計算を並列に実行することができ、処理中にPCのスペックを消費せず、ストレスなく他の作業が行えます。特にアルゴリズム設定の最適化をしたいときには、時間的効率に大きな違いをもたらします。
まとめ
viSNEによる次元圧縮とFlowSOMによるクラスタリングの組み合わせ、そしてヒートマップ表示の3つの機能を用いることで、細胞集団やサブセットのバイアスのない同定が可能な解析パイプラインとなります。
Cytobankプラットフォームでは、複数のアルゴリズムを組み合わせ、その結果をディスカッションしやすいプロットに可視化することが簡単にできます。クラウド上で計算を並列処理できるので、最適化や条件検討のスピードを早め、効率的な解析を実現します。
参考文献
- Kotecha, N., Krutzik, P. O., & Irish, J. M. (2010). Web–Based Analysis and Publication of Flow Cytometry Experiments.Current Protocols in Cytometry, 53(1), 10.17.1–10.17.24. https://doi. org/10.1002/0471142956.cy1017s53
- Amir, E. D., Davis, K. L., Tadmor, M. D., Simonds, E. F., Levine, J. H., Bendall, S. C., Shenfeld, D. K., Krishnaswamy, S.,Nolan, G. P., & Pe’er, D. (2013). ViSNE enables visualization of high dimensional single–cell data and revealsphenotypic heterogeneity of leukemia. Nature Biotechnology, 31(6), 545–552. https://doi.org/10.1038/nbt.2594
- Qiu, P., Simonds, E. F., Bendall, S. C., Gibbs, K. D., Bruggner, R. V., Linderman, M. D., Sachs, K., Nolan, G. P., & Plevritis, S. K.(2011). Extracting a cellular hierarchy from high–dimensional cytometry data with SPADE. Nature Biotechnology, 29(10),886–891. https://doi.org/10.1038/nbt.1991
- van der Maaten, L. (2014). Accelerating t–SNE using Tree–Based Algorithms. Journal of Machine Learning Research.
- Van Gassen, S., Callebaut, B., Van Helden, M. J., Lambrecht, B. N., Demeester, P., Dhaene, T., & Saeys, Y. (2015).FlowSOM: Using self–organizing maps for visualization and interpretation of cytometry data: FlowSOM. CytometryPart A, 87(7), 636–645. https://doi.org/10.1002/cyto.a.22625
* 研究用にのみ使用できます。診断目的での使用はできません。