スキップしてメイン コンテンツに移動

Bioconductor には S4 で書かれたコードがどのぐらいあるのか

「シリーズ: 良質なR package のコードを読むよ」の第3回目です。

前回までのあらずじ


前回は BioC のコードを得る方法について書きました。

第2回: Bioconductor のソースコードを得る
第1回: Bioconductor のパッケージについて知る

なにをするか?


どのパッケージを読むのか決めます。S4のパッケージを読みたいのでそれを探します。

S4パッケージを探す


S4 なのでソースコードに setClass があるはず。package/R/*.R のなかに setClass が出てくるコードを探します。
[code]
grep setClass */R/*.R |ruby -lane 'puts $_.split(/\//)[0]' |sort -u|less -S
ACME
AffyCompatible
AnnBuilder
AnnotationDbi
ArrayTools
BCRANK
BSgenome
BioMVCClass
Biobase
Biostrings
BiostringsCinterfaceDemo
BufferedMatrix
CALIB
CAMERA
CGHbase
CGHcall
CNTools
Category
ChIPseqR
ChromHeatMap
DEGseq
DESeq
DFP
DNAcopy
DynDoc
EBImage
EBarrays
GEOquery
GGBase
GGtools
GOstats
GSEABase
GeneAnswers
GeneRegionScan
GeneSpring
GeneTraffic
GeneticsBase
GenomeGraphs
GenomicFeatures
GenomicRanges
Genominator
HTqPCR
IRanges
KCsmart
KEGGgraph
LiquidAssociation
MEDME
MLInterfaces
MVCClass
MassArray
MergeMaid
MotIV
PAnnBuilder
PCpheno
PGSEA
PICS
PatientGeneSets
RMAGEML
ROC
RPA
RTCA
RTools4TB
RWebServices
Ratlpow
ReadMatcher
Rgraphviz
Ringo
Rmagpie
RmiR
Rolexa
RpsiXML
Rredland
Rrsat
Rsamtools
Rswub
Rtreemix
Ruuid
SAGx
SLGI
SMAP
SNPchip
SSPA
SamSPECTRAL
ScISI
ShortRead
SpeCond
TargetSearch
XDE
affy
affyILM
affyMvout
affyPLM
affyPara
altcdfenvs
annaffy
annotate
arrayMvout
attract
baySeq
beadarray
beadarraySNP
biocSurvey
biocViews
biomaRt
caFlowQ
cellHTS2
cghMCR
clippda
clusterStab
codelink
cosmo
crlmm
ddCt
domainsignatures
dualKS
edd
edgeR
eisa
eqtlTools
exonmap
externalVector
fabia
flagme
flowClust
flowCore
flowFP
flowFlowJo
flowMeans
flowMerge
flowNorm
flowQ
flowStats
flowUtils
genArise
genefilter
genomeIntervals
girafe
globaltest
graph
hexbin
hopach
hyperdraw
hypergraph
idiogram
imageHTS
limma
lumi
maDB
maigesPack
makecdfenv
marray
metahdep
methylumi
miRNApath
multtest
ncdfExts
oligoClasses
ontoTools
pathRender
pcaMethods
pdInfoBuilder
pgUtils
pint
plateCore
prada
puma
qpcrNorm
rGADEM
rMAT
rdxml
rfcprim
rflowcyt
rnaSeqTests
rsbml
rtracklayer
safe
segmentSeq
seqLogo
siggenes
simpleaffy
smoothMiner
snapCGH
snpMatrix
spkTools
splicegear
stepNorm
tigre
tilingArray
timecourse
tkWidgets
topGO
vsn
widgetTools
xcms
xmapbridge
xps
yaqcaffy
[/code]

ちなみに、すべてのパッケージ 434 個のうち、197 個が S4 で書かれているようです。このうちのどれかを読んでいきます。

続きます。いいかげんコード読めw

コメント

  1. [...] のパッケージについて知る 第2回: Bioconductor のソースコードを得る 第3回: Bioconductor には S4 で書かれたコードがどのぐらいあるのか 第4回: R package の構造 ← R package [...]

    返信削除

コメントを投稿

このブログの人気の投稿

シーケンスアダプタ配列除去ツールまとめ

FASTQ/A file からシーケンスアダプター配列やプライマー配列を除くためのプログラムをまとめてみる。 まず、配列の除去には大別して2つの方向性がある。ひとつは、アダプター配列を含む「リード」を除いてしまう方法。もうひとつは除きたい配列をリードからトリムする方法である。後者のほうが有効リードが増えるメリットが、綺麗に除ききれない場合は、ゲノムへのマップ率が下がる。 気をつける点としては、アダプター/プライマーの reverse complement を検索するかどうか。paired end の際には大事になる。クオリティでトリムできるものや、Paired-end を考慮するものなどもある。アダプター/プライマー配列の文字列を引数として直接入力するものと、multi fasta 形式で指定できるももある。 From Evernote: シーケンスアダプタ配列除去ツールまとめ TagDust http://genome.gsc.riken.jp/osc/english/software/src/nexalign-1.3.5.tgz http://bioinformatics.oxfordjournals.org/content/25/21/2839.full インストール: curl -O http://genome.gsc.riken.jp/osc/english/software/src/tagdust.tgztar zxvf tagdust.tgz cd tagdust/ make sudo make install rehash 使いかた: tagdust adapter.fasta input.fastq -fdr 0.05 -o output.clean.fastq -a output.artifactual.fastq 解説: 入出力形式は fastq/a が使える。リード全体を除く。速い。アダプター配列を fasta 形式で入力できるのが地味に便利で、これに対応しているものがなかなかない。Muth–Manber algorithm (Approximate multiple ...

ふりかえり

2013年4月に独立して7年目が終わろうとしている。ざっくりこれまでの研究を振り返る。 2013年から2017年の4年はフルスタックのゲノム科学、ゲノムインフォのラボを立ち上げることに集中していた。しかも人様が作った技術のユーザとして研究するのではなく、新しい技術を開発できるラボを目指した。ウェットの開発については、ドライのPIであっても本物を創りたいと考えたので世界最強や唯一の技術を目指した。特に1細胞ゲノム科学に注力した。そのためにまずグラントを取り仲間を集め技術を作った。幸いウェットは元同僚を中心に、ドライはドクター新卒の優秀な人材に囲まれた。並行して開発した実験やデータ解析技術を応用するため、データ生産や共同研究を支えるチームも作った。 2015年ぐらいからドライの論文が少しずつ出始め、2018年にはウェットのフラッグシップとなる技術RamDA-seqとQuartz-Seq2の2つ出版された。2021年1月現在、これらはそれぞれ世界唯一と世界最高性能の2冠である。これが達成できた大きな理由のひとつは、反応原理を徹底的に理解し制御するというチームやそのメンバーの特性にある。ここは世界最高レベルだと確信している。 2017-2018年はラボの移転がありウェットの開発や実験が大きく停滞した。その間ドライのチームががんばってくれて2019-2020年にはドライ研究の収穫の時期がきた。またRamDA-seqの試薬キット化・装置化、Quartz-Seq2とそのデータ解析技術での起業、実験試薬や道具の上市など社会実装の年でもあった。実験が少なくなった分、ウェットのメンバーの解析技術がかなり向上した時期でもある。これはウェットとドライがうまくコミュニケーションできる証拠でもある。 2019-2020年はウェット技術のフラッグシップを駆使した共同研究がいくつか花咲いた。主に「再生医療分野」への応用と「細胞ゆらぎと転写制御の謎」に迫る基礎的なテーマが対象で、もともと1細胞ゲノム科学を始めたときに目標としたものだった。 並行してゲノムデータの科学計算環境のインフラ開発に注力してきた。beowulf型PCクラスタからクラウドの移行やハイブリッド化、DevOpsによる自動構築、ワークフロー言語の導入、動的レポート生成などの導入・開発を行いこれらを日常的に使うラボになった。これらはNI...

bioconductor.jp 作ったよ

Bioconductor はバイオインフォマティクス向けのRパッケージ集ですが、解析用のソースコード以外にも、アノテーションやゲノム配列、実験データなどの「データ」も含まれています。これらのデータはそれなりのデータサイズになります。ソースコードはそれほどストレスないのですが、データのインストールでは、シアトルにある本家サーバがちょっと遠く感じます。 解析やパッケージ開発している途中に、他のパッケージのコードを読みたくなることが多々あります。そのたびにダウンロードするのが面倒なので、bioconductor package repository を個人的にローカルへミラーをしていました。 せっかくですので、このミラーを公開することにしました。国内からだと結構速いと思います。ミラーリングは毎晩しています。 bioconductor 日本ミラーの使いかたは以下の通り。 追記 (2012/04/03) : 以下のやりかたではなく、こちらの方法で簡単にできるようになりました。 bioconductor.jp が R 本体の chooseBioCmirror() に取り込まれたよ これを毎度入力するのも面倒なので、~/.Rprofile を以下のようにしておくと便利です。 そのうち、R の chooseBioCmirror() に組み込まれる予定ですが、こちらは、R core team が管理しているコードに追加しなければならないので、手続きに少し時間がかるそうです。 ミラーリングの件については、Bioconductor developer team へ知らせてあります。こちらをご参照ください。 http://bioconductor.org/about/mirrors/ 追記: (2012/03/27) 統数研にも bioconductor のミラーがありました。こちらも毎日ミラーされているようです。http://bioc.ism.ac.jp/