Bioconductor パッケージのインストール

Last updated on 2025-07-22 | Edit this page

Overview

Questions

  • Bioconductor パッケージをどのようにインストールしますか?
  • インストールしたパッケージの新しいバージョンが利用可能かどうかを確認するにはどうすればよいですか?
  • Bioconductor パッケージをどのように更新しますか?
  • Bioconductor リポジトリから利用可能なパッケージの名前をどのように調べますか?

Objectives

  • BiocManager をインストールします。
  • Bioconductor パッケージをインストールします。

BiocManager


BiocManager パッケージは Bioconductor パッケージ リポジトリへのエントリ ポイントです。 技術的には、これは CRAN リポジトリで配布される唯一の Bioconductor パッケージです。

Bioconductor パッケージを安全にインストールし、利用可能な更新を確認するための関数を提供します。

パッケージがインストールされると、BiocManager::install() 関数を使用して Bioconductor リポジトリからパッケージをインストールできます。 この関数は、Bioconductor リポジトリ内にパッケージが見つからない場合、他のリポジトリ (例: CRAN) からパッケージをインストールすることも可能です。

BiocManager パッケージは CRAN リポジトリから利用可能で、Bioconductor リポジトリからパッケージをインストールするために使用されます。

BiocManager パッケージは CRAN リポジトリから利用可能で、Bioconductor リポジトリからパッケージをインストールするために使用されます。 基本 R パッケージ utilsinstall.packages() 関数を使用して、CRAN リポジトリで配布される BiocManager パッケージをインストールできます。 その後、BiocManager::install() 関数を使用して、Bioconductor リポジトリで利用可能なパッケージをインストールできます。 特に、BiocManager::install() 関数は、Bioconductor リポジトリでパッケージが見つからない場合、CRAN リポジトリにフォールバックします。

以下のコードを使用してパッケージをインストールします。

R

install.packages("BiocManager")
Callout

さらに進む

基本 R インストールの一部ではない多くのパッケージも、さまざまなリポジトリからパッケージをインストールするための関数を提供します。 たとえば:

  • devtools::install()
  • remotes::install_bioc()
  • remotes::install_bitbucket()
  • remotes::install_cran()
  • remotes::install_dev()
  • remotes::install_github()
  • remotes::install_gitlab()
  • remotes::install_git()
  • remotes::install_local()
  • remotes::install_svn()
  • remotes::install_url()
  • renv::install()

これらの関数は、このレッスンの範囲を超えており、特定の動作について充分な知識を持って注意して使用する必要があります。 一般的な推奨事項は、Bioconductor パッケージの正しいバージョン管理を確保するために、他のインストールメカニズムの上に BiocManager::install() を使用することです。

Bioconductor のリリースと現在のバージョン


BiocManager パッケージがインストールされると、BiocManager::version() 関数は現在の R セッションでアクティブな Bioconductor プロジェクトのバージョン (すなわちリリース) を表示します。

R

BiocManager::version()

OUTPUT

[1] '3.19'

R と Bioconductor パッケージの正しいバージョンを使用することは、再現性の重要な側面です。 BiocManager パッケージは、現在のセッションで実行されている R のバージョンを使用して、現在の R ライブラリにインストールできる Bioconductor パッケージのバージョンを決定します。

Bioconductor プロジェクトは、毎年 4 月と 10 月の 2 回のリリースを行います。 Bioconductor の 4 月のリリースは、R の年次リリースと一致します。 Bioconductor の 10 月のリリースは、次のリリース(4 月)まで、その年次サイクルのために同じバージョンの R を引き続き使用します。

選択された Bioconductor と R のバージョンのリリース日程。

選択された Bioconductor と R のバージョンのリリース日程。 タイムラインの上部には R プロジェクトのバージョンとおおよそのリリース日が示されています。 タイムラインの下部には Bioconductor プロジェクトのバージョンとリリース日が示されています。 出典: Bioconductor

各 6 か月のパッケージ開発サイクル中に、Bioconductor は次のリリースサイクルで利用可能になる R のバージョンとの互換性をチェックします。 その後、新しい Bioconductor リリースが生成されるたびに、Bioconductor リポジトリ内のすべてのパッケージのバージョンがインクリメントされます。これには Bioconductor プロジェクトのバージョンを決定する BiocVersion パッケージも含まれます。

R

packageVersion("BiocVersion")

OUTPUT

[1] '3.19.1'

これは、前のリリース以降まったく更新されていないパッケージにも当てはまります。 各パッケージの新しいバージョンは、対応する R のバージョン用に指定されています。 言い換えれば、そのパッケージのバージョンは、正しいバージョンの R を使用する R セッションでのみインストールおよびアクセスできます。 このバージョンのインクリメントは、Bioconductor パッケージの各バージョンを Bioconductor プロジェクトのユニークなリリースに関連付けるために不可欠です。

4 月のリリースに続いて、ユーザーは新しい Bioconductor パッケージのリリースを利用するために新しいバージョンの R をインストールする必要があります。

