Этот пример смотрит на различные способы визуализировать микроданные массива. Данные прибывают из фармакологической модели болезни Паркинсона (PD) с помощью мозга мыши. Микроданные массива для этого примера от Брауна, V.M., Ossadtchi, A., Хан, A.H., Yee, S., Лакан, G., Melega, W.P., Cherry, S.R., Лихи, R.M., и Смит, D.J.; "Мультиплексируйте трехмерное мозговое отображение экспрессии гена в модели мыши болезни Паркинсона"; Исследование Генома 12 (6): 868-884 (2002).
Микроданные массива, используемые в этом примере, доступны в веб-дополнении к статье Брауна и др. и в файле mouse_a1pd.gpr
включенный с программным обеспечением Bioinformatics Toolbox™.
Микроданные массива также доступны на веб-сайте Gene Expression Omnibus в
GenePix® отформатированный GPR файл mouse_a1pd.gpr
содержит данные для одного из микромассивов, используемых в исследовании. Это - данные из воксела A1 мозга мыши, в которой фармакологическая модель болезни Паркинсона (PD) была вызвана с помощью метамфетамина. Выборка воксела была помечена (зеленым) Cy3, и управление, RNA от общего количества (не voxelated) нормальный мозг мыши, было помечено (красным) Cy5. Отформатированные файлы GPR обеспечивают большой объем информации о массиве, включая среднее значение, медиану, и стандартное отклонение переднего плана и фоновую интенсивность каждого пятна в длине волны на 635 нм (красный, канал Cy5) и длине волны на 532 нм (зеленый, канал Cy3).
Эта процедура иллюстрирует, как импортировать данные с сети в среду MATLAB®, с помощью данных из исследования об экспрессии гена в мозгах мыши как пример. См. Обзор Примера Мыши.
Считайте данные из файла в структуру MATLAB. Например, в Окне Команды MATLAB, ввести
pd = gprread('mouse_a1pd.gpr')
Информация о структуре отображается в Окне Команды MATLAB:
pd = Header: [1x1 struct] Data: [9504x38 double] Blocks: [9504x1 double] Columns: [9504x1 double] Rows: [9504x1 double] Names: {9504x1 cell} IDs: {9504x1 cell} ColumnNames: {38x1 cell} Indices: [132x72 double] Shape: [1x1 struct]
Доступ к полям структуры с помощью StructureName.FieldName
. Например, можно получить доступ к полю ColumnNames
из структуры pd
путем ввода
pd.ColumnNames
Имена столбцов показывают ниже.
ans = 'X' 'Y' 'Dia.' 'F635 Median' 'F635 Mean' 'F635 SD' 'B635 Median' 'B635 Mean' 'B635 SD' '% > B635+1SD' '% > B635+2SD' 'F635 % Sat.' 'F532 Median' 'F532 Mean' 'F532 SD' 'B532 Median' 'B532 Mean' 'B532 SD' '% > B532+1SD' '% > B532+2SD' 'F532 % Sat.' 'Ratio of Medians' 'Ratio of Means' 'Median of Ratios' 'Mean of Ratios' 'Ratios SD' 'Rgn Ratio' 'Rgn R²' 'F Pixels' 'B Pixels' 'Sum of Medians' 'Sum of Means' 'Log Ratio' 'F635 Median - B635' 'F532 Median - B532' 'F635 Mean - B635' 'F532 Mean - B532' 'Flags'
Доступ к именам генов. Например, чтобы перечислить первые 20 названий генов, ввести
pd.Names(1:20)
Список первых 20 названий генов отображен:
ans = 'AA467053' 'AA388323' 'AA387625' 'AA474342' 'Myo1b' 'AA473123' 'AA387579' 'AA387314' 'AA467571' '' 'Spop' 'AA547022' 'AI508784' 'AA413555' 'AA414733' '' 'Snta1' 'AI414419' 'W14393' 'W10596'
Эта процедура иллюстрирует, как визуализировать микроданные массива путем графического вывода карт изображения. Функциональный maimage
может взять структуру микроданных массива и создать псевдоцветное изображение данных, расположенных в том же порядке как пятна на массиве. Другими словами, maimage
строит пространственный график микромассива.
Эта процедура использует данные из исследования экспрессии гена в мозгах мыши. Для списка имен полей в структуре MATLAB pd
, смотрите Исследование Набора Микроданных массива.
Постройте средние значения для красного канала. Например, чтобы отобразить данные на графике из поля F635 Median
Ввод
figure maimage(pd,'F635 Median')
Программное обеспечение MATLAB строит изображение, показывающее средние пиксельные значения для переднего плана красного (Cy5) канал.
Постройте средние значения для зеленого канала. Например, чтобы отобразить данные на графике из поля F532 Median
Ввод
figure maimage(pd,'F532 Median')
Программное обеспечение MATLAB строит изображение, показывающее средние пиксельные значения переднего плана зеленого (Cy3) канал.
Постройте средние значения для красного фона. Поле B635 Median
показывает средние значения для фона красного канала.
figure maimage(pd,'B635 Median')
Программное обеспечение MATLAB строит изображение для фона красного канала. Заметьте, что очень высокий фон уравнивает правую сторону массива.
Постройте средние значения для зеленого фона. Поле B532 Median
показывает средние значения для фона зеленого канала.
figure maimage(pd,'B532 Median')
Программное обеспечение MATLAB строит изображение для фона зеленого канала.
Первый массив был для мыши модели болезни Паркинсона. Теперь читайте в данных для того же мозгового воксела, но для невылеченной контрольной мыши. В этом случае выборка воксела была помечена Cy3, и управление, общий мозг (не voxelated), было помечено Cy5.
wt = gprread('mouse_a1wt.gpr')
Программное обеспечение MATLAB создает структуру и отображает информацию о структуре.
wt = Header: [1x1 struct] Data: [9504x38 double] Blocks: [9504x1 double] Columns: [9504x1 double] Rows: [9504x1 double] Names: {9504x1 cell} IDs: {9504x1 cell} ColumnNames: {38x1 cell} Indices: [132x72 double] Shape: [1x1 struct]
Используйте функциональный maimage
показать псевдоцветные изображения переднего плана и фона. Можно использовать функциональный subplot
помещать все графики на одну фигуру.
figure subplot(2,2,1); maimage(wt,'F635 Median') subplot(2,2,2); maimage(wt,'F532 Median') subplot(2,2,3); maimage(wt,'B635 Median') subplot(2,2,4); maimage(wt,'B532 Median')
Программное обеспечение MATLAB строит изображения.
Если вы посмотрите на шкалу для фоновых изображений, вы заметите, что фоновые уровни намного выше, чем те для мыши PD и, кажется, существует что-то неслучайное влияние на фон канала Cy3 этого понижения. Изменение палитры может иногда обеспечивать больше понимания, что продолжается в графиках псевдоцвета. Для большего количества управления цветом попробуйте colormapeditor
функция.
colormap hot
Программное обеспечение MATLAB строит изображения.
Функциональный maimage
простой способ быстро создать псевдоцветные изображения микроданных массива. Однако, если вы хотите больше управления графическим выводом, легко создать ваши собственные графики с помощью функционального imagesc
.
Сначала найдите номер столбца для интересующей области.
b532MedCol = find(strcmp(wt.ColumnNames,'B532 Median'))
Отображения программного обеспечения MATLAB:
b532MedCol = 16
Извлеките тот столбец из поля Data
.
b532Data = wt.Data(:,b532MedCol);
Используйте поле Indices
индексировать в Data
.
figure subplot(1,2,1); imagesc(b532Data(wt.Indices)) axis image colorbar title('B532 Median')
Программное обеспечение MATLAB строит изображение.
Связанный интенсивность фона строит, чтобы дать больше контраста в изображении.
maskedData = b532Data; maskedData(b532Data<500) = 500; maskedData(b532Data>2000) = 2000; subplot(1,2,2); imagesc(maskedData(wt.Indices)) axis image colorbar title('Enhanced B532 Median')
Программное обеспечение MATLAB строит изображения.
Эта процедура иллюстрирует, как визуализировать распределения в микроданных массива. Можно использовать функциональный maboxplot
смотреть на распределение данных в каждом из блоков.
В Командном Окне MATLAB введите
figure subplot(2,1,1) maboxplot(pd,'F532 Median','title','Parkinson''s Disease Model Mouse') subplot(2,1,2) maboxplot(pd,'B532 Median','title','Parkinson''s Disease Model Mouse') figure subplot(2,1,1) maboxplot(wt,'F532 Median','title','Untreated Mouse') subplot(2,1,2) maboxplot(wt,'B532 Median','title','Untreated Mouse')
Программное обеспечение MATLAB строит изображения.
Сравните графики.
От диаграмм можно ясно видеть пространственные эффекты в фоновом режиме интенсивность. Числа блоков 1
, 3, 5
, и
7
находятся на левой стороне массивов и числах 2
, 4, 6
, и
8
находятся на правой стороне. Данные должны быть нормированы, чтобы удалить это пространственное смещение.
Эта процедура иллюстрирует, как визуализировать уровни экспрессии в микроданных массива. Существует два столбца в структуре микроданных массива, пометил 'F635 Median - B635'
и 'F532 Median - B532'
. Эти столбцы являются различиями между средним передним планом и средним фоном для 635
nm
канал и 532
nm
образуйте канал соответственно. Они дают меру фактических уровней экспрессии, несмотря на то, что, поскольку данные должны сначала быть нормированы, чтобы удалить пространственное смещение в фоновом режиме, необходимо быть осторожны относительно использования этих значений без дальнейшей нормализации. Однако в этом примере никакая нормализация не выполняется.
Вместо того, чтобы работать с данными в большей структуре, часто легче извлечь номера столбцов и данные в отдельные переменные.
cy5DataCol = find(strcmp(wt.ColumnNames,'F635 Median - B635')) cy3DataCol = find(strcmp(wt.ColumnNames,'F532 Median - B532')) cy5Data = pd.Data(:,cy5DataCol); cy3Data = pd.Data(:,cy3DataCol);
Отображения программного обеспечения MATLAB:
cy5DataCol = 34 cy3DataCol = 35
Простой способ сравнить два канала с графиком loglog. Функциональный maloglog
используется, чтобы сделать это. Точки, которые являются выше диагонали в этом графике, соответствуют генам, которые имеют более высокие уровни экспрессии в вокселе A1, чем в мозгу в целом.
figure maloglog(cy5Data,cy3Data) xlabel('F635 Median - B635 (Control)'); ylabel('F532 Median - B532 (Voxel A1)');
Программное обеспечение MATLAB отображает следующие сообщения и строит изображения.
Warning: Zero values are ignored (Type "warning off Bioinfo:MaloglogZeroValues" to suppress this warning.) Warning: Negative values are ignored. (Type "warning off Bioinfo:MaloglogNegativeValues" to suppress this warning.)
Заметьте, что эта функция дает некоторые предупреждения об отрицательных и нулевых элементах. Это вызвано тем, что некоторые значения в 'F635 Median - B635'
и 'F532 Median - B532'
столбцы являются нулем или еще меньше, чем нуль. Пятна, где это произошло, могут быть дефектами или пятнами, которым не удалось гибридизировать. Точки с положительными, но очень небольшими, различиями между передним планом и фоном должны также считаться дефектами.
Отключите отображение предупреждений при помощи warning
команда. Несмотря на то, что предупреждения могут быть недовольными, это - хорошая практика, чтобы заняться расследованиями, почему предупреждения произошли, а не просто проигнорировать их. Может быть некоторая систематическая причина, почему они плохи.
warnState = warning; % First save the current warning state. % Now turn off the two warnings. warning('off','Bioinfo:MaloglogZeroValues'); warning('off','Bioinfo:MaloglogNegativeValues'); figure maloglog(cy5Data,cy3Data) % Create the loglog plot warning(warnState); % Reset the warning state. xlabel('F635 Median - B635 (Control)'); ylabel('F532 Median - B532 (Voxel A1)');
Программное обеспечение MATLAB строит изображение.
Альтернатива простому игнорированию или отключению предупреждений должна удалить дефекты из набора данных. Можно сделать это путем нахождения точек, где или красный или зеленый канал имеет значения, меньше чем или равные пороговому значению. Например, используйте пороговое значение 10
.
threshold = 10; badPoints = (cy5Data <= threshold) | (cy3Data <= threshold);
Программное обеспечение MATLAB строит изображение.
Можно затем удалить эти точки и перерисовать график loglog.
cy5Data(badPoints) = []; cy3Data(badPoints) = []; figure maloglog(cy5Data,cy3Data) xlabel('F635 Median - B635 (Control)'); ylabel('F532 Median - B532 (Voxel A1)');
Программное обеспечение MATLAB строит изображение.
Этот график показывает распределение точек, но не дает индикации, о которой гены соответствуют который точки.
Добавьте генные метки в график. Поскольку некоторые точки данных были удалены, соответствующие генные идентификаторы должны также быть удалены из набора данных, прежде чем можно будет использовать их. Самый простой способ сделать, который является wt.IDs(~badPoints)
.
maloglog(cy5Data,cy3Data,'labels',wt.IDs(~badPoints),... 'factorlines',2) xlabel('F635 Median - B635 (Control)'); ylabel('F532 Median - B532 (Voxel A1)');
Программное обеспечение MATLAB строит изображение.
Попытайтесь использовать мышь, чтобы кликнуть по некоторым точкам выброса.
Вы будете видеть генный ID, сопоставленный с точкой. Большинство выбросов ниже y = x
строка. На самом деле большинство точек ниже этой линии. Идеально точки должны быть равномерно распределены по обе стороны от этой линии.
Нормируйте точки, чтобы равномерно распределить их по обе стороны от линии. Используйте функциональный manorm
чтобы выполнить глобальную переменную означают нормализацию.
normcy5 = mannorm(cy5Data); normcy3 = manorm(cy3Data);
Если вы отобразите нормированные данные на графике, то вы будете видеть, что точки более равномерно распределяются о y = x
строка.
figure maloglog(normcy5,normcy3,'labels',wt.IDs(~badPoints),... 'factorlines',2) xlabel('F635 Median - B635 (Control)'); ylabel('F532 Median - B532 (Voxel A1)');
Программное обеспечение MATLAB строит изображение.
Функциональный mairplot
используется, чтобы создать Интенсивность по сравнению с графиком Отношения для нормированных данных. Эта функция работает таким же образом функциональным maloglog
.
figure mairplot(normcy5,normcy3,'labels',wt.IDs(~badPoints),... 'factorlines',2)
Программное обеспечение MATLAB строит изображение.
Можно кликнуть по точкам в этом графике видеть имя гена, сопоставленного с графиком.