exponenta event banner

Работа с объектами для данных эксперимента микрочипов

В этом примере показано, как создавать и манипулировать контейнерами MATLAB ®, предназначенными для хранения данных из эксперимента с микрочипами.

Контейнеры для данных эксперимента по экспрессии генов

Экспериментальные данные микрочипов очень сложны, обычно состоят из данных и информации из ряда различных источников. Сохранение и управление большими и сложными наборами данных согласованным образом является проблемой. Биоинформатика Toolbox™ предоставляет набор объектов для представления различных фрагментов данных из эксперимента с микрочипами.

ExpressionSet класс - это единая, удобная структура данных для хранения и управления различными типами данных из эксперимента по экспрессии генов микрочипов.

Один ExpressionSet объект состоит из этих четырех компонентов, которые являются общими для всех экспериментов по экспрессии генов микрочипов:

Данные эксперимента: Значения экспрессии из экспериментов с микрочипами. Эти данные хранятся как экземпляр ExptData класс.

Информация о образцах: метаданные, описывающие образцы в эксперименте. Образцы метаданных хранятся как экземпляр MetaData класс.

Аннотации элементов массива: аннотации об элементах или зондах массива, используемых в эксперименте. Аннотации могут храниться как экземпляр MetaData класс.

Описание эксперимента: Информация для описания методов и условий эксперимента. Информация может храниться как экземпляр MIAME класс.

ExpressionSet координирует и проверяет эти компоненты данных. Класс предоставляет методы для извлечения и установки данных, хранящихся в ExpressionSet объект. Один ExpressionSet объект также ведет себя как многие другие структуры данных MATLAB, которые могут быть поднабраны и скопированы.

Экспериментальные данные

В эксперименте по экспрессии генов микрочипов измеренные значения экспрессии для каждого признака на образец могут быть представлены в виде двумерной матрицы. Матрица имеет F строк и S столбцов, где F - количество элементов в массиве, а S - количество образцов, на которых измерялись значения выражения. A DataMatrix объект является двумерной матрицей, которую можно индексировать по номерам строк и столбцов, логическим векторам или именам строк и столбцов.

Создайте Datamatrix с именами строк и столбцов.

dm = bioma.data.DataMatrix(rand(5,4), 'RowNames','Feature', 'ColNames', 'Sample')
dm = 

                Sample1    Sample2    Sample3    Sample4
    Feature1    0.81472    0.09754    0.15761    0.14189
    Feature2    0.90579     0.2785    0.97059    0.42176
    Feature3    0.12699    0.54688    0.95717    0.91574
    Feature4    0.91338    0.95751    0.48538    0.79221
    Feature5    0.63236    0.96489    0.80028    0.95949

Функция size возвращает количество строк и столбцов в DataMatrix объект.

size(dm)
ans =

     5     4

Можно индексировать в DataMatrix подобно другим числовым массивам MATLAB, используя номера строк и столбцов. Например, доступ к элементам можно получить в строках 1 и 2, столбец 3.

dm(1:2, 3)
ans = 

                Sample3
    Feature1    0.15761
    Feature2    0.97059

Можно также индексировать в DataMatrix используя имена строк и столбцов. Переназначение элементов в строках 2 и 3, столбцах 1 и 4 различным значениям.

dm({'Feature2', 'Feature3'}, {'Sample1', 'Sample4'}) = [2, 3; 4, 5]
dm = 

                Sample1    Sample2    Sample3    Sample4
    Feature1    0.81472    0.09754    0.15761    0.14189
    Feature2          2     0.2785    0.97059          3
    Feature3          4    0.54688    0.95717          5
    Feature4    0.91338    0.95751    0.48538    0.79221
    Feature5    0.63236    0.96489    0.80028    0.95949

Данные экспрессии генов, используемые в этом примере, представляют собой небольшой набор данных из эксперимента с микрочипами, профилирующих паттерны экспрессии генов взрослых мышей в общих штаммах на массиве Affymetrix ® MG-U74Av2 [1].

