LINUX.ORG.RU

Моя программа для обработки данных фрагментного анализа ДНК

 , , ,


1

1

По ходу написания PhD, задолбался GeneMapper-ом, его прибитостью гвоздями к венде, чуть меньшую прибитость гвоздями к Ораклу (GeneMapper ID-X 1.7 уже PostgreSQL использует), жручестью, непереносимостью, сильно платностью (16 килобаксов лицензия на 1 человекоместо!). Ну и подумал, что надо посмотреть, а что есть свободного. Нашёл NCBI OSIRIS, но он только для венды и макоси. Есть fatools, есть что-то для R, но не интерактивное ни разу. А у fatools, как по мне, ещё весьма путанный и слабо комментированный код с однобуквенными или около того именами переменных и прочими подобными прелестями.

По итогу, взял я в зубы BioPython, pyqtgraph, SciPy и начал писать свою программу.

Пока что получается неплохо: добился корректной работы с файлами, где реализовано лишь ограниченное подмножество ABIF, с файлами, полученными до стандартизации ABIF (другие смещения, другие названия полей данных...), с файлами HID (получаются на криминалистических капиллярниках ABI 3500 HID, немного отличаются от стандартных ABIF, не особо описаны), определение размера фрагментов с помощью степенных сплайнов или методом наименьших квадратов (мне эту часть математики не преподавали вообще, тип нафига это химикам или биологам. А вот надо! И тем, и другим! Чтоб не заниматься мазохизмом с вычислением площади пиков распечаткой, вырезанием и взвешиванием, а положения измерением линейкой - да, мы так в универе делали в 2013-2014...).

В планах прикрутить автоматическое определение аллелей (биннинг) и импорт STR панелей из CSV файлов.

Собственно, на скрине видны данные для аллельного маркера GlobalFiler - рассчитанные размеры в окне программы и предполагаемые с допустимыми отклонениями - в LibreOffice (взято из данных панели GlobalFiler для капиллярника SeqStudio HID). Лицензия программы - AGPL v3. Дистрибутив на скрине openSuSE Tumbleweed, машина - Cisco UCS C240 M3, видеокарта встроенная Matrox с 8Мб видеопамяти, поэтому да, ШГ во все поля.

Ссылка на репозиторий: https://github.com/Dorif/fragalyseqt

И да: кастую DNA_Seq - давно не видел, может обрадую, что не помер и даже что-то ещё развиваю.)

>>> Просмотр (1024x768, 178 Kb)

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)

Ничего не понятно, но очень интересно. С нетерпением жду не только скриншот, но и новость.

Vidrele ★★★
()
Ответ на: комментарий от Vidrele

Ну, смотри: в геномах существ, посложнее бактерий, есть участки, где меняется не последовательность ДНК, а количество последовательных повторов таких последовательностей. Если в этой последовательности 1-6 пар оснований - она называется коротким тандемным повтором (Short Tandem Repeat - STR), некоторые из них связаны с болезнями (хорея Хантингтона, синдром Мартина-Белла, атаксия Фридрейха и т.д.), другие же, более стабильные, используются в криминалистике для идентификации личности и степени родства (количество повторов в этих местах меняется с течением поколений очень медленно). А чтобы анализировать 20+ таких маркеров одновременно, их разделяют по размерам (молекулярной массе) и праймеры (затравки для синтеза участка ДНК в ходе ПЦР) метят разными флуорофорами. Проводят ПЦР, получившийся кишмиш делят по массе капиллярным электрофорезом и регистрируют флуоресцентнцию на разных длинах волн, получая график, где пик соответствует фрагменту, его положение на графике - размеру фрагмента, а площадь пика - количеству вещества фрагмента. Так и можно узнавать чего, сколько и где есть в геноме конкретного человека/псинки/НЁХ и виновен ли/породист ли/ЧЗХ это вообще.

Для хранения данных чаще всего юзают формат ABIF, спецификации которого опубликованы Applied Biosystems в 2006 и 2009. Но большая часть программ, работающих с этими данными - проприетарные, непереносимые и сильно платные. Ну я свою и написал.

Dorif ★★★
() автор топика
Ответ на: комментарий от BceM_IIpuBeT

Он у меня как десктоп работает.) Обработка геномных данных требует много потоков исполнения, чтоб выполняться за разумные сроки, ну а тут ещё и память с коррекцией ошибок, массив RAID5… Мечта! И куплен был задёшево у чувака, посчитавшего, что два проца и много памяти - однозначно хорошая идея для игр, а потом столкнувшимся с видяхой, списком известного оборудования в биосе (включает на максимум вентиляторы, если пихнуть нонейм PCI-Express карточку)и серверным RAID контроллером, поддерживающимся в десктопных виндах чуть менее, чем никак. Сервак был продан мне раза в 2-3 дешевле, чем куплен, потому что «сломался, наверное».)

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

