exponenta event banner

Визуализация данных микрочипов

В этом примере показаны различные способы исследования и визуализации необработанных данных микрочипов. В примере используются данные микрочипов из исследования экспрессии генов в мозге мыши [1].

Изучение набора данных микрочипов

Браун, В.М. et.al. [1] использовали микрочипы для исследования паттернов экспрессии генов в мозге мыши, в которой фармакологическая модель болезни Паркинсона (PD) индуцировалась с использованием метамфетамина. Исходные данные для этого эксперимента доступны на сайте Gene Expression Omnibus с использованием регистрационного номера GSE30 [1].

Файл mouse_h3pd.gpr содержит данные для одного из микрочипов, используемых в исследовании, в частности, из образца, собранного из воксельных H3 мозга у мыши модели болезни Паркинсона (PD). Файл использует формат файла GenePix ® GPR. Образец вокселя метили Cy3 (зеленым), а контрольную (РНК из общего, а не вокселированного нормального мозга мыши) метили Cy5.

Файлы в формате GPR предоставляют большой объем информации о массиве, включая среднее, среднее и стандартное отклонения интенсивности переднего плана и фона каждой точки на длине волны 635 нм (красный, Cy5 канал) и длине волны 532 нм (зеленый, Cy3 канал).

Команда gprread считывает данные из файла в структуру.

pd = gprread('mouse_h3pd.gpr')
pd = 

  struct with fields:

         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]

Получить доступ к полям структуры можно с помощью dot нотация. Например, получите доступ к первым десяти именам столбцов.

pd.ColumnNames(1:10)
ans =

  10x1 cell array

    {'X'           }
    {'Y'           }
    {'Dia.'        }
    {'F635 Median' }
    {'F635 Mean'   }
    {'F635 SD'     }
    {'B635 Median' }
    {'B635 Mean'   }
    {'B635 SD'     }
    {'% > B635+1SD'}

Вы также можете получить доступ к первым десяти именам генов.

pd.Names(1:10)
ans =

  10x1 cell array

    {'AA467053'}
    {'AA388323'}
    {'AA387625'}
    {'AA474342'}
    {'Myo1b'   }
    {'AA473123'}
    {'AA387579'}
    {'AA387314'}
    {'AA467571'}
    {0x0 char  }

Пространственные изображения данных микрочипов

maimage команда может принимать структуру данных микрочипа и создавать псевдоколорное изображение данных, расположенных в том же порядке, что и пятна на массиве, т.е. пространственный график микрочипа. В поле «F635 Median» отображаются значения медианы для переднего плана красного (Cy5) канала.

figure
maimage(pd,'F635 Median','title',{'Parkinson''s Model','Foreground Median Pixels','Red Channel'})

Поле «F532 Median» соответствует основному виду зеленого (Cy3) канала.

figure
maimage(pd,'F532 Median','title',{'Parkinson''s Model','Foreground Median Pixels','Green Channel'})

В поле «B635 Median» отображаются средние значения фона красного канала. Обратите внимание на очень высокие уровни фона в правой части массива.

figure
maimage(pd,'B635 Median','title',{'Parkinson''s Model','Background Median Pixels','Red Channel'})

В поле «B532 Median» отображаются средние значения фона зеленого канала.

figure
maimage(pd,'B532 Median','title',{'Parkinson''s Model','Background Median Pixels','Green Channel'})

Теперь вы можете рассмотреть данные, полученные для того же вокселя мозга у необработанной контрольной мыши. В этом случае образец вокселя метили Cy3, а контрольную (РНК из общего, а не вокселированного мозга) метили Cy5.

wt = gprread('mouse_h3wt.gpr')
wt = 

  struct with fields:

         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','title',{'Foreground','(Red)'})
subplot(2,2,2);
maimage(wt,'F532 Median','title',{'Foreground','(Green)'})
subplot(2,2,3);
maimage(wt,'B635 Median','title',{'Background','(Red)'})
subplot(2,2,4);
maimage(wt,'B532 Median','title',{'Background','(Green)'})