Считывание значений выражения из файла в формате табуляции mouseExprsData.txt в рабочую область MATLAB как DataMatrix объект.

exprsData = bioma.data.DataMatrix('file', 'mouseExprsData.txt');
class(exprsData)
ans =

    'bioma.data.DataMatrix'

Получение свойств DataMatrix объект, exprsData.

get(exprsData)
            Name: 'mouseExprsData'
        RowNames: {500x1 cell}
        ColNames: {1x26 cell}
           NRows: 500
           NCols: 26
           NDims: 2
    ElementClass: 'double'

Проверьте имена образцов.

colnames(exprsData)
ans =

  1x26 cell array

  Columns 1 through 8

    {'A'}    {'B'}    {'C'}    {'D'}    {'E'}    {'F'}    {'G'}    {'H'}

  Columns 9 through 16

    {'I'}    {'J'}    {'K'}    {'L'}    {'M'}    {'N'}    {'O'}    {'P'}

  Columns 17 through 24

    {'Q'}    {'R'}    {'S'}    {'T'}    {'U'}    {'V'}    {'W'}    {'X'}

  Columns 25 through 26

    {'Y'}    {'Z'}

Просмотрите первые 10 строк и 5 столбцов.

exprsData(1:10, 1:5)
ans = 

                   A         B         C         D         E     
    100001_at        2.26     20.14     31.66     14.58     16.04
    100002_at      158.86    236.25    206.27    388.71    388.09
    100003_at       68.11    105.45     82.92      82.9     60.38
    100004_at       74.32     96.68     84.87     72.26     98.38
    100005_at       75.05     53.17     57.94     60.06     63.91
    100006_at       80.36     42.89     77.21     77.24     40.31
    100007_at      216.64    191.32    219.48    237.28    298.18
    100009_r_at    3806.7      1425    2468.5    2172.7    2237.2
    100010_at         NaN       NaN       NaN      7.18     22.37
    100011_at       81.72     72.27    127.61     91.01     98.13

Выполните преобразование log2 значений выражения.

exprsData_log2 = log2(exprsData);
exprsData_log2(1:10, 1:5)
ans = 

                   A         B         C         D         E     
    100001_at      1.1763     4.332    4.9846    3.8659    4.0036
    100002_at      7.3116    7.8842    7.6884    8.6026    8.6002
    100003_at      6.0898    6.7204    6.3736    6.3733     5.916
    100004_at      6.2157    6.5951    6.4072    6.1751    6.6203
    100005_at      6.2298    5.7325    5.8565    5.9083     5.998
    100006_at      6.3284    5.4226    6.2707    6.2713    5.3331
    100007_at      7.7592    7.5798    7.7779    7.8904      8.22
    100009_r_at    11.894    10.477    11.269    11.085    11.127
    100010_at         NaN       NaN       NaN     2.844    4.4835
    100011_at      6.3526    6.1753    6.9956     6.508    6.6166

Изменить Name свойство должно быть более описательным |.

exprsData_log2 = set(exprsData_log2, 'Name', 'Log2 Based mouseExprsData');
get(exprsData_log2)
            Name: 'Log2 Based mouseExprsData'
        RowNames: {500x1 cell}
        ColNames: {1x26 cell}
           NRows: 500
           NCols: 26
           NDims: 2
    ElementClass: 'double'

В эксперименте с микрочипами набор данных часто содержит одну или несколько матриц, которые имеют одинаковое количество строк и столбцов и идентичные имена строк и имен столбцов. ExptData класс предназначен для того, чтобы содержать и координировать одну или несколько матриц данных, имеющих одинаковые имена строк и столбцов с одинаковым размером размерности. Значения данных сохраняются как DataMatrix объекты. Каждый DataMatrix объект является элементом ExptData объект. ExptData класс отвечает за проверку данных и координацию между ними DataMatrix объекты.

