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

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

このブログの人気の投稿

Quartz-Seqで1細胞/微量RNA-Seqを始めたい方へ

はじめに 新しい高精度な1細胞RNA-Seq, Quartz-Seq論文を出してから、各方面から多く相談を受けています。
Sasagawa Y and Nikaido I, et. al. Quartz-Seq: a highly reproducible and sensitive single-cell RNA-Seq reveals non-genetic gene expression heterogeneity. Genome Biology. 14. 2013 
そこで、新しく1細胞RNA-Seqを始める方へ、僕達が理想だと考えている技術導入の手順を紹介したいと思います。また我々の方法は1細胞(6-14 pg Total RNA)だけでなく pg-ng オーダーの少量RNAからシーケンスが可能です。そのような方も以下の手順が参考になると思います。 0. 1細胞/微量RNA-Seqが本当に必要なのか検討する 1細胞/微量RNA-Seqでは、現時点でQuartz-Seqが世界最高の性能を持っている訳ですが、十分なサンプルを用意し、通常のRNA-Seqしたほうが、より精度の高いデータが得られます。なので、基本的には、サンプルをたくさん集める方法をしっかり検討すべきです。まずは、戦略面と技術面で1細胞/微量RNA-Seqが本当に必要かを検討する基準について書きます。 0.1. 戦略面での検討 あなたが抱えているプロジェクトが、1細胞/微量RNA-Seqでなければアプローチできないかどうかを問い直すことが重要です。
基本的には以下の2つの状況で、1細胞/微量RNA-Seqが役に立ちます。
a. 細胞状態が連続的に変化し、さまざまな細胞状態が、細胞集団に含まれている場合 (振動現象、ゆらぎなど) b. 細胞状態を特定するマーカーがほどんどわかっていない場合
最初から細胞状態が2状態しかないことが明らかで、しかも細胞状態を代表する遺伝子が分かっている、という状況では、FACSなどで cell sorting し、目的の細胞を採取することを考えるべきです。そして、微量RNA-Seqや通常のRNA-Seqで、しっかりと biological replication を取る方が良いでしょう。微量になると、テクニカルなノイズが増えるために、生物学的な差を知るためには、n を…

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

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 string search) を利用。FDRを指定できる。GPL3