Linux で同じバージョンの R を使用して Seurat2 と Seurat3 を同時にインストールするチュートリアル

Linux で同じバージョンの R を使用して Seurat2 と Seurat3 を同時にインストールするチュートリアル

Seurat は、単一細胞解析用の重量級の R パッケージです。使用したことがある人なら誰でも、その便利さを知っています。 Seurat 分析プロセスは、基本的に、フィルタリング、tSNE、UMAP 次元削減、描画など、単一細胞分析における一般的な分析方法をすべてカバーします。もう一つの重要な機能は、異なる実験間のバッチ効果を修正することです。しかし、Seurat 2 と Seurat 3 の補正方法はまったく異なり、得られる結果に一貫性がありません。

Seurat 2 は CCA (正準相関) に基づいており、腫瘍、末梢血、隣接する癌組織間の実験によって生じるバッチ効果を補正できます。また、異なる単一細胞実験プラットフォームを使用した実験によって生じるバッチ効果も補正できます。速度は遅いですが、効果は良好です。 Seurat 3 は、サンプル間で類似した発現プロファイルを持つ細胞集団に基づいて補正を行います。同じ性質の実験の場合、Seurat 3 は、異なる単一細胞技術によって引き起こされる実験バッチ効果を適切に補正できます。公式サイトに掲載されているパンサーズ補正結果から、その補正能力がいかに強力であるかが分かります。しかし、このような強力な補正能力により、腫瘍と末梢血サンプルの補正が過剰になり、グループ化されるべきでない細胞が類似した遺伝子発現プロファイルを持つ結果となりました。私もいくつかのプロジェクトに取り組んできましたが、そのすべてでこの問題が見つかったため、Seurat 3 の修正方法を断念し、Seurat 2 を使い続けました。ただし、Seurat 3 の findmarker 関数は、一度に 100,000 個を超えるセルをエラーなしでカウントできますが、Seurat 2 ではできません。妥協案としては、Seurat 2 と Seurat 3 のパッケージを同時にインストールし、ローカルに書き込んでからアップグレードのために Seurat 3 で読み取るのではなく、メモリ内のデータを切り替えることです。

特に数万個のセルの場合、データをローカルに保存するのに少なくとも 30 分、それを読み取るのに 30 分かかります。

ここで、ローカルで読み書きせずに、Seurat 2 と Seurat 3 を完全に切り替える方法を説明します。

実際、方法は非常に簡単です。Seurat 2 と Seurat 3 を別のライブラリにインストールするだけです。

私はそれをインストールしました、私のフリースイッチングを例として挙げます:

> Rバージョン
        _             
プラットフォーム x86_64-conda_cos6-linux-gnu
アーチx86_64           
OS Linux-GNU         
システム x86_64、linux-gnu     
状態                  
メジャー3             
マイナー 6.1            
2019年            
月 07             
5日目             
SVN リビジョン 76782           
言語 R             
version.string R バージョン 3.6.1 (2019-07-05)
ニックネーム つま先の動作

私は最新の R バージョン 3.6.1 を使用していますが、非常にうまく動作します。

デフォルトのライブラリはcondaに付属しているものです

> .libPaths()
[1] 「/data/home/heshuai/anaconda3/lib/R/library」

デフォルトのSeuratはSeurat 3の最新バージョンです

> 図書館(スーラ)
登録された S3 メソッドが 'R.oo' によって上書きされました:
 方法から   
 throw.default R.methodsS3
> packageVersion("Seurat")
[1] '3.0.2'

Seurat 2を別のライブラリにインストールしました

/data/home/heshuai/R/x86_64-conda_cos6-linux-gnu-ライブラリ

2つを自由に切り替える

1. まずSeurat 2が配置されているライブラリをロードします

> .libPaths("/data/home/heshuai/R/x86_64-conda_cos6-linux-gnu-library")
> .libPaths()
[1] 「/data/home/heshuai/R/x86_64-conda_cos6-linux-gnu-library」 「/data/home/heshuai/anaconda3/lib/R/library」      
>

2. Seurat 3 をデタッチしてから、Seurat 2 をロードします。Seurat 2 が配置されているライブラリはすでに Seurat 3 より前にあるため、デフォルトではシステムは最初に Seurat 2 をロードします。