Хранить данные экспрессии генов естественной шкалы и значения базовой экспрессии log2 отдельно в ExptData объект.

mouseExptData = bioma.data.ExptData(exprsData, exprsData_log2,...
                    'ElementNames', {'naturalExprs', 'log2Exprs'})
mouseExptData = 

Experiment Data:
  500 features,  26 samples
  2 elements
  Element names: naturalExprs, log2Exprs

Доступ к DataMatrix элемент в mouseExptData с использованием имени элемента.

exprsData2 = mouseExptData('log2Exprs');
get(exprsData2)
            Name: 'Log2 Based mouseExprsData'
        RowNames: {500x1 cell}
        ColNames: {1x26 cell}
           NRows: 500
           NCols: 26
           NDims: 2
    ElementClass: 'double'

Образец метаданных

Метаданные о выборках в эксперименте с микрочипами могут быть представлены в виде таблицы с S строками и V столбцами, где S - количество выборок, а V - количество переменных. Содержимое таблицы представляет собой значения каждой переменной для каждого образца. Например, файл mouseSampleData.txt содержит такую таблицу. Описание каждой переменной образца помечается символом #.

MetaData класс предназначен для скоординированного хранения и манипулирования значениями переменных и их метаданными. Вы можете прочитать mouseSampleData.txt файл в MATLAB в качестве MetaData объект.

sData = bioma.data.MetaData('file', 'mouseSampleData.txt', 'vardescchar', '#')
sData = 

Sample Names:
    A, B, ...,Z (26 total)
Variable Names and Meta Information:
              VariableDescription                           
    Gender    {' Gender of the mouse in study'         }    
    Age       {' The number of weeks since mouse birth'}    
    Type      {' Genetic characters'                   }    
    Strain    {' The mouse strain'                     }    
    Source    {' The tissue source for RNA collection' }    

Свойства MetaData класс предоставляет информацию о выборках и переменных.

numSamples = sData.NSamples
numVariables = sData.NVariables
numSamples =

    26


numVariables =

     5

Значения переменных и описания переменных для проб сохраняются как два dataset массивы в MetaData класс. MetaData класс предоставляет методы доступа к значениям переменных и метаинформации, описывающей переменные.

Доступ к образцу метаданных с помощью variableValues способ.

sData.variableValues
ans = 

         Gender          Age    Type                 Strain               
    A    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    B    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    C    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    D    {'Male'}        8      {'Wild type'}        {'A/J '         }    
    E    {'Male'}        8      {'Wild type'}        {'A/J '         }    
    F    {'Male'}        8      {'Wild type'}        {'C57BL/6J '    }    
    G    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    H    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    I    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    J    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    K    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    L    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    M    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    N    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    O    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    P    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    Q    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    R    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    S    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    T    {'Male'}        8      {'Wild type'}        {'C57BL/6J4'    }    
    U    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    V    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    W    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    X    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    Y    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    Z    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    


         Source                  
    A    {'amygdala'        }    
    B    {'amygdala'        }    
    C    {'amygdala'        }    
    D    {'amygdala'        }    
    E    {'amygdala'        }    
    F    {'amygdala'        }    
    G    {'amygdala'        }    
    H    {'cingulate cortex'}    
    I    {'cingulate cortex'}    
    J    {'cingulate cortex'}    
    K    {'cingulate cortex'}    
    L    {'cingulate cortex'}    
    M    {'cingulate cortex'}    
    N    {'cingulate cortex'}    
    O    {'hippocampus'     }    
    P    {'hippocampus'     }    
    Q    {'hippocampus'     }    
    R    {'hippocampus'     }    
    S    {'hippocampus'     }    
    T    {'hippocampus'     }    
    U    {'hypothalamus'    }    
    V    {'hypothalamus'    }    
    W    {'hypothalamus'    }    
    X    {'hypothalamus'    }    
    Y    {'hypothalamus'    }    
    Z    {'hypothalamus'    }    

