發表這個算法的文章是:Clinical drug response can be predicted using baseline gene expression levels and in vitro drug sensitivity in cell lines 發表時間是:Genome Biology 2014https://doi.org/10.1186/gb-2014-15-3-r47
主頁: CGP website 是 Genomics of Drug Sensitivity of Cancer (GDSC)計劃的數據
The CGP gene expression data are available from ArrayExpress under accession number E-MTAB-783.
The IC50 data for the drugs is available from the CGP website
Curve fitting code is now available as an R package – gdscIC50 – available on GitHub.
所有的關于這些癌癥細胞系的各種數據,都可以在 ftp://ftp.sanger.ac.uk/pub4/cancerrxgene/releases 下載到。
病人對藥物的反應情況通常是一個很復雜的現象,由遺傳因素和環境共同決定著。所以研究者通常認為我們要想預測藥物作用就得收集盡可能的的信息,比如使用全基因組范圍的snp信息來預測復雜性狀,但是癌癥患者有個特性,就是他們的染色體通常是非整倍體,所以從腫瘤樣本里面測序得到可靠的基因型其實是比較困難的。相反,量化所有基因表達情況是很容易的事,問題在于,通過芯片來量化基因表達情況的重復性不太好,尤其是不同公司的芯片。
作者選取了Cancer Genome Project (CGP) 數據庫里面收錄的 700多種細胞系的 138 種藥物的作用情況,開發了算法,而且在 4 個符合要求的數據集里面驗證了可靠性。
第一步,把兩個表達矩陣合并,就是Training (cell lines) and test (clinical trial) datasets ,通過sva包的ComBat()函數,去除低表達量基因以及低變化量基因。
第二步,使用 ridge包的linearRidge()函數做嶺回歸分析,其中藥物敏感性的IC50值需要用car包的powerTransform函數進行轉換,根據訓練集的數據把模型構建成功就可以使用 predict.linearRidge() 來預測測試集的病人的藥物反應情況了。
第三步,留一交叉驗證,每次假裝不知道一個細胞系的藥物反應情況,用其它的所有的細胞系數據來預測它。最后把預測值和真實值做相關性分析。
第四步,使用glmnet包做ElasticNet and Lasso 回歸
第五步,藥物敏感性分成sensitive (15 samples) or resistant (55 samples) 兩個組別,做 logistic ridge 回歸。
wget http://genemed.uchicago.edu/~pgeeleher/cgpPrediction/paper.zip
## (161M)
unzip paper.zip
cd paper/docetaxelAnalysis/
R
Sweave("docetaxelBreastCancer.Snw")
上面的代碼就會生成信息的文檔,描述作者的數據處理步驟。
首先需要R, RStudio, Latex相應組件,RStudio里的kintr包。 File-> New File -> R Sweave 里創建rnw文件
4個有著明確藥物處理記錄的數據;
The docetaxel data are available from GEO under accession numbers [GEO:GSE349] and [GEO:GSE350].
The cisplatin data are available from ArrayExpress under accession number E-GEOD-18864.
The bortezomib data are available from GEO under accession number [GEO:GSE9782].
The erlotinib data are available from GEO under accession number [GEO:GSE33072].
強烈建議下載paper.zip文件把里面的代碼都仔細瀏覽。