«пик соответствует фрагменту, его положение на графике - размеру фрагмента, а площадь пика - количеству вещества фрагмента»

Генетическая хроматограмма какая-то получается ;) Время регистрации пика детектором/высота пика - там то же самое.

tr0_
()
Ответ на: комментарий от tr0_

Именно так, именно так.) Всё правильно поняли.) Как бы принципы одни и те же, пофиг в какой науке и как называются.

Dorif ★★★
() автор топика
Последнее исправление: Dorif (всего исправлений: 1)
Ответ на: комментарий от BceM_IIpuBeT

Наоборот. Здесь же флуорофорами метятся фрагменты. Не поглощение нас интересует, а эмиссия.) Типа фрагмент такой массы с такой эмиссией - полиморфизм такой-то, с другой эмиссией - совсем другой. Это обозначено как каналы детекции: FAM (520-522 nm), VIC (554 nm) и т.д., на скрине видно. Канал LIZ в 5-6 цветных наборах зарезервирован для маркера молекулярной массы, в 4-цветном наборе для этого зарезервирован канал ROX/PET/CXR.

И да, есть же хроматография с флуоресцентной детекцией. Например, аминокислоты с ортофталевым диальдегидом. У нас такой есть, производства Shimadzu.

Dorif ★★★
() автор топика
Последнее исправление: Dorif (всего исправлений: 2)

Пожалуй самый крутой скрин на LOR’е за последнее время! Человек работает, делает что-то действительно нужное и интересное, а не поняшек рассматривает или тему для очередного WM пилит.))) Уважение!

nuxster ★★
()

А почему именно Cisco UCS C240 M3? Они по какой-то программе поставлялись или выбор обусловлен техническими характеристиками?

nuxster ★★
()
Ответ на: комментарий от Dorif

Таким образом степень родства определяется буквально на глаз по графику по сути, ну ели принебречь уточнениями, главное знать куда смотреть сравнивая два графовыхлопа? =) А где эти ABIF поскачивать? Ну там вот два червяка или мухи, вот их ABIF, а теперь скажите кто из них кому мама =)

LINUX-ORG-RU ★★★★★
()

Разработчики, для графических программ, суйте в репозиторий картинку с внешним видом программы. Для утилит консольных с псевдографикой тоже можно. Хотя бы внешней ссылкой в README.

И красивее и понятнее. А то я помню скачал утилиту для распаковки ресурсов HL2, только в процессе сборки понял что это графическая утилита, а когда запустилась слева был серый прямоугольник, ну думаю ладно, наверное просто прикол такой, распаковывал себе. И лишь случайно потом наткнулся на картинку в интернете где кто-то сделал скрин с этой программой, так в этом сером треугольнике должен был быть просмотрщик 3D, который почему-то для линукса был выключен дефайном прям в коде по умолчанию.

Так что прикладывайте картинку для «как оно должно быть» ибо если есть графический интерфейс то это если не главное в программе то очень важное, а уж в софте визуализации графиков точно одно из важнейших.

Воть. И не надо стесняться. Чем нагляднее Тем лучше. Можно даже сделать картинку коллаж 4 на 4 изображения где по очереди основное рабочее окно, всякие доп штуки, настройки, и ещё чёнить. Так, если будет что-то не так то сразу будет видно.

Фух, я всё.

P.S. Единственное что можно понять нежелание эту картинку обновлять чтобы соответствовала текущему состоянию. Тогда да, можно на это дело забить. Понять можно.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от nuxster

Потому что мне повезло его урвать за вкусную цену - историю см в комментах выше.)

Dorif ★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Не на глаз. Для получения ABIF тебе нужны: ДНК исследуемого, меченные праймеры для него (для людей, кошек, собак, лошадей, свиней, верблюдов, коров, овец и ещё кого-то у ThermoFisher есть специальные наборы), термоциклер, набор базового лабоборудования, аппарат для капиллярного электрофореза (SeqStudio для малых загрузок, ABI 3500, SeqStudio Flex, Nanophore-05 (Made in Russia!!!), Honor (China) - для средних, ну и некоторые Honor и ABI 3730 для большого потока), знания, прямые руки.) И нет, набор от мухи не проканает для человека и наоборот. Такие наборы как раз максимально видоспецифичны. Максимум проканает человеческим набором типировать человекообразных бибизяну, но панельный файл, скорее всего, придётся модифицировать. ABIF - конечный выхлоп капиллярника.

Dorif ★★★
() автор топика
Ответ на: комментарий от BceM_IIpuBeT