Просмотр сводки по образцу метаданных.

summary(sData.variableValues)
Gender: [26x1 cell array of character vectors]

Age: [26x1 double]

    min    1st quartile    median    3rd quartile    max
    8      8               8         8               8  

Type: [26x1 cell array of character vectors]

Strain: [26x1 cell array of character vectors]

Source: [26x1 cell array of character vectors]

sampleNames и variableNames методы являются удобными способами доступа к именам образцов и переменных. Получение имен переменных sData объект.

variableNames(sData)
ans =

  1x5 cell array

    {'Gender'}    {'Age'}    {'Type'}    {'Strain'}    {'Source'}

Вы можете извлечь метаинформацию о переменных, описывающих образцы, используя variableDesc способ. В этом примере он содержит только описания переменных.

variableDesc(sData)
ans = 

              VariableDescription                           
    Gender    {' Gender of the mouse in study'         }    
    Age       {' The number of weeks since mouse birth'}    
    Type      {' Genetic characters'                   }    
    Strain    {' The mouse strain'                     }    
    Source    {' The tissue source for RNA collection' }    

Можно поднабрать данные образца. sData с использованием численного индексирования.

sData(3:6, :)
ans = 

Sample Names:
    C, D, ...,F (4 total)
Variable Names and Meta Information:
              VariableDescription                           
    Gender    {' Gender of the mouse in study'         }    
    Age       {' The number of weeks since mouse birth'}    
    Type      {' Genetic characters'                   }    
    Strain    {' The mouse strain'                     }    
    Source    {' The tissue source for RNA collection' }    

Можно отобразить напряжение мыши для определенных образцов с помощью численного индексирования.

sData.Strain([2 14])
ans =

  2x1 cell array

    {'129S6/SvEvTac'}
    {'C57BL/6J'     }

Обратите внимание, что имена строк в sData и имена столбцов в exprsData одинаковые. Это важная взаимосвязь между данными выражения и данными образца в одном и том же эксперименте.

all(ismember(sampleNames(sData), colnames(exprsData)))
ans =

  logical

   1

Метаданные аннотации элемента

Метаданные об элементах или наборе зондов в массиве могут быть очень большими и разнообразными. Производители микросхем обычно предоставляют конкретный файл аннотаций для элементов каждого типа массива. Метаданные могут храниться как MetaData объект для конкретного эксперимента. В этом примере файл аннотаций для массива MG-U74Av2 можно загрузить с веб-сайта Affymetrix. Необходимо преобразовать файл из формата CSV в формат XLSX с помощью приложения электронной таблицы.

Считывание всего файла в MATLAB как dataset массив. Кроме того, можно использовать Range опции в dataset конструктор. Все пробелы в именах переменных удаляются, чтобы сделать их допустимыми именами переменных MATLAB. Каждый раз при этом отображается предупреждение.

mgU74Av2 =  table2dataset(readtable('MG_U74Av2_annot.xlsx'));
Warning: Column headers from the file were modified to make them valid MATLAB
identifiers before creating variable names for the table. The original column
headers are saved in the VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as
table variable names. 

Проверить свойства этого dataset массив.

get(mgU74Av2)
       Description: ''
    VarDescription: {1x43 cell}
             Units: {}
          DimNames: {'Row'  'Variables'}
          UserData: []
          ObsNames: {}
          VarNames: {1x43 cell}

Определите количество идентификаторов наборов зондов в файле аннотаций.

numel(mgU74Av2.ProbeSetID)
ans =

       12488

Извлеките имена переменных, описывающих элементы массива, и просмотрите первые 20 имен переменных.

