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

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

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

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

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

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

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

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

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

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

The 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

Данные экспрессии генов, используемые в этом примере, являются небольшим набором данных из эксперимента с микромассивами, профилирующих шаблоны экспрессии генов взрослых мышей в распространенных штаммах массива MG-U74Av2 Affymetrix ® [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 свойство, чтобы быть более descriptive|.

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 объект. The 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 содержит такую таблицу. Описание каждой выборочной переменной помечается символом #.

The 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 класс. The 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]

The 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 свойство к идентификаторам набора зондов, так что вы можете получить доступ к отдельным аннотациям генов путем индексации с идентификаторами набора зондов.

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'}    

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

The MIAME класс является гибким контейнером данных, предназначенным для набора основных описаний об микромассив эксперименте, таких как исследователи, лаборатории и проекты массивов. The 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. The 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

The 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'}

The 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'

Ссылки

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

[2] Brazma, A., et al., «Minimum information about a microarray experiment (MIAME) - to standards for microarray data», Nat. Genet. 29(4):365-371, 2001.