Смотря как сделан рендер.
aiglx поддерживает подмножество opengl 1.4 и сейчас по дефолту отключён, им вряд ли современные тулкиты будут что-то рендерить, однако если его включить и найти древний софт с дисплейлистами - наверно будет неплохо
А вот xrender и чистый x11 вполне так рендерится на клиенте и может работать сильно эффективнее какого-нибудь vnc или waypipe, да ещё и аппаратное ускорение будут использовать, требуя от сервера только отправить команды отрисовки и пиксмапы.
Мой десткоп, состоящий из tde, qt5 и wine на 100мегабитной локалке не отличишь от локального запуска, а вот pale moon уже подтормаживает. Помню, что старая 12 опера хорошо работала с сетевой прозрачностью, например прокрутка там была сделана через XCopyArea.
Кстати, старый rdp в винде (во времена пятой nt) тоже показывал очень хорошую производительность с gdi софтом, т.к gdi операции фактически исполнялись на клиенте.

mittorn ★★★★★
()
Ответ на: комментарий от Dorif

Кстати, я понял абсолютно всё что ты написал, ибо очень интересовался темой и кучу книжек засосал в этой области, ибо это просто очень интересно

Спасибо за программу

I-Love-Microsoft ★★★★★
()

Там есть кнопка воскресить мамонта?

Если серьёзно, то раз уж ты в теме можешь подсказать какими методами пользуются конторы типа genotek, которые за 10к делают анализ ДНК на происхождение, гаплогруппу, расположенность к болезням, поиск родственников и генам неандертальцев? Или это всё халтура и за 10к такое не сделать?

ox55ff ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Там весь интерфейс перед глазами. Реально весь. Для проблем - есть мои контакты в «About». Софт даже автоматически язык системы распознаёт и подстраивается под него (английский, русский, румынский, французский, болгарский, украинский пока есть).

В папке TEST_FILES - тестовые файлы, с примечаниями. Большая часть - из тестового набора NCBI OSIRIS, но есть аллельные маркеры и профили, полученные мной в ходе обучения на Field Application Scientist in HID и добавленные с разрешения кураторов - там только маркеры, положительные, отрицательные контроли и мой собственный профиль.

Ну и несколько от добровольцев, поделившихся данными клеточных линий, аллельных маркеров и т.д. Никаких персональных данных живых людей в самих файлах. Контрибьюшны указаны в ридми.

Dorif ★★★
() автор топика
Последнее исправление: Dorif (всего исправлений: 2)
Ответ на: комментарий от ox55ff

Есть несколько вариантов: ДНК микрочипы, массовое параллельное секвенирование, кПЦР и SNaPSHOT (этот можно проанализировать в моей программе). Я делал для себя через кПЦР гаплогруппы игрек хромосомы.

Dorif ★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Приятно, что ценят.) Если хочется - всегда открыт к приёму патчей, ревью и справедливой критике.) Ну и вообще - t.me/nurgle Буду рад пообщаться с любым человеком, кому интересно.)

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

Там весь интерфейс перед глазами. Реально весь

Не, я к тому чтобы в REAMDE раз оно уже md добавить

![картинко](doc/картинка.жпг)

Кто зайдёт в репу такой, вааа, хачу себе. Можно в самый низ сунуть, вверху текст, внизу картинка как ту в галлерее.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Над подумать. Но это скорее позже, когда стабилизируется. Ща активно добавляются функции и интерфейс претерпевает изменения, впрочем, небольшие, в пределах разумного и оставаясь узнаваемым - не гномопуть, короче.)))

Dorif ★★★
() автор топика

Одобрямс!

Но если ты опубликуешь эту программу в каком-нибудь научном журнале, ты можешь случайно испортить бизнес очень уважаемым чувакам по 16 килобаксов за программу.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Ну, публикацию таки готовлю. По-любому для PhD это надо.

Dorif ★★★
() автор топика

Впервые вижу чтобы кто-нибудь из ЛОРовчан написал что-то действительно полезное. Вы большой молодец. Надеюсь, доведете свою разработку до желаемого уровня (и про документацию к ней не забудете). За openSuse отдельный респект - сразу видно грамотного человека.

Obezyan
()
Последнее исправление: Obezyan (всего исправлений: 1)
Ответ на: комментарий от Dorif

Ну я свою и написал.

Невероятно круто!

Dimez ★★★★★
()
Ответ на: комментарий от Dorif

Максимум проканает человеческим набором типировать человекообразных бибизяну

Ну если на благо науки, то я в общем-то то не против.

Obezyan
()
Ответ на: комментарий от Obezyan

Спасибо.) Ну а Зюзя: хорошо готовит кеды, более гибкая, чем рхел, сохраняя широкую с ним совместимость, изменяема с помощью OBS, имеет удобный установщик для случаев, если надо заморочиться с LVM, software RAID и т.п. Профили безопасности, правда не позволяет сразу настроить на этапе установки как тот же рхел, но можно потом дошаманить по большей части. Ну и ещё это я ставил друзьям, в основном как раз из-за хорошей поддержки софтрайда (есть много дисков, надо юзать, купить один большой денег нет…).

