x <- c("1100", "0010", "1001", "1111") pattern <- "001|100|000" grep(pattern, x) [1] 1 2 3
October 21, 2020
R:複数の文字列をgrep関数で探す
こちらのwebページを参考にした。
October 6, 2020
October 2, 2020
R:ヒートマップを作成する方法
ヒートマップを作成するコードの一つを、忘備録として記す。
いつもながら、working directoryの場所にご注意いただきたい。今回の場合は、CELファイルが置いてあるファイルに設定している。
R:計算が強制終了するときの対処法
Rで高負荷な計算を行った際に、以下のようなエラーが出て計算が止まってしまった。
Error: vector memory exhausted (limit reached?)
この問題には、こちらのサイトを参考にして対処した。
具体的には、まずターミナルを開いて以下のコマンドを実行する。
cd ~
touch .Renviron
open .Renviron
そして、(自動的に)開かれた文書に
R_MAX_VSIZE=100Gb
と入力して保存する。
以上の操作によって解決した。
July 29, 2020
R:記号を含む文字列を検索する際の注意点
Rで記号を含む文字列を扱う際には、正規表現に注意が必要だ。
例えば、以下の文字列strから、(12)の場所を探すことを考える。
grepやstr_matchで"(12)"を検索にかけると、"(123)"まで選ばれてしまう。
[1] 1 2
これは、rの正規表現(Regular expression)に則ると括弧が認識されないので、実質的に"12"で検索している状態となっていることが原因である。
ここで(12)だけを抽出するためには、
1. 括弧を"\\("または"\\)"で表現する または、
2. "\\b"で境界を作る と良い。
[1] 1
[1] 1
(追記)
fixed = TRUE を挿入すると、正規表現ではない文字として扱ってもらえる。
[1] 1
例えば、以下の文字列strから、(12)の場所を探すことを考える。
str <- c("(12)", "(123)", "(132)")
grepやstr_matchで"(12)"を検索にかけると、"(123)"まで選ばれてしまう。
grep("(12)", str)
これは、rの正規表現(Regular expression)に則ると括弧が認識されないので、実質的に"12"で検索している状態となっていることが原因である。
ここで(12)だけを抽出するためには、
1. 括弧を"\\("または"\\)"で表現する または、
2. "\\b"で境界を作る と良い。
grep("\\(12\\)", str)
grep("\\b(12)\\b", str)
(追記)
fixed = TRUE を挿入すると、正規表現ではない文字として扱ってもらえる。
grep("(12)", str, fixed = TRUE)
July 22, 2020
R:Shiny serverのパッケージ設定
ubuntuでShiny serverを設定する際には、パッケージのインストールに気を付けなければならない。
shinyが参照するライブラリの場所は /usr/lib/R/site-library または /usr/lib/R/library になる。ここはroot権限の場所になるため、以下のようにターミナルからRを経由して(RStudioは使わずに)パッケージをインストールする。
sudo su - -c "R -e \"install.packages('foo')\""
/srv に置かれたプログラムを実行する際は、ローカルに置かれたパッケージ(例えば /home/{user}/R/x86_64-pc-linux-gnu-library/4.0)を参照することができない。
これは、以下の方法では解消できなかった (少なくとも自分の環境では)。
失敗試行1. chownコマンドを使って、上記のフォルダにshiny(ユーザー)がアクセスできるようにする
失敗試行2. /etc/shiny-server/shiny-server.conf にアクセスし、run_as をshinyではなく自分の名前に変更するshinyが参照するライブラリの場所は /usr/lib/R/site-library または /usr/lib/R/library になる。ここはroot権限の場所になるため、以下のようにターミナルからRを経由して(RStudioは使わずに)パッケージをインストールする。
sudo su - -c "R -e \"install.packages('foo')\""
July 17, 2020
R:パッケージのアップデート
Rのパッケージをアップデートしたい場合は、Rのコンソールより
でライブラリの場所を確認する。パッケージがの場所がおそらく複数表示される。
アップデートしたいパッケージが入っている場所を確認し、例えば1番最初の場所だったら
とコマンドする。この操作によって、パッケージを簡単にまとめてアップデートできる。
パッケージごとにアップデートするかどうかを聞かれるのを防ぎたい場合は、以下のオプションを入れると良い。
ちなみに、個別にパッケージをインストールする場合は、こちらのページが参考になる。
*****
また、今回Ubuntu18.04においてパッケージのアップデートを行ったところ、以下のようなエラーが出てインストールが止まった。
In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package ‘plotly’ had non-zero exit status
この原因は、元のフォルダに古いパッケージが残っていることであった。
そこで、以下の手順で解消された。
1) パッケージが置かれている場所の権限を変える。
2) 古いパッケージを消す
3) インストールし直す
.libPaths()
でライブラリの場所を確認する。パッケージがの場所がおそらく複数表示される。
アップデートしたいパッケージが入っている場所を確認し、例えば1番最初の場所だったら
update.packages(.libPaths()[1])
とコマンドする。この操作によって、パッケージを簡単にまとめてアップデートできる。
パッケージごとにアップデートするかどうかを聞かれるのを防ぎたい場合は、以下のオプションを入れると良い。
update.packages(.libPaths()[1], ask = FALSE)
ちなみに、個別にパッケージをインストールする場合は、こちらのページが参考になる。
*****
また、今回Ubuntu18.04においてパッケージのアップデートを行ったところ、以下のようなエラーが出てインストールが止まった。
In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, : installation of package ‘plotly’ had non-zero exit status
この原因は、元のフォルダに古いパッケージが残っていることであった。
そこで、以下の手順で解消された。
1) パッケージが置かれている場所の権限を変える。
sudo usermod -a -G staff your_user_name sudo chown -R your_user_name:staff /user/local/lib/R/site-library
2) 古いパッケージを消す
3) インストールし直す
July 10, 2020
R:異なるモード型の行列をまとめる
異なるモード型の行列があるとき (c1: character, c2: numeric)
cbindで結合すると、数字のモード型が文字に変換されてしまう。
[1] "character"
この問題は、データフレームに収めることで解決する。
[1] "numeric"
c1 <- matrix(c("a","b","c"), nrow=3, ncol=1) c2 <- matrix(c(1:3), nrow=3, ncol=1)
cbindで結合すると、数字のモード型が文字に変換されてしまう。
mat <- cbind(c1,c2) mode(mat[2,2])
この問題は、データフレームに収めることで解決する。
df <- data.frame(c1,c2) mode(df[2,2])
June 29, 2020
R:複数のCELファイルを読み込む
ワーキングディレクトリ内にある複数のCELファイルの名前を、以下のような文字列ベクトルに収めている際
AffyパッケージのReadAffy関数で読もうとすると失敗してしまう
→ Error : file names must be specified using a character vector, not a ‘list’
このエラーは、以下のようにして解決する
cel_file <- c("a1.CEL", "a2.CEL", "a3.CEL")
AffyパッケージのReadAffy関数で読もうとすると失敗してしまう
cel_dat <- ReadAffy(cel_file)
このエラーは、以下のようにして解決する
cel_dat <- ReadAffy(filenames = cel_file)
June 15, 2020
R:freadで読み込んだファイルに行名をつける
Rで大規模なデータを読む際は、data.tableパッケージのfread関数を使うと時間を短縮できて良い。
しかし、そのデータには行名を付けられないため、以下の様な作業が必要になる。
しかし、そのデータには行名を付けられないため、以下の様な作業が必要になる。
1 2 3 4 | data <- fread("file.csv", stringsAsFactors = FALSE) data <- as.data.frame(data) row.names(data) <- as.matrix(data[,1]) data <- data[,-1] |
June 2, 2020
GSEA解析 (データのフィルタリング; 半数が閾値より大きい)
GSEAでフィルタリングしたデータを用意するコードを作成したので共有する。
今回の条件は、「半数以上のサンプルにおける発現が閾値 (min.thrd)より大きい遺伝子を残す」というもの。
実行したら以下が生成される
・フィルタリング無しの発現ファイル(XX.txt)
・フィルタリング有りの発現ファイル(XX_HalfisLarger_(min.thrd).txt)
・表現型ファイルのひな型(XX.cls) ※要編集
このプログラムにおいても、Working directoryがCELファイルと同じ場所になっていることが前提になっている。
主な変更点に関する注釈をマゼンタ色で表示している。
今回の条件は、「半数以上のサンプルにおける発現が閾値 (min.thrd)より大きい遺伝子を残す」というもの。
実行したら以下が生成される
・フィルタリング無しの発現ファイル(XX.txt)
・フィルタリング有りの発現ファイル(XX_HalfisLarger_(min.thrd).txt)
・表現型ファイルのひな型(XX.cls) ※要編集
このプログラムにおいても、Working directoryがCELファイルと同じ場所になっていることが前提になっている。
主な変更点に関する注釈をマゼンタ色で表示している。
June 1, 2020
GSEA解析 (データのフィルタリング; 全てが閾値より大きい)
GSEAでフィルタリングしたデータを用意するコードを作成したので共有する。
条件は、「すべてのサンプルにおける発現が閾値 (min.thrd)より大きい遺伝子を残す」というもの。
実行したら以下が生成される
・フィルタリング無しの発現ファイル(XX.txt)
・フィルタリング有りの発現ファイル(XX_filtered_(min.thrd).txt)
・表現型ファイルのひな型(XX.cls) ※要編集
このプログラムにおいても、Working directoryがCELファイルと同じ場所になっていることが前提になっている。
主な変更点に関する注釈をマゼンタ色で表示している。
条件は、「すべてのサンプルにおける発現が閾値 (min.thrd)より大きい遺伝子を残す」というもの。
実行したら以下が生成される
・フィルタリング無しの発現ファイル(XX.txt)
・フィルタリング有りの発現ファイル(XX_filtered_(min.thrd).txt)
・表現型ファイルのひな型(XX.cls) ※要編集
このプログラムにおいても、Working directoryがCELファイルと同じ場所になっていることが前提になっている。
主な変更点に関する注釈をマゼンタ色で表示している。
May 19, 2020
May 14, 2020
GSEA解析 (データの準備方法)
Affymerix社のCELファイルを元にGSEA解析をする際のデータ準備方法について書く。
前提として
前提として
- Rを使う
※ Rのインストールに関しては、門田先生のwebサイトに書かれている。その中で紹介されている、必要最小限のパッケージをインストールしておくと便利
※ エディタにはRstudioが便利 - CELファイルは3' Expression Arrayで取得されたもの
※ 比較的新しい、HTAやGene STで取得されたデータに関しては、oligoというパッケージを用いてデータを抽出する
May 11, 2020
May 1, 2020
GSEA解析 (実行方法)
April 14, 2020
Chipsterを用いてマイクロアレイ解析 (正規化・QC)
Chipsterとは
ChipsterはフィンランドのCSC – IT Center for Science社によって開発された、NGSやマイクロアレイを解析するソフトウェア。利用方法は大まかに二通りある;
- Chipsterのサーバーをローカルにセットアップする。この場合は、サービスを無料で利用できる。
- セットアップするPCの推奨スペック;
- 16 GB RAM
- 500 GB storage
- 2 CPU cores
- CSCのChipsterサーバー@フィンランドを利用する
- 大学やNPO所属の場合、無料で三週間利用できるアカウントを取得できる
また、長期間利用の場合は、1年間使えるアカウントを500ユーロで取得できる
April 6, 2020
Databases
データベース一覧
追加事項
(10/9/2021) 「4. 疫学関連」にcellosauruseを追加、「5.バイオインフォマティクス全般」の項を追加
(8/9/2021) 「4. 疫学関連」にDRIVE DATA PORTALを追加
(8/9/2021) 「CCLE」はDepMapに統合されたため、削除線を引きました
(10/7/2020) 「4. 疫学関連 」にサイト(Cell Model Passport)を追加
(22/5/2020) 「1. 塩基配列関連 > 遺伝子発現 」、「4. 疫学関連 > 生存率分析」にサイトを追加
(10/7/2020) 「4. 疫学関連 」にサイト(Cell Model Passport)を追加
(22/5/2020) 「1. 塩基配列関連 > 遺伝子発現 」、「4. 疫学関連 > 生存率分析」にサイトを追加
(21/5/2020) 「2. タンパク質関連 > メタボローム関連」、「4. 疫学関連 > 生存率分析」の項を追加
Subscribe to:
Posts (Atom)