Main Content

geosoftread

Read Gene Expression Omnibus (GEO) SOFT format data

Syntax

GEOSOFTData = geosoftread(File)
GEOSOFTData = geosoftread(File,'TimeOut',TimeOutValue)

Input Arguments

File

Either of the following:

  • Character vector or string specifying a file name, a path and file name, or a URL pointing to a file. The referenced file is a Gene Expression Omnibus (GEO) SOFT format Sample file (GSM), Data Set file (GDS), or Platform (GPL) file. If you specify only a file name, that file must be on the MATLAB® search path or in the MATLAB Current Folder.

  • Character array or column vector of strings that contains the text of a GEO SOFT format file.

Tip

You can use the getgeodata function with the 'ToFile' property to retrieve GEO SOFT format data from the GEO database and create a GEO SOFT format file.

TimeOutValueConnection timeout in seconds, specified as a positive scalar. The default value is 5. For details, see here.

Output Arguments

GEOSOFTDataMATLAB structure containing information from a GEO SOFT format file.

Description

GEOSOFTData = geosoftread(File) reads a Gene Expression Omnibus (GEO) SOFT format Sample file (GSM), Data Set file (GDS), or Platform (GPL) file, and then creates a MATLAB structure, GEOSOFTData, with the following fields.

FieldsDescription
ScopeType of file read (SAMPLE, DATASET, or PLATFORM)
AccessionAccession number for record in GEO database.
HeaderMicroarray experiment information.
ColumnDescriptionsCell array containing descriptions of columns in the data.
ColumnNamesCell array containing names of columns in the data.
DataArray containing microarray data.
Identifier (GDS files only)Cell array containing probe IDs.
IDRef (GDS files only)Cell array containing indices to probes.

Note

Currently, the geosoftread function supports Sample (GSM), Data Set (GDS), and Platform (GPL) records.

GEOSOFTData = geosoftread(File,'TimeOut',TimeOutValue) sets the connection timeout (in seconds) to read data from a remote file or URL.

Examples

Retrieve GSM data from the GEO Web site and save it to a file.

geodata = getgeodata('GSM3258','ToFile','GSM3258.txt');

Use geosoftread to read a local copy of the GSM file, instead of accessing it from the GEO Web site.

geodata = geosoftread('GSM3258.txt')

geodata = 

                 Scope: 'SAMPLE'
             Accession: 'GSM3258'
                Header: [1x1 struct]
    ColumnDescriptions: {6x1 cell}
           ColumnNames: {6x1 cell}
                  Data: {5355x6 cell}

Read the GDS file for photosynthesis in proteobacteria.

gdsdata = geosoftread('GDS329.soft')

gdsdata = 

                 Scope: 'DATASET'
             Accession: 'GDS329'
                Header: [1x1 struct]
    ColumnDescriptions: {6x1 cell}
           ColumnNames: {6x1 cell}
                 IDRef: {5355x1 cell}
            Identifier: {5355x1 cell}
                  Data: [5355x6 double]
Introduced before R2006a