<p>The short answer is that if you are seeing information in a GEO sample, then it is the sample that you need to download and access using the appropriate method. In this case, that method is <code>Columns()</code>:</p>

<pre><code>library(GEOquery)
gsm &lt;- getGEO("GSM2644971")
Columns(gsm)

          Column      Description
1         ID_REF                                                            
2         VALUE       Normalized (provided the normalization method) Average Beta
3         Detection   Pval
</code></pre>

<p>The longer answer: you will really benefit from sitting down with the GEOquery documentation and trying to understand the objects that it uses and their methods. It is not something you can work out by trial and error for every case-by-case basis. <a href="https://www.bioconductor.org/packages/release/bioc/vignettes/GEOquery/inst/doc/GEOquery.html" rel="nofollow noreferrer">The tutorial</a> is a really good starting point (you will find <code>Columns()</code> in there, for example).</p>

CC BY-SA 3.0
2017-07-02T12:54:12.990Z
2017-07-02T12:54:12.990Z
neilfws
<p>For a study in GEO, I would like to obtain the data table header descriptions, specifically the "VALUE" column for all samples in the study.</p>

<p>If you go here: <a href="https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE99511" rel="nofollow noreferrer">https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE99511</a>)
and then scroll down and click one of the samples: let's choose "GSM2644971". Then scroll down and you should see "Data table header descriptions" and below that you should see "<strong>VALUE</strong> Normalized (provided the normalization method) Average Beta". That information is what I want.</p>

<p>I tried using assayData() from the Biobase package but I didn't know whether the method takes a sample, a matrix of samples, or something else as a parameter. Apparently it takes a S4 and then returns some random text but I don't know how to use that random text.</p>

<p>EDITED:</p>

<p>For example, if I do:</p>

<pre><code>library(Biobase)
library(GEOquery)

getgeo&lt;-getGEO("GSE99511")
assayData(getgeo$GSE99511_series_matrix.txt.gz)
</code></pre>

<p>When I use assayData() I would want it to return "Normalized (provided the normalization method) Average Beta".</p>

<p>Instead it returns:</p>

<pre><code>&lt;environment: 0x110674178&gt;
</code></pre>

<p>Please let me know if the question doesn't make sense or if there's another method that I should be using.</p>

CC BY-SA 3.0
2017-06-30T16:40:01.763Z
It would be helpful if you could add a specific example we can copy and test on our own machines. Show us some simple data, or a way of generating appropriate random data and then show the output you get and the output you want to get instead.
terdon
CC BY-SA 3.0
2017-06-30T19:39:44.047Z
you can download the GEO metadata directly from the GEO page...look for the SOFT file or the series matrix files, for example.
nsheff
CC BY-SA 3.0
2017-06-30T20:25:44.660Z
The assayData requires a SummarizedExperiment, if you want to download the description of the value you need to look at the GEOQuery package when I can (probably in 24h )
llrs
CC BY-SA 3.0
2017-06-30T23:50:22.077Z
I want to download it through GEOquery so that I can get data faster. I also updated my question to add more detail.
Ezra Bekele
CC BY-SA 3.0
2017-07-01T13:52:44.087Z
Did you check what return getGEO, and what do you need to extract the data you want?
llrs
CC BY-SA 3.0
2017-07-03T11:35:32.667Z
https://stackoverflow.com/questions/44856211/retrieving-data-table-headers-from-geo-using-geoquery
zx8754
<r><database><bioconductor><text>
Obtaining data table headers from GEO using GEOquery
# Obtaining data table headers from GEO using GEOquery

(Asked by: username_0 on 2017-06-30)

For a study in GEO, I would like to obtain the data table header descriptions, specifically the "VALUE" column for all samples in the study.
If you go here: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE99511)
and then scroll down and click one of the samples: let's choose "GSM2644971". Then scroll down and you should see "Data table header descriptions" and below that you should see "VALUE Normalized (provided the normalization method) Average Beta". That information is what I want.
I tried using assayData() from the Biobase package but I didn't know whether the method takes a sample, a matrix of samples, or something else as a parameter. Apparently it takes a S4 and then returns some random text but I don't know how to use that random text.
EDITED:
For example, if I do:
library(Biobase)
library(GEOquery)

getgeo<-getGEO("GSE99511")
assayData(getgeo$GSE99511_series_matrix.txt.gz)

When I use assayData() I would want it to return "Normalized (provided the normalization method) Average Beta".
Instead it returns:


Please let me know if the question doesn't make sense or if there's another method that I should be using.

**Tags:** r, database, bioconductor, text
> **Comments:**
> **username_1**: It would be helpful if you could add a specific example we can copy and test on our own machines. Show us some simple data, or a way of generating appropriate random data and then show the output you get and the output you want to get instead.  
> **username_2**: you can download the GEO metadata directly from the GEO page...look for the SOFT file or the series matrix files, for example.  
> **username_3**: The assayData requires a SummarizedExperiment, if you want to download the description of the value you need to look at the GEOQuery package when I can (probably in 24h )  
> **username_0**: I want to download it through GEOquery so that I can get data faster. I also updated my question to add more detail.  
> **username_3**: Did you check what return getGEO, and what do you need to extract the data you want?  
> **username_4**: https://stackoverflow.com/questions/44856211/retrieving-data-table-headers-from-geo-using-geoquery  

---

## 1 answers

### Answer by username_5 on 2017-07-02. Score: 3 | Accepted answer

The short answer is that if you are seeing information in a GEO sample, then it is the sample that you need to download and access using the appropriate method. In this case, that method is Columns():
library(GEOquery)
gsm <- getGEO("GSM2644971")
Columns(gsm)

          Column      Description
1         ID_REF                                                            
2         VALUE       Normalized (provided the normalization method) Average Beta
3         Detection   Pval

The longer answer: you will really benefit from sitting down with the GEOquery documentation and trying to understand the objects that it uses and their methods. It is not something you can work out by trial and error for every case-by-case basis. The tutorial is a really good starting point (you will find Columns() in there, for example).


---

