Найти в Дзене

Два способа посчитать поддержки Бремера с помощью TNT

В прошлый раз я написала о том, как посчитать статистические поддержки в TNT. Теперь пришла очередь поддержек Бремера (их суть объяснена здесь). Для того, чтобы их посчитать, надо сначала провести филогенетический анализ любым способом (как это делать, написано по ссылкам Часть 1 и Часть 2). На основе его результатов и деревьев в памяти программы будут подсчитываться поддержки. Когда анализ завершится, надо в главном меню выбрать Trees, и в выпадающем меню Bremer Supports. Появится вот такое окно Тут можно все оставить как есть. Только в Calculate supports надо переставить галку с "existing suboptimal trees" на "TBR from existing trees". Дело в том, что TNT в норме не сохраняет все деревья, потому что это будет требовать много памяти и времени. Поэтому потребуется сделать дополнительно TBR на имеющихся деревьях, чтобы найти больше топологий с определенной длинной. Давайте проведем эксперимент и оставим галку на existing suboptimal trees, то есть использовать деревья, которые уже ес

В прошлый раз я написала о том, как посчитать статистические поддержки в TNT. Теперь пришла очередь поддержек Бремера (их суть объяснена здесь).

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

Когда анализ завершится, надо в главном меню выбрать Trees, и в выпадающем меню Bremer Supports.

Появится вот такое окно

-2

Тут можно все оставить как есть. Только в Calculate supports надо переставить галку с "existing suboptimal trees" на "TBR from existing trees". Дело в том, что TNT в норме не сохраняет все деревья, потому что это будет требовать много памяти и времени. Поэтому потребуется сделать дополнительно TBR на имеющихся деревьях, чтобы найти больше топологий с определенной длинной.

Давайте проведем эксперимент и оставим галку на existing suboptimal trees, то есть использовать деревья, которые уже есть в памяти. И нажмем OK. Получится вот такое результат, и, как видите, смысла в нем нет.

-3

Теперь давайте все же поставим галку на TBR from existing trees. Тут у нас программа спрашивает, какой длины сохранять деревья при TBR. То есть насколько шагов больше длины самых экономных деревьев надо сохранять результат.

-4

Например, если у нас длина самого экономного дерева 50, и мы в этом окне поставим 2, то он будет сохранять все, что длиной 51 и 52. Если поставим 5, то будет сохранено все, что имеет длину 51, 52, 53, 54 и 55, и так далее. И уже из этих результатов будет высчитываться поддержка. Я обычно ставлю 10, потому что, как правило, через 10 шагов все ветви схлопываются.

Жмем ок, и программа выдает вот такой результат

-5

Его можно сохранить в графическом режиме, как описано здесь.

В этом случае самое экономное дерево имеет длину 198. Самая высокая поддержка здесь - 4, таким образом при построении строгого соответствия всех деревьев с длинами 198, 199, 200, 201 остаются только три ветви, у которых поддержка 4. При добавлении деревьев с длиной 202 схлопываются все ветви.

Считается, что этот способ считать поддержки Бремера завышает результаты, и надо считать поддержки с помощью скрипта Bremer.run, который скачивается вместе с программой. Этот скрипт должен вроде как строить результат на большем количестве деревьев. Еще раз предупреждаю, что скрипты tnt работают, только если сам tnt.exe файл, матрица и скрипт лежат в одной папке. В пути к этой папке не должно быть кириллицы и пробелов. Чем проще путь, тем больше вероятности, что все запустится.

Запускаем скрипт, написав в командной строке Bremer.run (то есть название файла со скриптом). Убедитесь, что в вашем случае файл называется именно так. Если нет, то введите название вашего файла со скриптом.

-6

Появляется вот такое окно

-7

Тут ничего менять не надо. После того, как вы нажали Ok, программа может выдать несколько (или несколько десятков) предупреждений до того, как выдаст результат.

Я привожу для сравнения два дерева. Слева то, которое получилось при запуске расчета поддержек Бремера из меню, справа - из скрипта.

-8

В целом поддержки очень похожи, но все же не идентичны. В двух случаях в результатах из меню действительно поддержки выше, однако в одном случае в результате из скрипта тоже есть поддержка на 1 выше того, что из меню. Так что нельзя сказать, что расчет из меню действительно всегда завышает поддержки. Что из этого использовать? Вроде как запуск из меню проще и всегда работает. С другой стороны запуск из скрипта считается достовернее. Возможно, стоит все же оба способа попробовать.

И осталось сравнить результат с тем, что получилось при подсчете статистических поддержек. Здесь я поместила поддержки Бремера из скрипта и Jacknife supports (symmetric resampling и bootstrap supports похоже на них).

-9

Клады, которые были всегда примерно 90 или выше при подсчете статистических поддержек, здесь также поддерживаются довольно высокими значениями 3 или 4 (я отметила такие ветви красным).

Однако некоторые ветви имеют значительные поддержки Бремера (3), но в случае статических поддержек эти они либо не поддерживаются, либо "на грани" примерно 50 (такие случаи отмечены желтым). Ну и один случай обратный, я отметила синим, когда клада поддержана статическими поддержками, в данном случае 60, но поддержки Бремера у нее нет (то есть 1).

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