2013-05-24 3 views
2

2 개의 시리즈 행렬이 포함 된 GSE 세트로 작업 중이며 모든 것을 리마에서 사용할 수 있도록 표현 세트로 변환하고 싶습니다. 나는 다음과 같은 오류 얻을 플랫폼 확인하기 위해 GSM 목록에 액세스하려고하면GEOquery에서 GSM 목록에 액세스 할 수 없습니다. R

> gse <- getGEO('GSE16560', GSEMatrix = T) 

: 나는 다음과 같은 명령을 사용하여 GSE를로드 한 지금까지

> GSMList(gse) 
Error in (function (classes, fdef, mtable) : 
    unable to fin an inherited method for function 'GSMList' for signature '"list"' 

을, 나는의 크기를 확인 gse 객체와 그것은 NULL이 아니므로 도움이되지 않습니다. 또한 목록이 아닙니다. 또한 'Meta (gse)'를 호출하면 같은 오류가 발생합니다. 나는이 데이터 구조와 R에 비교적 익숙하기 때문에 누군가가 올바른 방향으로 나를 가리킬 수 있다면 거대한 도움이 될 것입니다.

+0

[Bioconductor 메일 링리스트] (http://bioconductor.org/help/mailing-list/mailform/)에 문의하는 것은 GEOquery와 같은 Bioconductor 패키지에 적합합니다. 'sessionInfo()'의 출력을 포함 시켜서 목록의 다른 사람들이 여러분이 사용하고있는 버전 R과 패키지를 알 수 있도록하십시오. –

+0

@MartinMorgan 덕분에, 이것은 이전에 잘 모르는 훌륭한 리소스입니다 :) –

답변

1

'gse'개체는 두 개의 표현식 집합의 목록입니다.

library(GEOquery) 
gse <- getGEO('GSE16560', GSEMatrix = T) 

class(gse) 
# [1] "list" 

length(gse) 
# [1] 2 

당신은리스트의 요소에 액세스하기 위해, 대괄호, [[]]를 사용할 수 있습니다. 내가 GSMList 당신이 FALSE

getGEO의 'GSEMatrix'인수를 변경하는 경우 당신은 당신이 R 이러한 새로운 말하는 때문에 당신이 무엇을 얻을되는 클래스의 GSE '의 객체와 함께 작동합니다 생각

# get the class of the first element in the list 
class(gse[[1]]) 
# [1] "ExpressionSet" 
# attr(,"package") 
# [1] "Biobase" 

데이터 구조, 체크 아웃 ?str. 객체에 저장된 내용과 데이터를 색인화 할 수있는 방법을 신속하게 파악하는 데 매우 유용합니다 (어떤 이유로 든 그렇게해야하는 경우).

str(gse[[1]]) 
# Formal class 'ExpressionSet' [package "Biobase"] with 7 slots 
# [email protected] experimentData :Formal class 'MIAME' [package "Biobase"] with 13 slots 
# .. .. [email protected] name    : chr "" 
# .. .. [email protected] lab    : chr "" 
# .. .. [email protected] contact   : chr "" 
# .. .. [email protected] title   : chr "" 
# .. .. [email protected] abstract   : chr "" 
# .. .. [email protected] url    : chr "" 
# .. .. [email protected] pubMedIds  : chr "" 
# .. .. [email protected] samples   : list() 
# .. .. [email protected] hybridizations : list() 
# .. .. [email protected] normControls  : list() 
# .. .. [email protected] preprocessing : list() 
# .. .. [email protected] other   : list() 
# .. .. [email protected] .__classVersion__:Formal class 'Versions' [package "Biobase"] with 1 slots 
# .. .. .. .. [email protected] .Data:List of 2 
# .. .. .. .. .. ..$ : int [1:3] 1 0 0 
# .. .. .. .. .. ..$ : int [1:3] 1 1 0 
# [email protected] assayData  :<environment: 0x7fb344a81758> 
# [email protected] phenoData  :Formal class 'AnnotatedDataFrame' [package "Biobase"] with 4 slots 
# .. .. [email protected] varMetadata  :'data.frame': 44 obs. of 1 variable: 
# .. .. .. ..$ labelDescription: chr [1:44] NA NA NA NA ... 
# .. .. [email protected] data    :'data.frame': 255 obs. of 44 variables: 
# ....and so on and so forth 

gse[[1]]@experimentData 
# Experiment data 
# Experimenter name: 
# Laboratory: 
# Contact information: 
# Title: 
# URL: 
# PMIDs: 
# No abstract available. 

# and one more example... 
head(levels(gse[[1]]@[email protected]$geo_accession)) 
# [1] "GSM416241" "GSM416242" "GSM416243" "GSM416244" "GSM416245" "GSM416246" 
0

아마도 GEOquery의 비 네트를 따를 것입니다.

TRUE 대신 "GSEMatrix = F"를 전달해야합니다.

> gse.withmatrix <- getGEO('GSE16560', GSEMatrix = T) 
> gse.nomatrix <- getGEO('GSE16560', GSEMatrix = F) 

> class(gse.withmatrix[[1]]) 
[1] "ExpressionSet" 
attr(,"package") 
[1] "Biobase" 

> class(gse.nomatrix) 
[1] "GSE" 
attr(,"package") 
[1] "GEOquery" 

> GSMList(gse.withmatrix) 
Error in (function (classes, fdef, mtable) : 
    unable to find an inherited method for function ‘GSMList’ for signature ‘"list"’ 

> GSMList(gse.nomatrix) 
.....