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

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

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

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

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

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

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

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

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

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

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

Данные об эксперименте

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

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]. Получите ГЕО Серийные данные с помощью 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 объект, состоящий из первых пяти функций и выборок под названием AB, и 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, я., и др., "Glyoxalase 1 и редуктаза глутатиона 1 регулируют беспокойство в мышах", Природа, 438 (7068):662-6, 2005.

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