fDataVariables = get(mgU74Av2, 'VarNames');
fDataVariables(1:20)'
ans =

  20x1 cell array

    {'ProbeSetID'               }
    {'GeneChipArray'            }
    {'SpeciesScientificName'    }
    {'AnnotationDate'           }
    {'SequenceType'             }
    {'SequenceSource'           }
    {'TranscriptID_ArrayDesign_'}
    {'TargetDescription'        }
    {'RepresentativePublicID'   }
    {'ArchivalUniGeneCluster'   }
    {'UniGeneID'                }
    {'GenomeVersion'            }
    {'Alignments'               }
    {'GeneTitle'                }
    {'GeneSymbol'               }
    {'ChromosomalLocation'      }
    {'UnigeneClusterType'       }
    {'Ensembl'                  }
    {'EntrezGene'               }
    {'SwissProt'                }

Установите ObsNames свойство ID набора зондов, чтобы получить доступ к отдельным аннотациям генов путем индексации с помощью идентификаторов наборов зондов.

mgU74Av2 = set(mgU74Av2,'ObsNames',mgU74Av2.ProbeSetID);
mgU74Av2('100709_at',{'GeneSymbol','ChromosomalLocation'})
ans = 

                 GeneSymbol       ChromosomalLocation        
    100709_at    {'Tpbpa'}        {'chr13 B2|13 36.0 cM'}    

В некоторых случаях полезно извлекать определенные аннотации, относящиеся к анализу. Извлечение аннотаций для GeneTitle, GeneSymbol, ChromosomalLocation, и Pathway относительно элементов в exprsData.

mgU74Av2 = mgU74Av2(:,{'GeneTitle',...
                       'GeneSymbol',...
                       'ChromosomalLocation',...
                       'Pathway'});

mgU74Av2 = mgU74Av2(rownames(exprsData),:);
get(mgU74Av2)
       Description: ''
    VarDescription: {1x4 cell}
             Units: {}
          DimNames: {'Row'  'Variables'}
          UserData: []
          ObsNames: {500x1 cell}
          VarNames: {1x4 cell}

Можно сохранить аннотацию элемента dataset массив как экземпляр MetaData класс.

fData = bioma.data.MetaData(mgU74Av2)
fData = 

Sample Names:
    100001_at, 100002_at, ...,100717_at (500 total)
Variable Names and Meta Information:
                           VariableDescription
    GeneTitle              {'NA'}             
    GeneSymbol             {'NA'}             
    ChromosomalLocation    {'NA'}             
    Pathway                {'NA'}             

Обратите внимание, что нет описаний переменных элемента в fData MetaData объект. Можно добавить описания переменных в fData с использованием variableDesc способ.

fData = variableDesc(fData, {'Gene title of a probe set',...
                             'Probe set gene symbol',...
                             'Probe set chromosomal locations',...
                             'The pathway the genes involved in'})
fData = 

Sample Names:
    100001_at, 100002_at, ...,100717_at (500 total)
Variable Names and Meta Information:
                           VariableDescription                      
    GeneTitle              {'Gene title of a probe set'        }    
    GeneSymbol             {'Probe set gene symbol'            }    
    ChromosomalLocation    {'Probe set chromosomal locations'  }    
    Pathway                {'The pathway the genes involved in'}    

Информация об эксперименте

MIAME класс - это гибкий контейнер данных, предназначенный для набора основных описаний эксперимента с микрочипами, таких как исследователи, лаборатории и конструкции массивов. MIAME класс свободно следует спецификации «Минимальная информация об эксперименте с микрочипами» (MIAME) [2].

Создать MIAME путем предоставления некоторой базовой информации.

expDesc = bioma.data.MIAME('investigator', 'Jane OneName',...
                           'lab',          'Bioinformatics Laboratory',...
                           'title',        'Example Gene Expression Experiment',...
                           'abstract',     'An example of using microarray objects.',...
                           'other',        {'Notes: Created from a text files.'})
expDesc = 

