GEOquery库中的SQL查询

时间:2012-07-03 15:59:21

标签: r

我正在尝试从GEO db下载涉及“乳腺癌细胞系时间序列基因表达谱”的实验的所有条目。我正在使用GEOquery R包,我提交的查询如下:

> sql <- paste("SELECT DISTINCT gse.title,gse.gse", "FROM", 
               " gsm JOIN gse_gsm ON gsm.gsm=gse_gsm.gsm", 
               " JOIN gse ON gse_gsm.gse=gse.gse", 
               " JOIN gse_gpl ON gse_gpl.gse=gse.gse", 
               " JOIN gpl ON gse_gpl.gpl=gpl.gpl", "WHERE", 
               " gsm.molecule_ch1 like '%total RNA%' AND", 
               " gse.title LIKE '%breast cancer cell lines time series gene expression profiles%' AND",  
               " gpl.organism LIKE '%Homo sapiens%'",  sep = " ")

>rs <- dbGetQuery(con, sql)

现在,输出是1个数据集。它似乎太少而且错误,因为我们当然知道已经对乳腺癌细胞系进行了大量的时间序列实验。我想,我在sql查询中错误地在“标题”中犯了一个错误。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您的查询查找子字符串 breast cancer cell lines time series gene expression profiles: 这些词必须完全按照这个顺序出现,中间没有任何内容。 例如,您可以尝试拆分它(您可能需要进一步拆分):

    gse.title LIKE '%breast cancer cell lines%'
AND gse.title LIKE '%time series%'
AND gse.title LIKE '%gene expression profiles%'

对于某些数据库,LIKE区分大小写: 在这种情况下,ILIKE可能更合适。