Российский химико-аналитический портал  химический анализ и аналитическая химия в фокусе внимания ::: портал химиков-аналитиков ::: выбор профессионалов  
карта портала ::: расширенный поиск              
 


ANCHEM.RU » Форумы » 1. Аналитический форум ...
  1. Аналитический форум | Список форумов | Войти в систему | Регистрация | Помощь | Последние темы | Поиск

Форум химиков-аналитиков, аналитическая химия и химический анализ.

построение 3D поверхностей по данным ГХ-МС >>>

  Ответов в этой теме: 22
  Страница: 1 2 3
  «« назад || далее »»

[ Ответ на тему ]


Автор Тема: построение 3D поверхностей по данным ГХ-МС
trix
Пользователь
Ранг: 4

17.01.2019 // 10:33:19     
Здравствуйте,
есть задача - построить (визуализировать) поверхность по данным ГХ-МС. По одной оси - время, по другой - m/z, по третьей - интенсивности m/z.

В принципе, это можно реализовать, например, в Excel, но там есть ограничения на количество переменных (до 255), еще можно в Statistica, но там такой график просто виснет из-за большого числа точек (в моем случае около 9 000 000). Данные были получены в GSMSSolution, но там я подобной функции не нашел.
В идеальном варианте, хотелось бы получить на выходе .jpg или аналогичный ему файл с картой на плоскости, в которой изменения интенсивности m/z (третье измерение) были представлены в виде цветной поверхности (например, при изменении интенсивности отклика по m/z цвет менялся бы от зеленого до красного).

Из исходных данных есть файл с результатами анализа ГХ-МС (время, m/z, интенсивности по этим массам), перекинутый в .xml, можно и в текстовый файл данные закинуть.

Есть ли у кого-нибудь опыт, с помощью каких программ это можно сделать? Заранее благодарен.
ANCHEM.RU
Администрация
Ранг: 246
vmu
Пользователь
Ранг: 1338


17.01.2019 // 13:17:51     
Редактировано 2 раз(а)

Еще можно попробовать Origin или SigmaPlot, но там большое число точек тоже может создать проблему. Можно попробовать уменьшить число точек, уменьшив разрешение (точнее частоту дискретизации), например, по m/z, скажем с десятых долей m/z до целых m/z (т.е., например, сигналы от m/z от 105.5 до 106.4 суммировать и выдавать как сигнал от m/z 106; число точек уменьшится в 10 раз). Но вообще такая картинка (контурная карта в координатах (t, m/z, сигнал)) для дискретных масс-спектральных данных будет ненаглядной в отличие от аналогичных карт с непрерывными и плавно меняющимися данными в ВЭЖХ-СФ (t, длина волны, сигнал) или в двумерной хроматографии (t1, t2, сигнал).
Upd: немного улучшить наглядность и облегчить проблему большого количества данных можно, если строить карту кусками или только для отдельных узких, наиболее интересных временных отрезков хроматограммы.
SergeyK
Пользователь
Ранг: 2168


17.01.2019 // 14:30:55     
Редактировано 2 раз(а)

Используйте R, PyPlot:
www.inp.nsk.su/~baldin/DataAnalysis/R/R-01-intro.pdf
docs.juliaplots.org/latest/examples/pyplot/
bf109xxl
Пользователь
Ранг: 1727


18.01.2019 // 1:06:12     
Тут все правильно понаписали, слегка дополню.
Все будет определяться с одной стороны толщиной кошелька или возможностью пользоваться нелегальным софтом, а с другой - желанием осваивать скриптовые языки, т.к. в бесплатном софте чаще всего придется графику программировать на таком языке - это не бог весть как сложно, но многие боятся подобного программирования, как черт ладана.
Прекрасный вариант - Matlab (есть тормознутый фришный аналог Octave) или Mathematica (потребует привыкания), но оба продукта, мягко говоря, оооочень недешевы. Недешев и Origin, в нем, кстати, реализована также нелинейная аппроксимация 3d-поверхностей. Да и SigmaPlot тоже стоит денег.
R и Python - очень мощные средства. Я, к сожалению, из этих двух языков (вычислительных сред?) хорошо владею только R, поэтому могу оценить только его возможности. Могу также сравнить с Origin - я регулярно программирую разные задачи и в нем тоже. Выложите в заархивированном виде какой-нибудь тестовый датасет в ASCII - желательно передающий запросы по разрешению в каждом измерении, я по-быстрому построю поверхности в разных пакетах (Origin, R, Matlab, остальные лень вспоминать), кто-то, возможно, пособит с Python или Mathematica, а может, и какой-то другой интересный вариант предложит.

Матрица 3000x3000 будет достаточно "тяжела" для любого пакета, но Matlab может оказаться оптимальнее (это из опыта, довольно субъективно, не буду сильно спорить), в Origin матричные операции, ИМХО, тормознутые, да и R Matlab-у проигрывает по "матричной" производительности (ну, как говорится, "но любим мы его не за это" ). Я бы затачивался на программирование маленького 3D-просмотрщика с возможностью скроллинга и масштабирования и уже упомянутым data reduction при уменьшении масштаба (увеличения размаха по осям). Я знаю, как это сделать в R и Origin, но сам точно делать не буду - и занят, и жалко времени. Могу лишь дать советы.
trix
Пользователь
Ранг: 4


18.01.2019 // 10:02:02     
Спасибо за подсказки, буду пробовать.
Я так понял, что с помощью готовых пакетов справиться не получится, это как минимум. Придется осваивать азы программирования...
trix
Пользователь
Ранг: 4


