8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RAdvent Calendar 2019

Day 3

Bioconductor登録数ランキング

Last updated at Posted at 2019-12-02

Rのパッケージリポジトリは、CRANBioconductorに大別される。

CRANの内容は多岐にわたるが、Bioconductorは特に生命科学に特化したものが登録される。

CRANの方で、過去にCRAN に R パッケージを登録している日本人まとめ #rstatsjで、日本人だけを集計したことがあったらしいが、ここでは、Bioconductorの開発者のリストを作成して、ランキングを行った。

↓書いたコード

library(js)
library(rjson)
library(RCurl)
library(DT)

software <- getURL("https://www.bioconductor.org/packages/json/3.10/bioc/packages.js")
annotation <- getURL("https://www.bioconductor.org/packages/json/3.10/data/annotation/packages.js")
experiment <- getURL("https://www.bioconductor.org/packages/json/3.10/data/experiment/packages.js")
workflow <- getURL("https://www.bioconductor.org/packages/json/3.10/workflows/packages.js")

# Parse
software <- unlist(lapply(fromJSON(esprima_parse(software))[[2]][[1]]$declarations[[1]]$init$properties[[1]]$value$elements
, function(x){x$elements[[2]]$value}))
annotation <- unlist(lapply(fromJSON(esprima_parse(annotation))[[2]][[1]]$declarations[[1]]$init$properties[[1]]$value$elements
, function(x){x$elements[[2]]$value}))
experiment <- unlist(lapply(fromJSON(esprima_parse(experiment))[[2]][[1]]$declarations[[1]]$init$properties[[1]]$value$elements
, function(x){x$elements[[2]]$value}))
workflow <- unlist(lapply(fromJSON(esprima_parse(workflow))[[2]][[1]]$declarations[[1]]$init$properties[[1]]$value$elements
, function(x){x$elements[[2]]$value}))

# Remove e-mail address
software <- gsub(" *<.*@.*", "", software) # 1823
annotation <- gsub(" *<.*@.*", "", annotation) # 953
experiment <- gsub(" *<.*@.*", "", experiment) # 385
workflow <- gsub(" *<.*@.*", "", workflow) # 27
total <- c(software, annotation, experiment, workflow)
ranking <- sort(table(total), decreasing=TRUE)
ranking <- cbind(names(ranking), unlist(ranking))
rownames(ranking) <- seq(nrow(ranking))

# Save
write.table(ranking, "ranking.txt",
	row.names=FALSE, col.names=FALSE, quote=FALSE)

# Visualize
datatable(ranking)

ランキング結果は、以下のようになった。

スクリーンショット 2019-11-16 12.02.52.png

長い間、自分はBioconductor Package Maintainer(Bioconductorのコアチーム)以外で、個人としては自分が一番パッケージを登録していると思っていたが、一人だけ自分よりもパッケージを登録している人がいた(Benilton Carvalho)。マイクロアレイのアノテーションパッケージをプラットフォームごとに登録しているらしい。自分はMeSH.XXX.eg.dbで生物種ごとにパッケージを登録していたから、ピーク時には125個登録されていたが、それでも向こうの方がやや多いので、ちょっと悔しい。

DESCRIPTIONファイルに、住所を書く項目が無いため、この先日本にいる人だけをシステマティクにパースする方法が思いつかなかったが、全部目を通した感じだと、Y-h. Taguchi、Itoshi NIKAIDOぐらい?で、その他に日本人ぽい名前の人は見つからなかった。あとCellTreeのDavid duVerleさんは東大津田研だし、HiLDAのZhi Yangさんは国がんの白石さん関係だし、日本にいたり、日本のプロジェクトに関係している外国人を含めるともう少しいると思われる。

同じことをCRANでもやろうかと思ったが、ちょっとMaintainerのところだけをパースするのがめんどくさそうだったので、誰かやってみて欲しい。
https://cran.r-project.org/web/packages/available_packages_by_date.html

CRANと比較して、Bioconductorに登録する日本人が少ないため、みんなでパッケージングして、Bioconductorに登録するBio"Pack"athonという活動を始めたので、興味がある方はぜひ参加登録をお願いします。

男の価値は作ったパッケージで決まる...良い言葉デスネ^^

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?