annotation('textbox','String','Wild Type Median Pixel Values', ...
	'Position', [0.3 0.05 0.9 0.01],'EdgeColor','none','FontSize',12);

Если вы посмотрите на масштаб фоновых изображений, вы заметите, что фоновые уровни намного выше, чем для мыши PD, и что-то неслучайное влияет на фон Cy3 канала этого слайда. Изменение карты цветов иногда может дать больше понимания того, что происходит на псевдоколоровых графиках. Для получения дополнительной информации о цвете попробуйте colormapeditor функция. Можно также щелкнуть правой кнопкой мыши на панели цветов, чтобы вызвать различные опции изменения карты цветов графика, включая интерактивное смещение карты цветов.

colormap hot

maimage команда - это простой способ быстрого создания псевдоцветных изображений данных микрочипов. Однако иногда удобно создавать настраиваемые графики с помощью imagesc , как показано ниже.

Использовать magetfield извлечение данных для поля медианы B532 и поля индексов для индексирования в данные. Интенсивность фонового графика можно привязать к большей контрастности изображения.

b532Data = magetfield(wt,'B532 Median');
maskedData = b532Data;
maskedData(b532Data<500) = 500;
maskedData(b532Data>2000) = 2000;

figure
subplot(1,2,1);
imagesc(b532Data(wt.Indices))
axis image
colorbar
title('B532, WT')

subplot(1,2,2);
imagesc(maskedData(wt.Indices))
axis image
colorbar
title('Enhanced B532, WT')

Статистика микрочипов

maboxplot функция может использоваться для просмотра распределения данных в каждом из блоков.

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

На оконных графиках можно четко увидеть пространственные эффекты в фоновых интенсивностях. Блоки с номерами 1,3,5 и 7 расположены на левой стороне массивов, а блоки с номерами 2,4,6 и 8 - на правой стороне.

Есть две колонки в структуре данных микромножества маркированная «Медиана F635 - B635» и «Медиана F532 - B532». Эти столбцы представляют собой различия между средним передним планом и средним фоном для канала 635 нм и канала 532 нм соответственно. Они дают меру фактических уровней выражения. Пространственный эффект менее заметен на этих участках.

figure
subplot(2,1,1)
maboxplot(pd,'F635 Median - B635','title','Parkinson''s Disease Model Mouse ')
subplot(2,1,2)
maboxplot(pd,'F532 Median - B532','title','Parkinson''s Disease Model Mouse')

figure
subplot(2,1,1)
maboxplot(wt,'F635 Median - B635','title','Untreated Mouse')
subplot(2,1,2)
maboxplot(wt,'F532 Median - B532','title','Untreated Mouse')

Графики рассеяния данных микрочипов

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

cy5Data = magetfield(pd,'F635 Median - B635');
cy3Data = magetfield(pd,'F532 Median - B532');

Простой способ сравнения двух каналов - loglog график. Функция maloglog используется для этого. Пункты, которые являются выше диагонали в этом сюжете, соответствуют генам, у которых есть более высокие уровни экспрессии в H3 voxel, чем в мозгу в целом.

figure
maloglog(cy5Data,cy3Data)
title('Loglog Scatter Plot of PD Model');
xlabel('F635 Median - B635 (Control)');
ylabel('F532 Median - B532 (Voxel H3)');
Warning: Zero values are ignored. 
Warning: Negative values are ignored. 

Обратите внимание, как loglog функция выдает некоторые предупреждения об отрицательных и нулевых элементах. Это связано с тем, что некоторые значения в столбцах «F635 Median - B635» и «F532 Median - B532» равны нулю или меньше нуля. Места, где это произошло, могут быть плохими местами или пятнами, которые не смогли гибридизироваться. Аналогично, пятна с положительными, но очень небольшими различиями между передним и задним фоном также считаются плохими пятнами. Эти предупреждения можно отключить с помощью warning команда.

warnState = warning; % Save the current warning state
warning('off','bioinfo:maloglog:ZeroValues');
warning('off','bioinfo:maloglog:NegativeValues');

