Использование UML для эксперимента по эволюционной систематике прокариот, и косвенно о психологии ученых

    Эта статья продолжение двух других Интересные результаты о эволюционной систематике прокариот или «многовидовое происхождение», Геномы секвенированных организмов — ошибки в базах.

    После них я имел честь получить некоторую обратную связь как от интересующихся, так и от профессионалов в этом вопросе. Также, как можно было видеть, была достаточно оживленная дискуссия. С одной стороны я хотел бы ответить на полученные замечания.

    С другой поставить новый эксперимент. И было бы желательно привлечь к этому тех кто интересуется подобными вещами. Если у вас нет времени — может у вас есть свободное процессорное время :)?



    Позиция NCBI

    Благодаря Kalobok, который работает в NCBI удалось выяснить почему «люди из NCBI не проводят такой простой кросс-анализ» (см. Геномы секвенированных организмов — ошибки в базах). Надо сказать разговор с Kalobok был не очень приятным. Вначале, как и многие комментирующие он пытался меня учить, всячески намекать, что я ни в чем не разбираюсь, все не так делаю и т.п.

    Вот несколько характерных цитат из переписки: "Суть ваших претензий… связаны с неправильным использованием данных.… исправлять там нечего. Нужно просто правильно пользоваться данными.", "Насчет антикодонов — я уже сказал, я не помню деталей, так что не могу комментировать. Судя по вашему уровню знаний, вам тоже нет особого смысла рассуждать на эту тему. Сначала разберитесь, можно ли вообще сравнивать геномы разных организмов.", "Давайте сначала источник свой информации про 34-35-36. Потому что с вероятностью 99% любой биолог ответит, что это неправда и дальше обсуждать будет нечего. Еще раз попробуйте понять, что в NCBI сидят не школьники-недоучки, а профессионалы. И подозревать их в том, что они гонят больше половины бракованных данных я не склонен. Скорее, я буду считать, что ошибается непрофессионал, который полез в чужую область.", "Учтите, что NCBI ориентирован, в первую очередь, на биологов. Их вполне устраивают имеющиеся данные и инструменты. А единственный программист не-биолог с непонятными идеями погоды не делает.", "Вот мнение шефа группы бактериальных геномов после прочтения статьи: Да, довольно наивно… Такие работы ведутся последние 20 лет. А это какой-то кустарь-одиночка"

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

    Как же выжить в этом злобном мире :)

    Что же делать человеку, который не имеет соответствующего диплома, но имеет знания в узкой, но не своей сфере? Увы, к нему всегда будет отношение начиная с "твой пост кишит самоуверенностью одаренного студента", до содержащего поучительный, покровительственный тон "А вообще-то очень интересно. Поправьте язык, добавьте обзор литературы, опишите методы и результаты, уберите спекуляции из обсуждений и, может быть, что-нибудь и получится.", " >а там только у виска покрутят$ — Не покрутят, нормальная работа. Если добавить ссылок, то может на диплом наберется; Правда дискуссия с автором показывает, что дальше предзащиты дело бы не пошло".

    Но тут главное понимать несколько психологических моментов. Человек с дипломом и с теплым местом — распоясывается. Даже не имея соответствующих знаний (не в широком аспекте, а в данной конкретной задаче) он позволяет себе высказываться в духе «превосходства над собеседником». Дискуссия, как правило, ведется не по сути, а выискивается наиболее слабый аргумент собеседника, или намеренная спекуляция, далее советуется «сынок, почитай, поучи вот это» причем как правило не имеющие отношение к вопросу, сильные аргументы игнорируются, а далее выясняется имеешь ли ты диплом, кто у тебя папа с мамой и т.п.

    С этим я встречался, ну на протяжении лет 10 неоднократно. Мой совет простой — игнорируй. Не ведись на провокации, и не учи то, что тебе говорят — тебе это не нужно. Первый подобный случай, был у меня в школе, когда высказывался по литературным персонажам, например, о «Мастере и маргарите» или о Наташе Ростовой с «Войны и мира». Тогда мне говорили, как же можно отрицательно высказываться о том, что не читал. Тогда я повелся и прочитал «Мастера ...» и тогда смог со всей щепетильностью высказаться на этот счет. С Наташей было проще (роман читал лишь по диагонали), писали сочинение — там доказательно написал, что этой девице не стоит уделять такое важное внимание — оно того не стоит. Была оценка отлично, с комментарием в виде «все очень хорошо обоснованно цитатами, но может быть стоит посмотреть на неё с другой стороны, как на проявление русской души… ». Не стоит, сказал я тогда, и пошел во взрослую жизнь :)

    Со временем мне стало жаль времени, когда его тратишь на белеберду. К чему литература спросите Вы — да все одно к одному, с тех пор все и закладывается — или тебя будут вести, или ты будешь сам решать.

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

    Впрочем, извиняйте за это лирическое отступление. Дальше по сути.

    Чем закончилось дело с NCBI?

    Как и следовало ожидать они признали свои ошибки, но сделали это с хорошей миной на лице :)

    " Те данные, которые вы взяли с фтп, — это исходные последовательности и аннотации, присланные исследователями. Они еще не проверены в NCBI, и ошибок там может быть достаточно много [они помечены как] This record has not yet been subject to final NCBI review… Даже в проверенных данных подобные ошибки могут встречаться, как из-за не 100% надежности проверок, так и по историческим причинам (во многих старых записях полагались на надежность данных сабмиттеров и дополнительных проверок не делали — так они пока и лежат). В принципе, такие данные периодически пересматриваются и исправляются.… Один из биологов явно сказал, что если бы ему по какой-то причине использовать сырые данные из генома, он бы просто скорректировал их вручную. Но, скорее всего, использовал бы tRNAdb [это другая база, где данных меньше, но они исправлены]. "

    "Тут, кстати, еще один товарищ откликнулся. Говорит, сейчас наша стандартная программа для проверки данных просто не проверяет правильность тРНК. Потому что сильно дорого получается по вычислительым мощностям. Планируют написать отдельную программу для этого, но пока есть более приоритетные задачи. Так что ждите."

    Поэтому лирика лирикой, но факт оказался фактом. Можно долго «накидываться» на программиста-не биолога, но факт в том, что более 50% данных из NCBI не проверены — есть достоверный и признанный факт. Не стоит это воспринимать как критику NCBI — они делают и содержат много хорошей информации, которая даже при ошибках ценна. Это просто для информации биологам, которые рассказывали сказки в комментариях в прошлых статьях.

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

    Исправлений ошибок мы не дождемся. Но что же можно сделать без этого?

    Основная критика статьи Интересные результаты о эволюционной систематике прокариот или «многовидовое происхождение» заключалась в следующей претензии "Нельзя рассматривать один ген в качестве мерила". С этим я полностью согласен, и новые эксперименты должны это исправить.

    Немного цифр. Сейчас в NCBI есть порядка 2000 геномов бактерий. При подготовке к эксперименту, я выделил все тРНК, которые помечены таким образом. Их оказалось более 40 тысяч уникальных вариаций. Но увы, среди них много ошибок.

    Но я подумал, что можно пропустить этап полноценного исправления ошибок. Как это сделать? Я рассортировал указанные тРНк по длине и по наличию конца CCA на конце последовательности. Надо сказать, что последовательность CCA обязательна для любой тРНК, а длина может быть от 74 до 96 нуклеотидов.

    В NCBI есть много чудес вплоть до тРНК из одного нуклеотида, или более 1300 :) (без улыбки не скажешь). Поэтому я убрал последовательности, которые имеют длину до 70 и больше 100, а также те которые не оканчиваются на CCA.

    Их стало около 20000. Это наиболее вероятные тРНК, которые не содержат ошибок из NCBI. С оставшийся половиной тРНК — можно разобраться позже.

    На самом деле, для планируемого эксперимента без разницы содержит ли ошибки данная конкретная последовательность длиной 70-100 нуклеотидов или нет. Почему? Так как я собираюсь перепроверить по геномам 2000 бактерий, действительно ли есть такие последовательности — ошибки будут исключены. А тРНК это на самом деле или нет это дело второе. Главное, что у разных организмов совпадают значительные участки ДНК. Совпадение последовательности длиной 70-100 в геномах — дело далеко не случайное. Уже после длины > 10 случайность совпадения приближается к нулю, а при 70-100 это уже какая та важная часть генома, которая не может просто случайно совпасть в разных организмах.

    Поэтому, что теперь я делаю. Беру этих 20000 тРНК и нахожу в каких бактериях они присутствуют. Если последовательность присутствует только в одном организме — это не интересно. И скорее всего это ошибочная последовательность. И таким образом отсеивается еще солидный процент ошибок.

    Если же последовательность есть в более чем в одном организме — это одна ассоциация (связь) между двумя организмами.

    Дальше встал вопрос как это хорошо визуализировать. Идея такая — организм — это класс. Текущая филогенетическая систематика в виде дерева — это наследование между классами.

    тРНК — это свойство класса, а агрегация этих свойств в разных организмах — это горизонтальный перенос генов (та самая ассоциация).

    Сгенерировав соответствующий костяк кода, можно отобразить это автоматически с помощью UML и наглядно увидеть все эти связи в диаграмме классов.

    В чем проблема?

    Сейчас проблема в процессорном времени. Я составляю базу наличия 20000 тРНК в 2000 геномах бактерий. За сутки обрабатывается только около 100 тРНК. Поэтому я был бы благодарен тем, кто заинтересуется и поможет с процессорным временем — ну типа недораспределенный проект :)

    Если кто заинтересуется, пишите личными сообщениями — нужно место на харде порядка 50Гб, немного времени, чтобы я объяснил что к чему, и тогда я смогу присылать пакеты по 100 тРНК для обработки, а вы мне после обработки отсылать результаты.
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 14

      0
      Маленькое замечание не по делу:

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

      Не «диплом биолога», а кфмн (да, по биофизике, но с уклоном в мат. моделирование). Опыт в программировании у меня к моменту получения работы в NCBI был больше 10 лет. Теперь, стало быть, больше 20. :)

      Ну и не могу не придраться к мелочи, сказанной матерым программистом:

      Уже после длины > 10 случайность совпадения приближается к нулю

      Давайте посчитаем вместе. В каждой позиции у нас 4 варианта. 10 позиций подряд — 4^10 = 1 мегавариант. Длина бактериального генома вполне сопоставима. Так что вероятность случайного совпадения отнюдь не приближается к нулю. Скорее, к единице.

      Удачи.
        0
        > Давайте посчитаем вместе.

        Сделайте проще. Возьмите строку из 10 случайных нуклеотидов и проверьте сколько совпадений вы получите в геноме. Число будет крайне малым.
          0
          А теорвер и не говорит, что совпадений должно быть много. Но вероятность найти хотя бы одно случайное совпадение в двух произвольных геномах достаточно высока.

          Я вот взял первую попавшуюся бактерию, поискал несколько случайных последовательностей из 10 баз. Из 5-6 проб не нашлась только одна (возможно, она тоже нашлась бы, если бы файл не был порезан на строки). Некоторые нашлись по 2-3 раза. Увы.
            0
            Ну, так вы просто слишком буквально трактуете мою фразу, не замечая знака больше десяти и слова «приближается».

            То что вы нашли по 2-3 раза — это мало. И заметьте, что это не случайно — посмотрите, что это за участки ДНК — наверняка речь идет о дубликате одного и того же белка или РНК. А одно совпадение — это уже отсутствие случайности совпадения.
              0
              Давайте вернемся к вашему начальному утверждению. Вы говорили, что вероятность совпадение даже 10 баз между разными геномами близка к 0. Не очень понятно, имелось ли в виду совпадение между двумя геномами, или присутствие одинаковой строки во всех 2000, но это не принципиально.

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

              Даже если вы возьмете 2000 геномов, вероятность, что они все пересекутся хотя бы по одной 10-символьной строке достаточно велика и уж точно не стремится к 0.

              С более длинными строками, конечно, будет получше. Но тоже без гарантии.

              Кстати, не забудьте, что, строго говоря, надо проверять и комплементарные строки. Это еще повышает вероятность «успеха».
                0
                Ладно, с 10-ю убедили. Но с 70 там гарантии 100% :) Иначе бы ошибался сам генный аппарат. Да, и не натыкался я никогда на такой случай, чтобы искал тРНК, а получил бы кусок какого-то белка.

                Но, я говорил, все-таки немного другое, вероятность того, что последовательности, большие 10 баз является частью другого гена достаточно мала. Т.е. встретится она может в геноме, но того, что это будут участки разных генов — это редкость.

                Возможно оценки 10, которая конечна взята с потолка, мало — при желании можно задаться цель и выяснить сколько же 20 или 30… но не суть.
                  +1
                  100% гарантии нет нигде. :) И генный аппарат вполне может ошибаться. Просто эти ошибки попадают в мусор и никому не видны. Хотя, вероятность, конечно, не так велика, как для 10-11 баз.

                  И я, все-таки, думаю, что 10 — маловато. Лучше брать побольше — там вероятность ошибки падает достаточно быстро.
                    0
                    Согласен. Но на практике я и взял побольше — от 70.
                0
                А, да, 2-3 раза в одном геноме, в разном окружении (проверил, ага) — нет, это точно не копии одного гена. Это именно случайность.
          +2
          Я правильно понял, что UML по сути только для визуализации графа? Почему бы не воспользоваться более абстрактными средствами (тот же Graphviz) и рассуждать в терминах вершин и рёбер графа? Сравнение с классами кажется несколько натянутым…
            0
            Можно и так, возможно так даже проще будет, но не столь выразительно как на UML.
              0
              Впрочем отобразить то можно. Но тут главное начать группировать, а в Graphviz вершины не Drag&Drop, поэтому тягать не представляется возможным :(
              0
              Мир учёных жесток… но это не значит, что нужно быть «борзым». ИМХО наилучшая стратегия пробивания в этот мир — занудство и результаты.
                0

                Only users with full accounts can post comments. Log in, please.