日付;2024/10/25(金)
ゲノム、RNAシークエンス、シングルセルRNAシークエンス、TCGA等の公開データの解析では、一般的なコンピューターよりもかなり大量のメモリが必要になる。サンプル数や症例数が10程度であればメモリを64GB程度積んだコンピューターでも可能であるが、結局物理メモリをほぼ使い果たしてしまうと思う。昨今では128GB以上メモリを積むことができるようになってきているが、それでもシングルセルRNAシークエンスの解析等ではSWAP領域を活用しなければまともに解析できないような気がする。そういうことで、メモリサイズがかなり大きくなった今でも、これらの解析を行うためにはSWAP領域を大きく取る必要があると思っている。
SWAP領域の設定に関しては、過去に何度か、というか何度も他の記事に書いている(ここ、ここ、ここ)が、どれもなにかのついでに設定するという感じで書いており、この記事のようにタイトルから検索できるようになっておらず、非常に不便だった。そういうことなので、検索しやすいタイトルで記録をしておくことにする。
RNAシークエンスではマッピングでSTARというソフトを使うのがもはや標準だと思うが、それは64GBでは足りない可能性が出てきている。また、シングルセルRNAシークエンスの解析の際、発現解析を行うMAST、Trajectroy Inferenceを行うSringshot、そのTrajectoryに沿った発現のTradeseqというRのパッケージで、メモリを350GBくらいまで使用した経験がある。そのため、自分はいつも512GBとか、1024GBとかに設定している。1024GBとか使いすぎな気がするけど、正直データのストレージは10TB以上が積んでおり、データの保存などに対する影響はそんなに大きくない。それに、Shirokaneとかどうだろうか。本気で使おうと思ったらそのくらいは必要なはずである。個人レベルの解析では、Pythonのパッケージでこんなことにはなったことがないから、Rユーザーにとってはちょっと不公平な気もする。
言うてても埒が明かないので、以下に順次述べていく。
Linux (Ubuntu 22.04)
いつも忘れてため息をついているところではあるが、これはもう、特に問題がない。Ubuntuのいいところは、こういうところに簡単に手が届くところである。後述するWindowsやMacは、会社の都合でコロコロと変えるし、その大体が不便になっているところなので嫌である。
su
swapoff -v /swapfile
gedit /etc/fstab
# delete "/swapfile swap swap defaults 0 0" and then Save.
rm /swapfile
fallocate -l 1024GB /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
gedit /etc/fstab
# Add "/swapfile swap swap defaults 0 0" and then Save.
swapon -show
free -h
WIndows (Windows 10)
先ずはスタートからあの「歯車のヤツ」をおして「詳細情報」に行き「システムの詳細設定」に行く。
次にパフォーマンスのところにある「設定(S)…」を押す。
次に仮想メモリの「変更(C)…」を押す。
で、カスタムサイズで初期設定を通常の作業に差し障りがない程度のメモリを、そして最大サイズは考えられる最大を入れれば良い。当然、コンピューターにインストールされているSSDの容量以上は設定できない。
「OK」を押して、コンピューターを再起動すれば設定は終わり。
個人的に戸惑うのが、設定後にこのページファイルはどこに入っているのかということである。上述の図では最大で32GB設定しているが、どこを見てもその32GBは確保されていない。なんでやねんと思って全力でコンピューターを回して気がついたことが、必要に応じてそのメモリサイズが確保されるということである。つまり、物理メモリに収まる程度の作業ならば、特にスワップ領域(ページファイル)を確保せずに動いており、もし追加で30GB必要ならば、その都度、SSDにそのサイズを確保して計算する、ということを行っているようである。これを見たとき、Windowsは優秀であると改めて思った。そして、こんなに優秀なのになぜこんなに使いにくいのか、とも同時に思った。
MAC (MacOS Monterey)
問題がこれである。
必要なコマンドがない。ということで、GoogleとChatGPTで色々とさがしてみて至った結論が以下。
自動だって。便利なのかい??
まとめ
これでしょぼいコンピューターでもある程度の解析は出来る。以前も書いたが、これでCore i5のWindows 10である程度解析できていたから。最近のテクノロジーってのはやっぱりすげえってことだんだろうと思う。でも油断していると、どこかぶっ壊れるので、それもそれで注意。Surfaceとか、ファンがヘボすぎて発熱がすごいから。