はじめての老化細胞データ取得

今回より、ようやく本格的に研究を開始します。まず始めに、老化研究のためのデータ取得を行います。

これまで、データ分析を行うためにPython環境を整えたり、データ分析の記事をTwitterで共有したりしてきましたが、そもそもデータ自体がなければデータ分析を行うことができません。


本来なら、自分で実験を行うことで必要なデータを得るはずですが、現時点で実験を行えるほどの場所と予算がないため、すでに公開されているデータを探して入手します

本記事では、今後データ分析に利用する老化細胞データを入手して、データ分析に利用できるよう整形するところまで行います


細胞とは何か?


人の身体は、多数の細胞でできています。生理現象というのは、様々な細胞が協調することで成り立っているのです。


例えば、血液の色が赤いのは、赤血球という赤色の細胞が血中に多数含まれているからです。赤血球は、肺から酸素を受け取り身体中の組織に酸素を運ぶ役割を担っています。

また、人は食べたものを胃で消化するようなつくりになっていますが、消化酵素を含む胃酸を分泌するのは胃壁にある壁細胞の役割です。


逆に考えると、細胞の役割を知ることができれば、人の生理現象のメカニズムを解明できるといえます

今回利用する老化細胞データというのは、若い細胞と老いた細胞の特徴データを有しています。二者の細胞データを比較することで、老化によってどのような機能が衰退していくのかが解明できるかもしれません。


細胞の機能を決めるのはタンパク質


細胞は多数の生体分子から成ります。そのうちの一つがタンパク質です。タンパク質は各細胞で産生されており、細胞機能を実現するための役割を担っています


例えば、先ほどの胃の壁細胞にはH+/K+-ATPaseと呼ばれるタンパク質が表面にくっついています。これは、身体中からのシグナルに反応して、酸を放出する役割をもちます。このタンパク質が存在することで、良きタイミングに胃酸が分泌できるようになっています。

さらに、胃の主細胞からはペプシノーゲンという酵素が算出されますが、これもタンパク質の一つです。


ちなみに、遺伝子という単語をどこかで聞いたことがあると思いますが、遺伝子とはタンパク質を生み出すために細胞に存在している生体分子のことです。例えば、背が高くなる遺伝子があるというのは、その遺伝子から背が高くなるための成長因子であるタンパク質が産生されているということです。

すなわち、タンパク質というのは遺伝子の機能を実現するための兵隊ともいえます。


このように、細胞が生理現象を実現するうえで、タンパク質の役割は必要不可欠なのです


タンパク質量の代わりにRNA量を測定する


それでは、細胞中の全タンパク質量を測定できれば、細胞の役割を推定できそうです。しかし、全タンパク質量を測定するのは、実は非常に難しいです

理由としては、タンパク質の多様性が挙げられます。例えば、先ほどのペプシノーゲンは、胃酸に混ざるとペプシンに変化します。ですが、タンパク質の定量となるとこれらのタンパク質は別物として処理されてしまうかもしれません。

全タンパク質量を調べることをプロテオーム解析といい、こちらの研究もある程度進められているのですが、個人的な感覚としてはバイオインフォマティクス界ではあまり利用されていないような印象を受けています。


そこで、代わりにRNAという生体分子の全量を測定します。ここでは詳しく説明しませんが、RNAは遺伝子から生み出され、タンパク質の元となる物質であるため、RNA全量はタンパク質全量にある程度相関します。(詳しくは、「分子生物学 セントラルドグマ」などで検索すると調べられます。)


今回入手した老化細胞データでは、若年マウスと老年マウスのそれぞれから得られた細胞において、全遺伝子由来のRNA測定値が記録されています。このデータを参照することで、各遺伝子からRNAがどれだけ算出されているのか、ひいてはタンパク質がどれだけ稼働しているのかが分かります。


老化細胞データはどこにあるのか?


今回利用するデータは、Gene Expression Omnibus(略称:GEO)というデータベースから取得しました。ここはRNA全量データ(遺伝子発現データとよく呼ばれます)が数多く格納されているデータベースです。


今回は、若年マウスと老年マウスの比較データセットを選択しました(GSE132901)。このデータセットには多数の細胞データが保管されていますが、この記事ではその中から一つだけ選び(GSM3895924)、データ整形を行います。


データ読み込み


データはページ下部のSupplementary fileからダウンロードできます。


f:id:emoriiin979:20201030171105p:plain


ただし、このファイルはH5形式なので、簡単には開くことができません。もしCSV形式とかならPandasのread_csvなどで簡単に開けますが、今回はH5用の読み込み関数を用意する必要があります。

H5ファイルを開く方法はいくつかありますが、今回はScanpyというライブラリを使います。Scanpyのread_10x_h5関数を使うことで、これらのH5ファイルを読み込めます。


import scanpy as sc

data = sc.read_10x_h5('GSM3895924_Y1K1_filtered_feature_bc_matrix.h5')


これで、データ読み込みは完了です。


データをDataFrame形式に変える


ただし、このままでは分析ができないので、Pandasで統計処理などの分析ができるよう形式を変更します。(このままでも分析できるかもしれませんが、少なくとも私はやり方を知らないので、今回はPandasのDataFrame形式に変更するまでやります。)


現時点で、データはanndata形式になっています。ここから、RNA全量データを取得します


import pandas as pd

df = pd.DataFrame(data.X.todense())


RNA全量データはanndataのX属性に疎行列データとして格納されています。この形式ではDataFrame化できないので、todenseメソッドで密行列データに変換しています。


現時点で行名と列名が何も指定されていないので、anndataから遺伝子名と細胞IDを取得してきて、これらを行名・列名とします。


df.columns = data.var.gene_ids.tolist()
df.index = data.obs_names.tolist()


これで、anndataをDataFrame化することができました。


f:id:emoriiin979:20201030172830p:plain


まとめ


この記事では、若年マウスと老年マウスの細胞内RNA全量データを取得する方法と、データを読み込んで分析可能にするまでの方法について説明しました。

全てがH5形式ではないはずなので、この方法が必ず使えるとは限りませんが、一つの例として参考にしていただければ幸いです。


以上です。