18.01.2019 // 10:07:32     

bf109xxl пишет:
Выложите в заархивированном виде какой-нибудь тестовый датасет в ASCII - желательно передающий запросы по разрешению в каждом измерении, я по-быстрому построю поверхности в разных пакетах (Origin, R, Matlab, остальные лень вспоминать), кто-то, возможно, пособит с Python или Mathematica, а может, и какой-то другой интересный вариант предложит.

Спасибо, тогда разберусь с представлением данных в нужном виде, потому что пока есть только простая экселевская таблица на 50 Мб.
Каталог ANCHEM.RU
Администрация
Ранг: 246
Журнал Масс-спектрометрия Журнал Масс-спектрометрия
Оригинальные научные статьи, обзоры, учебные и некоторые справочные материалы по всем разделам теории и практики масс-спектрометрии.
bf109xxl
Пользователь
Ранг: 1727


18.01.2019 // 11:19:14     
Получится - Origin, SigmaPlot, IgorPro, TecPlot позволяют строить 3D-поверхности "мышкой" и тыканьем в менюшки. Но они все довольно дорогие. Есть несколько бесплатных альтернатив, но мне они не понравились, когда ознакамливался.
Просто _любой_ пакет обработки и визуализации данных даже при наличии развитого GUI - это среда программирования, но не все об этом знают или хотят знать, поэтому используют лишь небольшую часть функционала таких пакетов.
R/Python - это как раз другой подход, где все осуществляется через скриптовый язык. Но программирование задач отображения данных в них несложное. Для R существует множество расширений, позволяющих решить как широкий спектр определенных задач, так и отдельную конкретную задачу (здесь и далее я не упоминаю python не потому что он чем-то хуже, просто я с ним не работаю, python более "программистский", более шустрый, но на мой вкус менее удобный для _моих_ задач). Есть и специфические расширения для масс-спектрометрии, но я их не использовал.
Сохраните таблицу в csv-формате (только числа, никаких пояснений, позволяющих понять, к какому объекту относятся данные - мне лишние сведения не нужны), заархивируйте в zip/rar/7z и положите файл на какой-нибудь файлообменник. Если, конечно, сочтете это приемлемым.
OldBrave
VIP Member
Ранг: 1334


18.01.2019 // 18:15:31     

trix пишет:
...есть задача - построить (визуализировать) поверхность по данным ГХ-МС. По одной оси - время, по другой - m/z, по третьей - интенсивности m/z.

Как уже ранее отмечалось выше, MS-спектры дискретны. Сигнал с MS-детектора всегда дополнительно содержит дискретную фоновую составляющую. "Поверхность отклика" в целом не будет информативной, разве что от слова "посмотреть" картинку.
SergeyK
Пользователь
Ранг: 2168


19.01.2019 // 10:22:47     

OldBrave пишет:

trix пишет:
...есть задача - построить (визуализировать) поверхность по данным ГХ-МС. По одной оси - время, по другой - m/z, по третьей - интенсивности m/z.

Как уже ранее отмечалось выше, MS-спектры дискретны. Сигнал с MS-детектора всегда дополнительно содержит дискретную фоновую составляющую. "Поверхность отклика" в целом не будет информативной, разве что от слова "посмотреть" картинку.

Да почему не будет-то? Насколько я понимаю, автор полный ионный ток по массам хочет развернуть. В области чистого силоксанового фона будут впадины и всё, плюс можно срезать низкие интенсивности. Обычно у нас только ось времени и интенсивность, тут третья ось появится, с m/z. Зачем это делать, если для расчетов можно просто извлечь характеристический ион в интенсивность от времени, вопрос уже другой, может это протеомика какая-то неведомая.
vmu
Пользователь
Ранг: 1338


19.01.2019 // 11:23:07     
В сети есть примеры. Вот для ЖХ-МС:

https://www.mathworks.com/help/bioinfo/examples/differential-analysis-of-complex-protein-and-metabolite-mixtures-using-liquid-chromatography-mass-spectrometry-lc-ms.html

https://www.mathworks.com/help/bioinfo/examples/visualizing-and-preprocessing-hyphenated-mass-spectrometry-data-sets-for-metabolite-and-protein-peptide-profiling.html

В широком диапазоне масс и времен удерживания карта выглядит не очень. В узком диапазоне какая-то наглядность появляется. Низкие интенсивности фонового сигнала, конечно, желательно отсекать. Это улучшит вид карты.
gennadyrs
Пользователь
Ранг: 11


19.01.2019 // 13:25:34     
Редактировано 1 раз(а)

Пришлите мне образцы файлов, экспортированных программой, и я, если смогу, переделаю свою программу под эти файлы и пришлю вам.

Моя программа www.gesen.narod.ru/3D/index.html

Программа написана на простом языке программирования javascript и пользователи могут сами изменять её и добавлять новые возможности.

Моя почта gesen на yandex.ru

  Ответов в этой теме: 22
  Страница: 1 2 3
  «« назад || далее »»

Ответ на тему


ААС, ИСП-АЭС, ИСП-МС - прямые поставки в 2022 году

ПОСЛЕДНИЕ НОВОСТИ ANCHEM.RU:      [ Все новости ]


ЖУРНАЛ ЛАБОРАТОРИИ ЛИТЕРАТУРА ОБОРУДОВАНИЕ РАБОТА КАЛЕНДАРЬ ФОРУМ

Copyright © 2002-2022
«Аналитика-Мир профессионалов»

Размещение рекламы / Контакты