> デタッチ("パッケージ:Seurat", アンロード = T)
> 図書館(スーラ)
必要なパッケージを読み込んでいます: ggplot2
RStudio コミュニティは、サポートを受けるのに最適な場所です: https://community.rstudio.com/c/tidyverse。
必要なパッケージを読み込んでいます: cowplot
 
********************************************************
注: バージョン1.0.0では、cowplotは
 デフォルトのggplot2テーマはもう使用できません。以前の
 動作、実行:
 theme_set(theme_cowplot())
********************************************************
 
必要なパッケージを読み込んでいます: Matrix
> packageVersion("Seurat")
[1] '2.3.4'
>

これで、Seurat 3 は Seurat 2 に正常に切り替えられました。Seurat 3 をロードする場合は、デフォルトのライブラリを Seurat 2 の前に変更するだけです。

とても簡単じゃないですか?

要約する

上記は、Linux で同じバージョンの R を使用して Seurat2 と Seurat3 を同時にインストールするためのチュートリアルです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。

以下もご興味があるかもしれません:
  • LinuxシステムにISOファイルをインストールする方法
  • Linux Tensorflow2.0のインストール問題を解決する
  • Linux に MySQL 8.0.x をインストールするための完全な手順
  • Linux仮想マシンにOracle 11Gをインストールする
  • Linux システムに 3 つ以上の Tomcat をインストールする (詳細な手順)
  • Linux に nginx をインストールする方法
  • MySQL 8.0.15 のインストールと設定のグラフィックチュートリアルと Linux でのパスワード変更

<<:  mysqlを完全にアンインストールします。個人テストです!

>>:  React、Angular、Vueの3つの主要なフロントエンド技術の詳細説明

推薦する

MySQL のロードバランサーとして nginx を使用する方法

注意: nginxのバージョンは1.9以上である必要があります。nginxをコンパイルするときに、-...

VMwareのCentosシステムでNavicatがMySQLサーバーに接続できない問題を解決します

ホスト 'xxxx' はこの MySQL サーバーに接続できませんエラー: 1130...

Nexus を使用して jar パッケージをプライベート サーバーに追加する方法

なぜ Nexus プライベート サーバーを構築する必要があるのでしょうか。その理由は非常に簡単です。...

Vueはズームイン、ズームアウト、ドラッグ機能を実装しています

この記事では、参考までに、ズームインとズームアウトのドラッグ機能を実現するためのVueの具体的なコー...

ビューポートの基本原理と詳細な使用方法

1. ビューポートの概要モバイル ブラウザは通常、画面よりも幅の広い仮想ウィンドウにページをレンダリ...

MySQL スケジュールされたデータベース バックアップ操作の例

この記事では、MySQL のスケジュールされたデータベース バックアップ操作の例について説明します。...

Tomcatを自動的に開始するサービスとして設定するにはどうすればいいでしょうか?最も簡単な方法

Tomcat が自動的にサービスを開始するように設定します。最近、問題が発生しました。サーバー上のプ...

MySQL データベースの基礎: 基本コマンドの概要

目次1. ヘルプ情報を使用する2. データベースの作成、削除、表示3. データベースに接続する4. ...

React 星評価コンポーネントの実装

要件は、製品の評価データを渡すことであり、ページには対応する星の数が表示されます。 1. 異なる評価...

SpringBoot + Vue プロジェクトを Linux サーバーにデプロイするための詳細なチュートリアル

序文SpringBoot + Vueのフロントエンドとバックエンドを分離したプロジェクトをどのように...

Linux nohup コマンドの原理と例の分析

nohup コマンドUnix/Linux を使用する場合、通常はプログラムをバックグラウンドで実行す...

HTML ページ内の js および css ファイルのキャッシュを自動的にクリーンアップします (バージョン番号を自動的に追加します)

Web プロジェクトの開発プロセスでは、CSS ファイルや JS ファイルを参照することがよくあり...

JavaScript 即時実行関数の使用状況分析

一般的に、関数は実行する前に呼び出す必要があることはご存じのとおりです。以下に示すように、関数を定義...

ネイティブ CSS で無限テキストカルーセルを実装する一般的な方法

テキストカルーセルは私たちの日常生活で非常に一般的です。スーパーマーケットや実店舗の入り口には、テキ...