Experiment Description:
  Author name: Jane OneName
  Laboratory: Bioinformatics Laboratory
  Contact information: 
  URL: 
  PubMedIDs: 
  Abstract: A 5 word abstract is available. Use the Abstract property.
  No experiment design summary available.
  Other notes: 
    {'Notes: Created from a text files.'}

Другой способ создания MIAME объект берется из данных серии GEO. MIAME класс заполняет соответствующие свойства из структуры серии GEO. Информация, связанная с экспериментом с генным профилем в этом примере, доступна из базы данных GEO под регистрационным номером GSE3327 [1]. Извлечение данных серии GEO с помощью getgeodata функция.

getgeodata('GSE3327', 'ToFile', 'GSE3327.txt');

Считывайте данные в структуру.

geoSeries = geoseriesread('GSE3327.txt')
geoSeries = 

  struct with fields:

    Header: [1x1 struct]
      Data: [12488x87 bioma.data.DataMatrix]

Создать MIAME объект.

exptGSE3327 = bioma.data.MIAME(geoSeries)
exptGSE3327 = 

Experiment Description:
  Author name: Iiris,,Hovatta
David,J,Lockhart
Carrolee,,Barlow
  Laboratory: The Salk Institute for Biological Studies
  Contact information: Carrolee,,Barlow
  URL: 
  PubMedIDs: 16244648
  Abstract: A 14 word abstract is available. Use the Abstract property.
  Experiment Design: A 8 word summary is available. Use the ExptDesign property.
  Other notes: 
    {'ftp://ftp.ncbi.nlm.nih.gov/pub/geo/DATA/supplementary/series/GSE3327/GSE3327_RAW.tar'}

Просмотрите аннотацию эксперимента и его идентификаторы PubMed.

abstract = exptGSE3327.Abstract
pubmedID = exptGSE3327.PubMedID
abstract =

    'Adult mouse gene expression patterns in common strains
     Keywords: mouse strain and brain region comparison'


pubmedID =

    '16244648'

Создание объекта ExpressionSet

ExpressionSet класс разработан специально для данных эксперимента по экспрессии генов микрочипов. Собрать ExpressionSet объект для примера эксперимента экспрессии гена мыши из различных объектов данных, которые вы только что создали.

exptSet = bioma.ExpressionSet(exprsData, 'SData', sData,...
                                         'FData', fData,...
                                         'Einfo', exptGSE3327)
exptSet = 

ExpressionSet
Experiment Data: 500 features, 26 samples
  Element names: Expressions
Sample Data:
    Sample names:     A, B, ...,Z (26 total)
    Sample variable names and meta information: 
        Gender:  Gender of the mouse in study
        Age:  The number of weeks since mouse birth
        Type:  Genetic characters
        Strain:  The mouse strain
        Source:  The tissue source for RNA collection
Feature Data:
    Feature names:     100001_at, 100002_at, ...,100717_at (500 total)
    Feature variable names and meta information: 
        GeneTitle: Gene title of a probe set
        GeneSymbol: Probe set gene symbol
        ChromosomalLocation: Probe set chromosomal locations
        Pathway: The pathway the genes involved in
Experiment Information: use 'exptInfo(obj)'

Можно также создать ExpressionSet объект только со значениями выражения в DataMatrix или числовая матрица.

miniExprSet = bioma.ExpressionSet(exprsData)
miniExprSet = 

ExpressionSet
Experiment Data: 500 features, 26 samples
  Element names: Expressions
Sample Data: none
Feature Data: none
Experiment Information: none

Сохранение и загрузка объекта ExpressionSet

Объекты данных для эксперимента с микрочипами можно сохранить в виде файлов MAT. Сохранить ExpressionSet объект exptSet в файл MAT с именем mouseExpressionSet.mat.

save mouseExpressionSet exptSet

Удаление переменных из рабочей области MATLAB.

clear dm exprs* mouseExptData ME sData

Загрузка файла MAT mouseExpressionSet в рабочую область MATLAB.

load mouseExpressionSet