А про полезное: я бы, в принципе, хотел как-то помочь развитию Qt и KDE, особенно в плане поиска уязвимостей, утечек памяти и т.д., чтоб они становились всё лучше и стабильнее, но я не уверен, что на это квалификации хватит.

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

Eще yast2, apparmor, нормально работающий wayland, репы для мультмедии и много чего еще. Нас, сюзеводов, тут буквально 1-2 десятка человек, остальные жрут кактусы разной степени колючести.

я бы, в принципе, хотел как-то помочь развитию Qt и KDE, особенно в плане поиска уязвимостей, утечек памяти и т.д., чтоб они становились всё лучше и стабильнее, но я не уверен, что на это квалификации хватит.

Судя по всему у вас интереснейшая специализация на стыке биологии, химии и математики. Программирование ложится на это все очень хорошо. Учитывая что свободных реализаций программ в этой сфере крайне мало, вам на годы вперед хватит развивать эту сферу. Лучше оставьте KDE и Qt другим, сосредоточившись на той сфере где вы реально незаменимы. Все ради принципа высшего блага (Империи Тау).

Obezyan
()
Последнее исправление: Obezyan (всего исправлений: 1)
Ответ на: комментарий от Obezyan

На самом деле, открытого и свободного в биоинформатике весьма много. Это таки становится правилом хорошего тона. Другое дело, что не всё из этого поддерживается достаточно длительное время. Но это уже другая проблема.

Допустим, в тех же fatools до сих пор юзаются депрекейтнутые ещё в NumPy 1.4 poly1d, polyfit. Я форкнул,переписал те места, отправил в апстрим - жду, примут ли, или уже забили.

Ну, в математике я себя всё равно ощущаю сквигом каким-то, зог.(

А вообще: за Императора! Hydra Dominatus!)

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

Да, порой на известных барахолках можно откопать неплохие девайсы с похожей судьбой. Мечтаю откопать Sun’овскую или SGI’ную рабочку в приличном состоянии, но пока не везёт :-(

nuxster ★★
()
Ответ на: комментарий от nuxster

На молдавских барахолках такие гости - редкость.)

Dorif ★★★
() автор топика

Очень круто! Побольше бы таких разработок!

Frost ★★★
()
Ответ на: комментарий от Obezyan

Впервые вижу чтобы кто-нибудь из ЛОРовчан написал что-то действительно полезное.

Ни в коей мере не принижая заслуг автора – это вот на полном серьёзе сказано? А разработчики нынешней инкарнации Midnight Commander, авторы Stellarium, Qucs-S и ещё дофига всего?

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Ну, не все знают, что разработчики этого тут тусят. А Midnight Commander ща ещё не все помнят (я помню, иногда юзаю). Про Stellarium не знал, хотя юзаю его (как ник разработчика и как сказать спасибо, кроме покупки в гуглплей (это у меня кажись единственное купленное ПО)?), Qucs-S слышал, но не юзал.

Dorif ★★★
() автор топика
Ответ на: комментарий от hobbit

А Krita и Kdenlive?) Пользуюсь ими, доволен. Ещё Darktable, Inkscape, Dia. Хотя GIMP в своё время тоже зело помог.

Dorif ★★★
() автор топика
Ответ на: комментарий от hobbit

Респектище товарищу! Из планетариев прям самый универсальный. Удобно со смартфона юзать.

Dorif ★★★
() автор топика
Ответ на: комментарий от hobbit

Ни в коей мере не принижая заслуг автора – это вот на полном серьёзе сказано? А разработчики нынешней инкарнации Midnight Commander, авторы Stellarium, Qucs-S и ещё дофига всего?

Да, на полном серьезе. Я не видел тут разработчиков того что вы написали, видимо они тут были раньше меня, или не попадались их темы, поэтому и написал что ВИЖУ впервые.

Obezyan
()
Ответ на: комментарий от Obezyan

видимо они тут были раньше меня, или не попадались их темы

Ладно, уговорил. :) Хотя про Qucs-S новость от автора совсем недавно была.

hobbit ★★★★★
()

NCBI OSIRIS, но он только для венды и макоси. Есть fatools, есть что-то для R, но не интерактивное ни разу.

А UGENE?

dataman ★★★★★
()
Ответ на: комментарий от hobbit

Хотя про Qucs-S новость от автора совсем недавно была.

Видимо, я пропустил, был в отпуске.

Obezyan
()
Ответ на: комментарий от dataman

Он сиквенсы анализирует, а не фрагменты. Это другое подмножество ABIF.)

Dorif ★★★
() автор топика
Последнее исправление: Dorif (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.