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つの主要なフロントエンド技術の詳細説明

推薦する

JS変数ストレージのディープコピーとシャローコピーの詳しい説明

目次可変タイプとストレージスペーススタックメモリとヒープメモリ基本的なデータ型参照タイプグラフィック...

Dockerイメージ送信コマンドcommitの動作原理と使い方の詳細な説明

ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...

Vueでアイコンをカスタマイズする手順

ant-design-vue は Ali iconfont icons の使用をカスタマイズします\...

デザイン理論: テキストの読みやすさと可読性

<br />少し前に、ビジネス上の必要性から、ラップトップに Souba をインストール...

ミニプログラムの基本的な使用方法の知識ポイント(非常に包括的で、お勧めです!)

目次アプリを登録するときに何をすればよいですか?ページを登録するときに通常何をする必要がありますか?...

全文検索とキーワードスコアリング方式のMySQL実装例

1. はじめに今日、同僚から、MySQL を使用して ElasticSearch に似た全文検索機能...

VMware 仮想マシンの 3 つのネットワーク方式と原則 (概要)

1. ブリッジ: デフォルトでは VMnet0 が使用されます1. 原則:ブリッジは、それぞれ 2...

MySql で正規表現クエリを使用する方法

正規表現は、特定のパターンに一致するテキストを検索および置換するためによく使用されます。たとえば、テ...

docker を使用してコード サーバーをデプロイする方法

画像をプルする # docker pull codercom/code-server # Docke...

MySQL サーバー 5.5 の接続失敗の解決策

mysqlに接続できない問題の解決方法を参考までに紹介します。具体的な内容は以下のとおりです。昨日は...

HTML の POST リクエストにおける a タグの 2 つの使用法の分析

HTML POST リクエストで a タグを使用する 2 つの例を次に示します。 1. ajaxを使...

12個のJavascriptテーブルコントロール(DataGrid)が整理されています

DataGrid コントロールの DataSource プロパティがデザイン時に設定されている場合、...

vue.js を使用してドラッグ アンド ドロップ機能を実装する方法

序文ドラッグ アンド ドロップ機能を追加すると、プログラムがより自然でユーザーフレンドリーになります...

jQuery Ajax チャットボットの実装事例

チャットボットは多くの手作業を省くことができ、顧客サービス、天気予報対応など、さまざまな状況で使用で...

ElementUI ページネーション コンポーネントの使い方 Vue でのページネーション

ElementUIページングコンポーネントPagination in Vueの使用は参考になります。...