Осмотреть загруженные ExpressionSet объект.

exptSet.elementNames
ans =

  1x1 cell array

    {'Expressions'}

exptSet.NSamples
ans =

    26

exptSet.NFeatures
ans =

   500

Доступ к компонентам данных объекта ExpressionSet

Для доступа и обновления данных, хранящихся в ExpressionSet объект.

Доступ к столбцам образца данных можно получить с помощью точечной нотации.

exptSet.Strain(1:5)
ans =

  5x1 cell array

    {'129S6/SvEvTac'}
    {'129S6/SvEvTac'}
    {'129S6/SvEvTac'}
    {'A/J '         }
    {'A/J '         }

Извлеките имена элементов с помощью featureNames способ. В этом примере имена функций являются идентификаторами набора зондов в массиве.

featureNames(exptSet, 1:5)
ans =

  5x1 cell array

    {'100001_at'}
    {'100002_at'}
    {'100003_at'}
    {'100004_at'}
    {'100005_at'}

К уникальному идентификатору образцов можно получить доступ через sampleNames способ.

exptSet.sampleNames(1:5)
ans =

  1x5 cell array

    {'A'}    {'B'}    {'C'}    {'D'}    {'E'}

sampleVarNames метод перечисляет имена переменных в образце данных.

exptSet.sampleVarNames
ans =

  1x5 cell array

    {'Gender'}    {'Age'}    {'Type'}    {'Strain'}    {'Source'}

Извлеките dataset массив, содержащий образец информации.

sDataset = sampleVarValues(exptSet)
sDataset = 

         Gender          Age    Type                 Strain               
    A    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    B    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    C    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    D    {'Male'}        8      {'Wild type'}        {'A/J '         }    
    E    {'Male'}        8      {'Wild type'}        {'A/J '         }    
    F    {'Male'}        8      {'Wild type'}        {'C57BL/6J '    }    
    G    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    H    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    I    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    J    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    K    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    L    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    M    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    N    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    O    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    P    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    Q    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    R    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    S    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    T    {'Male'}        8      {'Wild type'}        {'C57BL/6J4'    }    
    U    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    V    {'Male'}        8      {'Wild type'}        {'129S6/SvEvTac'}    
    W    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    X    {'Male'}        8      {'Wild type'}        {'A/J'          }    
    Y    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    
    Z    {'Male'}        8      {'Wild type'}        {'C57BL/6J'     }    


         Source                  
    A    {'amygdala'        }    
    B    {'amygdala'        }    
    C    {'amygdala'        }    
    D    {'amygdala'        }    
    E    {'amygdala'        }    
    F    {'amygdala'        }    
    G    {'amygdala'        }    
    H    {'cingulate cortex'}    
    I    {'cingulate cortex'}    
    J    {'cingulate cortex'}    
    K    {'cingulate cortex'}    
    L    {'cingulate cortex'}    
    M    {'cingulate cortex'}    
    N    {'cingulate cortex'}    
    O    {'hippocampus'     }    
    P    {'hippocampus'     }    
    Q    {'hippocampus'     }    
    R    {'hippocampus'     }    
    S    {'hippocampus'     }    
    T    {'hippocampus'     }    
    U    {'hypothalamus'    }    
    V    {'hypothalamus'    }    
    W    {'hypothalamus'    }    
    X    {'hypothalamus'    }    
    Y    {'hypothalamus'    }    
    Z    {'hypothalamus'    }    

Получить ExptData объект, содержащий значения выражений. Может быть несколько DataMatrix объект с одинаковыми размерами в ExptData объект. В ExpressionSet объект, всегда есть элемент DataMatrix объект с именем Expressions содержащий матрицу выражения.

exptDS = exptData(exptSet)
exptDS = 

Experiment Data:
  500 features,  26 samples
  1 elements
  Element names: Expressions

Извлекать только выражение DataMatrix экземпляр.

dMatrix = expressions(exptSet);

