APIマニュアルからデータ読み込み関数を探す

シングルセルデータをPythonで読み込むにはScanpyが便利です。以前の記事では、Scanpyのread_10x_h5という関数を使ってH5ファイルを読み込みました。

Scanpyの関数でファイルを読み込むと、Anndata型のデータとして変数に格納されます。このデータ型では、シングルセルデータの遺伝子名とサンプル名をデータ行列とともに持つため、以降の解析がやりやすくなります。


ところで、Scanpyはh5ファイルだけではなく、他形式のファイルも読み込むことができます。例えば、Excelで作成したXlsxファイルも読み込むことができます。

本記事では、Excelに保存したデータを読み込みAnndata型データに変換する方法を紹介します。


発端


私が今研究に使っている老化細胞データは、とある論文で使われているものを拝借しています。こちらの論文なのですが、解析のために作成したプログラムが補助資料として公開されています。

そこで、著者たちが作成したプログラムを読んでみたのですが、ここではread_10x_h5関数ではなくread_h5ad関数でデータを読み込んでいることに気がつきました。


詳細は未だ不明ですが、どうやら本解析においてはGEOに登録されたH5ファイルではなく、著者HPに公開されているH5ADファイルのデータが利用されているようです。


そんなこんなで、今ではH5ADの方のデータに乗り換えたわけですが、ここで関数の使い方を調べるためにScanpyの APIマニュアルを調べていたところ、H5以外のファイル形式からでもデータが読み込めそうであることを知りました

どうやらTXTやCSVなど、色々なファイル形式に対応しているようで、中には知らない形式のものも記載されていました。とりあえず、今回はExcelファイルの読み込みに挑戦して一応成功したので、そのやり方を共有します。


f:id:emoriiin979:20201120142946p:plain

f:id:emoriiin979:20201120143004p:plain


ファイルを読み込むための関数


どのファイル形式が読み込めるかは、マニュアルに記載されています。H5ADファイルを読み込むにはread_h5adを使い、Excelファイルを読み込むにはread_excelを使います。


import scanpy as sc

adata = sc.read_excel("filename.xlsx", sheet=0)


引数(括弧の中に入れる値のことです)に何を入力するのかは、関数によって異なります。

例えば、read_h5adでは引数にはファイル名しか入りませんが、read_csvなら引数に区切り文字(delimiter)を指定することができます。これは、CSV(カンマ区切り)ファイルだけでなく、TSV(タブ区切り)ファイルも読み込みたいときに指定します。

何を入力するべきなのかもAPIマニュアルに書かれているので、そちらを参照してください。


まとめ


この記事では、Scanpyのread_excel関数を使うことで、Excelファイルのデータを読み込む方法について紹介しました。


Anndata形式にすると、Scanpyの様々な解析用メソッドが利用可能となります。例えば、不要な遺伝子をフィルタリングするなどの前処理を行ったり、t-SNEなどで可視化を行うなどがメソッド一つで行えるようになるので、覚えておいて損はないかと思います。

Scanpyについては私も勉強中で、未だに思い通りに動かず様々なハプニングに見舞われたりしていますが、また新たな知見が見つかったら今後も紹介していきます。


以上です。