一方、10 月には、ユーザーは新しい Bioconductor パッケージのリリースを利用するために同じバージョンの R を使用し続けることができます。 ただし、4 月の Bioconductor リリースから 10 月の Bioconductor リリースに R ライブラリを更新するには、BiocManager::install() 関数を呼び出し、version オプションとして正しい Bioconductor のバージョンを指定する必要があります。たとえば:

R

BiocManager::install(version = "3.14")

これは 1 回だけ実行する必要があります。BiocVersion パッケージは対応するバージョンに更新され、現在の R ライブラリで使用している Bioconductor のバージョンを示します。

Callout

さらに進む

このレッスンの Discussion 記事には、Bioconductor プロジェクトのリリースサイクルに関するセクションが含まれています。

更新を確認する


BiocManager::valid() 関数は、ユーザーライブラリに現在インストールされているパッケージのバージョンを検査し、いずれかのパッケージの新しいバージョンが Bioconductor リポジトリで利用可能かどうかを確認します。

すべてが最新の場合、関数は単に TRUE を返します。

R

BiocManager::valid()

WARNING

Warning: 5 packages out-of-date; 0 packages too new

OUTPUT


* sessionInfo()

R version 4.4.3 (2025-02-28)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 22.04.5 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so;  LAPACK version 3.10.0