Возвращенное выражение DataMatrix должны быть идентичны exprsData DataMatrix объект, созданный ранее.

get(dMatrix)
            Name: 'mouseExprsData'
        RowNames: {500x1 cell}
        ColNames: {1x26 cell}
           NRows: 500
           NCols: 26
           NDims: 2
    ElementClass: 'double'

Получение идентификаторов PubMed для эксперимента, сохраненного в exptSet.

exptSet.pubMedID
ans =

    '16244648'

Подстановка объекта ExpressionSet

Можно задать подмножество ExpressionSet объект, чтобы можно было сосредоточиться на образцах и особенностях, представляющих интерес. Первый аргумент индексации подбирает элементы, а второй - выборки.

Создание нового ExpressionSet объект, состоящий из первых пяти элементов и образцов с именами A, B, и C.

mySet = exptSet(1:5, {'A', 'B', 'C'})
mySet = 

ExpressionSet
Experiment Data: 5 features, 3 samples
  Element names: Expressions
Sample Data:
    Sample names:     A, B, C
    Sample variable names and meta information: 
        Gender:  Gender of the mouse in study
        Age:  The number of weeks since mouse birth
        Type:  Genetic characters
        Strain:  The mouse strain
        Source:  The tissue source for RNA collection
Feature Data:
    Feature names:     100001_at, 100002_at, ...,100005_at (5 total)
    Feature variable names and meta information: 
        GeneTitle: Gene title of a probe set
        GeneSymbol: Probe set gene symbol
        ChromosomalLocation: Probe set chromosomal locations
        Pathway: The pathway the genes involved in
Experiment Information: use 'exptInfo(obj)'
size(mySet)
ans =

     5     3

featureNames(mySet)
ans =

  5x1 cell array

    {'100001_at'}
    {'100002_at'}
    {'100003_at'}
    {'100004_at'}
    {'100005_at'}

sampleNames(mySet)
ans =

  1x3 cell array

    {'A'}    {'B'}    {'C'}

Также можно создать подмножество, состоящее только из образцов из тканей гиппокампа.

hippocampusSet = exptSet(:, nominal(exptSet.Source)== 'hippocampus')
hippocampusSet = 

ExpressionSet
Experiment Data: 500 features, 6 samples
  Element names: Expressions
Sample Data:
    Sample names:     O, P, ...,T (6 total)
    Sample variable names and meta information: 
        Gender:  Gender of the mouse in study
        Age:  The number of weeks since mouse birth
        Type:  Genetic characters
        Strain:  The mouse strain
        Source:  The tissue source for RNA collection
Feature Data:
    Feature names:     100001_at, 100002_at, ...,100717_at (500 total)
    Feature variable names and meta information: 
        GeneTitle: Gene title of a probe set
        GeneSymbol: Probe set gene symbol
        ChromosomalLocation: Probe set chromosomal locations
        Pathway: The pathway the genes involved in
Experiment Information: use 'exptInfo(obj)'
hippocampusSet.Source
ans =

  6x1 cell array

    {'hippocampus'}
    {'hippocampus'}
    {'hippocampus'}
    {'hippocampus'}
    {'hippocampus'}
    {'hippocampus'}

hippocampusExprs = expressions(hippocampusSet);
get(hippocampusExprs)
            Name: 'mouseExprsData'
        RowNames: {500x1 cell}
        ColNames: {'O'  'P'  'Q'  'R'  'S'  'T'}
           NRows: 500
           NCols: 6
           NDims: 2
    ElementClass: 'double'

Ссылки

Hovatta, I., et al., «Глиоксалаза 1 и глутатионредуктаза 1 регулируют беспокойство у мышей», Nature, 438 (7068): 662-6, 2005.

[2] Brazma, A., et al., «Минимальная информация об эксперименте с микрочипами (MIAME) - к стандартам для данных микрочипов», Nat. Genet. 29(4):365-371, 2001.