figure
maloglog(cy5Data,cy3Data)
title('Loglog Scatter Plot of PD Model');
xlabel('F635 Median - B635 (Control)');
ylabel('F532 Median - B532 (Voxel H3)');

warning(warnState); % Reset the warning state

Альтернативой просто игнорированию или отключению предупреждений является удаление плохих точек из набора данных. Это может быть сделано путем нахождения точек, где красный или зеленый канал имеют значения, меньшие или равные пороговому значению, например 10.

threshold = 10;
badPoints = (cy5Data <= threshold) | (cy3Data <= threshold);

Затем можно удалить эти точки и перерисовать график журнала.

cy5Data(badPoints) = []; cy3Data(badPoints) = [];
figure
maloglog(cy5Data,cy3Data)
title('Refined Loglog Scatter Plot of PD Model');
xlabel('F635 Median - B635 (Control)');
ylabel('F532 Median - B532 (Voxel H3)');

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

figure
maloglog(cy5Data,cy3Data,'labels',pd.Names(~badPoints),'factorlines',2)
title('Loglog Scatter Plot of PD Model');
xlabel('F635 Median - B635 (Control)');
ylabel('F532 Median - B532 (Voxel H3)');

Попробуйте использовать мышь, чтобы щелкнуть на некоторых точках отклонения. Вы увидите имя гена, связанного с точкой. Большинство отклонений находятся ниже линии y = x. На самом деле большинство пунктов находятся за этой чертой. В идеале точки должны быть равномерно распределены по обе стороны этой линии. Чтобы это произошло, точки необходимо нормализовать. Вы можете использовать manorm функция для выполнения глобальной средней нормализации.

normcy5 = manorm(cy5Data);
normcy3 = manorm(cy3Data);

При построении графика нормализованных данных будет видно, что точки распределяются более равномерно относительно линии y = x.

figure
maloglog(normcy5,normcy3,'labels',pd.Names(~badPoints),'factorlines',2)
title('Normalized Loglog Scatter Plot of PD Model');
xlabel('F635 Median - B635 (Control)');
ylabel('F532 Median - B532 (Voxel H3)');

Вы помните, что фон фишек не был однородным. Для нормализации каждого блока по отдельности можно использовать нормализацию печатающей подсказки (блока). Функция manorm будет выполнять нормализацию блоков автоматически, если информация о блоках доступна в структуре данных микрочипов.

bn_cy5Data = manorm(pd,'F635 Median - B635');
bn_cy3Data = manorm(pd,'F532 Median - B532');

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

bn_cy5Data(bn_cy5Data <= 0) = NaN;
bn_cy3Data(bn_cy3Data <= 0) = NaN;

figure
maloglog(bn_cy5Data,bn_cy3Data,'labels',pd.Names,'factorlines',2)
title('Refined, Normalized Loglog Scatter Plot of PD Model');
xlabel('F635 Median - B635 (Control)');
ylabel('F532 Median - B532 (Voxel H3)');

Функция mairplot используется для создания графика «Интенсивность и отношение» для нормализованных данных. Если пара имя-значение 'PlotOnly' имеет значение false, можно исследовать данные в интерактивном режиме, например, выбрать точки для просмотра имен связанных генов, нормализовать данные, выделить имена генов в списках с повышенным или пониженным регулированием или изменить значения факторных линий.

mairplot(normcy5,normcy3,'labels',pd.Names(~badPoints),'PlotOnly',true,...
	'title','Intensity vs. Ratio of PD Model');

Вы можете использовать Normalize опция для mairplot для выполнения нормализации данных в режиме Lowess.

mairplot(normcy5,normcy3,'labels',pd.Names(~badPoints),'PlotOnly',true,...
	'Normalize',true,'title', 'Intensity vs. Ratio of PD Model (Normalized)');

GenePix is a registered trademark of Axon Instruments, Inc.

Ссылки

Браун, В.М., и др., «Мультиплексное трехмерное картирование экспрессии генов мозга на мышиной модели болезни Паркинсона», Genome Research, 12 (6): 868-84, 2002.