locale:
 [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8
 [4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8
 [7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C
[10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C

time zone: UTC
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] BiocStyle_2.32.1

loaded via a namespace (and not attached):
 [1] digest_0.6.37          assertthat_0.2.1       R6_2.6.1
 [4] fastmap_1.2.0          xfun_0.52              magrittr_2.0.3
 [7] glue_1.8.0             knitr_1.50             sandpaper_0.16.13.9000
[10] htmltools_0.5.8.1      rmarkdown_2.29         lifecycle_1.0.4
[13] xml2_1.3.8             ps_1.9.1               cli_3.6.5
[16] processx_3.8.6         callr_3.7.6            vctrs_0.6.5
[19] renv_1.1.4             withr_3.0.2            compiler_4.4.3
[22] purrr_1.1.0            tools_4.4.3            tinkr_0.3.0
[25] evaluate_1.0.4         yaml_2.3.10            BiocManager_1.30.26
[28] pegboard_0.7.9         rlang_1.1.6

Bioconductor version '3.19'

  * 5 packages out-of-date
  * 0 packages too new

create a valid installation with

  BiocManager::install(c(
    "httr2", "pillar", "purrr", "Rcpp", "RSQLite"
  ), update = TRUE, ask = FALSE, force = TRUE)

more details: BiocManager::valid()$too_new, BiocManager::valid()$out_of_date

便利なことに、更新できるパッケージがある場合、関数はそれらのパッケージを更新するために必要なコマンドを生成して表示します。 ユーザーは単にそのコマンドをコピーして R コンソールで実行する必要があります。

Callout

古くなったパッケージライブラリの例

以下の例では、BiocManager::valid() 関数は TRUE を返しませんでした。 その代わりに、アクティブなユーザー セッションに関する情報が含まれ、ユーザーが古いライブラリ内のすべての古いパッケージを最新バージョンに置き換えるために実行すべき BiocManager::install() への正確な呼び出しが表示されます。

> BiocManager::valid()

* sessionInfo()

R バージョン 4.1.0 (2021-05-18)
プラットフォーム: x86_64-apple-darwin17.0 (64-bit)
実行環境: macOS Big Sur 11.6

行列積: デフォルト
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

ロケール:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

添付された基本パッケージ:
[1] stats     graphics  grDevices datasets  utils     methods   base

名前空間を介して読み込まれたパッケージ (添付されていない):
[1] BiocManager_1.30.16 compiler_4.1.0      tools_4.1.0         renv_0.14.0

Bioconductor バージョン '3.13'

  * 18 パッケージが古くなっています
  * 0 パッケージが新しすぎます

以下のコマンドを実行して、有効なインストールを作成します。

  BiocManager::install(c(
    "cpp11", "data.table", "digest", "hms", "knitr", "lifecycle", "matrixStats", "mime", "pillar", "RCurl",
    "readr", "remotes", "S4Vectors", "shiny", "shinyWidgets", "tidyr", "tinytex", "XML"
  ), update = TRUE, ask = FALSE)

詳細: BiocManager::valid()$too_new, BiocManager::valid()$out_of_date

警告メッセージ:
18 パッケージが古くなっています; 0 パッケージが新しすぎます 

具体的には、この例では、メッセージがユーザーに次のコマンドを実行してインストールを最新の状態にするように指示しています。

  BiocManager::install(c(
    "cpp11", "data.table", "digest", "hms", "knitr", "lifecycle", "matrixStats", "mime", "pillar", "RCurl",
    "readr", "remotes", "S4Vectors", "shiny", "shinyWidgets", "tidyr", "tinytex", "XML"
  ), update = TRUE, ask = FALSE)

パッケージ リポジトリを探る


Bioconductor biocViews は、以前のエピソード Introduction to Bioconductor で示されたように、テーマに沿って Bioconductor パッケージの階層的分類をブラウズすることで新しいパッケージを発見する優れた方法です。

さらに、BiocManager::available() 関数は、Bioconductor および CRAN リポジトリからインストールできるパッケージ名の完全なリストを返します。 たとえば、BiocManager を使用してインストールできるパッケージの総数

R

length(BiocManager::available())

OUTPUT

[1] 26080

具体的には、現在の Bioconductor リポジトリと検索パス上の他のリポジトリの和集合を次のように表示できます。

R

BiocManager::repositories()

OUTPUT

                                                BioCsoft
           "https://bioconductor.org/packages/3.19/bioc"
                                                 BioCann
"https://bioconductor.org/packages/3.19/data/annotation"
                                                 BioCexp
"https://bioconductor.org/packages/3.19/data/experiment"
                                           BioCworkflows
      "https://bioconductor.org/packages/3.19/workflows"
                                               BioCbooks
          "https://bioconductor.org/packages/3.19/books"
                                             carpentries
                    "https://carpentries.r-universe.dev"
                                     carpentries_archive
                    "https://carpentries.github.io/drat"
                                                    CRAN
                           "https://cloud.r-project.org" 

各リポジトリの URL は Web ブラウザでアクセスでき、そのリポジトリから利用可能なパッケージの完全なリストが表示されます。 たとえば、https://bioconductor.org/packages/3.14/bioc に移動します。

Callout

さらに進む

BiocManager::repositories() 関数は、基本関数 available.packages() と組み合わせて、特定のパッケージリポジトリから利用できるパッケージを照会できます。たとえば、Bioconductor ソフトウェア パッケージ リポジトリです。

> db = available.packages(repos = BiocManager::repositories()["BioCsoft"])
> dim(db)
[1] 1948   17
> head(rownames(db))
[1] "a4"          "a4Base"      "a4Classif"   "a4Core"      "a4Preproc"
[6] "a4Reporting"

便利なことに、BiocManager::available() には pattern= 引数が含まれ、特に注釈リソースをナビゲートするために便利です (元のユースケースがその理由です)。 たとえば、マウスモデル生物に対して利用可能なさまざまな 注釈データパッケージ を次のようにリストできます。

R

BiocManager::available(pattern = "*Mmusculus")

OUTPUT

 [1] "BSgenome.Mmusculus.UCSC.mm10"        "BSgenome.Mmusculus.UCSC.mm10.masked"
 [3] "BSgenome.Mmusculus.UCSC.mm39"        "BSgenome.Mmusculus.UCSC.mm8"
 [5] "BSgenome.Mmusculus.UCSC.mm8.masked"  "BSgenome.Mmusculus.UCSC.mm9"
 [7] "BSgenome.Mmusculus.UCSC.mm9.masked"  "EnsDb.Mmusculus.v75"
 [9] "EnsDb.Mmusculus.v79"                 "PWMEnrich.Mmusculus.background"
[11] "TxDb.Mmusculus.UCSC.mm10.ensGene"    "TxDb.Mmusculus.UCSC.mm10.knownGene"
[13] "TxDb.Mmusculus.UCSC.mm39.knownGene"  "TxDb.Mmusculus.UCSC.mm39.refGene"
[15] "TxDb.Mmusculus.UCSC.mm9.knownGene"  

パッケージのインストール


BiocManager::install() 関数を使用して、パッケージをインストールまたは更新します。

この関数は、パッケージ名の文字列ベクトルを受け取り、Bioconductor リポジトリからこれらをインストールしようとします。

R

BiocManager::install(c("S4Vectors", "BiocGenerics"))

ただし、Bioconductor リポジトリでパッケージが見つからない場合、関数はグローバルオプション repos にリストされているリポジトリでこれらのパッケージも検索します。

Callout

貢献する!

BiocManager を使用してインストールできる非 Bioconductor パッケージの例を追加します。 できれば、このレッスンで後で使用されるパッケージです。

パッケージのアンインストール


Bioconductor パッケージは、基本 R 関数 remove.packages() を使用して、他の R パッケージと同様に R ライブラリから削除できます。 本質的に、この関数は単にインストールされたパッケージを削除し、必要に応じてインデックス情報を更新します。 その結果、そのパッケージをセッションに添付したり、そのパッケージのドキュメントを参照したりすることはできなくなります。

R

remove.packages("S4Vectors")
Key Points
  • BiocManager パッケージは CRAN リポジトリから利用可能です。
  • BiocManager::install() は、Bioconductor パッケージ (CRAN および GitHub からも) のインストールと更新に使用されます。
  • BiocManager::valid() は、利用可能なパッケージの更新をチェックするために使用されます。
  • BiocManager::version() は、現在インストールされている Bioconductor のバージョンを報告します。
  • BiocManager::install() は、特定の Bioconductor のバージョンに対して R ライブラリ全体を更新するためにも使用できます。