Шаблон: Clade


Документация по шаблону [ просмотреть ] [ изменить ] [ история ] [ очистить ]

Этот шаблон используется для рисования ветвящихся деревьев, где метки узла и базы являются интерактивными ссылками. Такие диаграммы особенно подходят для представления эволюционных деревьев ( кладограмм ).

Основные характеристики

Применение

{{clade| label1 = База| 1 = Узел}}

производит

{{clade| 1 = {{clade | label1 = [[Поддерево1]] | 1 = Лист1 | label2 = Поддерево2 | 2 = [[Leaf2]] }}}}

производит

{{clade| 1 = {{clade | label1 = Поддерево1 | 1 = Лист1 | label2 = Поддерево2 | 2 = Leaf2 }}}}

производит

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

{{clade| 1 = {{clade | 2 = Leaf2 | 1 = Лист1 | label1 = Поддерево1 | label2 = Поддерево2 }}}}

Техническое образование

Шаблон clade имеет множество функций для настройки внешнего вида. Их оптимальное использование требует некоторого понимания того, как работает шаблон. Кладограмма строится с использованием вложенных HTML-таблиц, а линии кладограммы являются границами ячеек ( тегов). Каждый шаблон clade создает HTML-таблицу со следующими элементами:

Укладка кронштейнов и ответвлений

Появление кладограммя может быть изменено путем изменения границ атрибутов элементов HTML ячейки, используя параметры |state=, |color=и , |thickness=как показано ниже:

Обратная клада

Кладограммы также могут быть созданы справа налево с помощью {{ cladeR }}, как показано ниже.

Хотя это имеет ограниченную ценность в английской Википедии, это может быть полезно для представления альтернативных филогений, например, как в следующем примере:


Данные в формате Ньюика

Распространенным методом представления филогенетических данных является использование формата Ньюика . Многие опубликованные статьи предоставляют данные в формате Newick в своих дополнительных материалах, а некоторые таксономические и фитогенетические веб-сайты предоставляют возможность загрузки (например, Open Tree of Life ). Эти струны Ньюика можно использовать для создания кладограмм несколькими способами.

Строки Ньюика как ресурс

Во-первых, данные формата Newick можно использовать для создания разметки структуры клады с помощью текстового редактора или одного из нескольких инструментов.

Филогенетическое дерево, показанное справа, представлено следующим кодом Newick и {{ Clade }}

  • Формат Ньюика: ((a,b),(c,d))
  • Код клады: {{clade |1={{clade |1=a |2=b}} |2={{clade |1=c |2=d }} }} }}

Ручная процедура преобразования в текстовом редакторе:

  1. Замените "(" на "{{clade |"
  2. Заменить "}}"
  3. Изменить, чтобы заменить запятые на трубы и числа
  4. При необходимости отредактируйте метки клады

К счастью, есть несколько способов автоматизировать эту задачу.

  1. Один из способов - использовать шаблон NewickConverter (см. Инструкции в нем).
  2. В качестве альтернативы можно легко сгенерировать требуемый кладовый код, загрузив бесплатную утилиту Windows «Claded» по ссылке http://code.google.com/p/claded , «Claded», позволяющей редактировать кладограммы с использованием элемента управления в виде дерева.
  3. Пример сценария Perl для автоматизации преобразования:
использовать  константу  N => "\ n" ; использовать  константу  T => "\ t" ;мое  $ tree = '((a, b), (c, d));' ;  # получаем последовательность $ tree = ~ s / [\ n \ r] // g ;  # теряем эти пробелы $ tree = ~  s / \: [\. \ d] + // g ;  # теряем эти длины, пока  ( $ tree = ~  m / \ (/ )  { foreach  my  $ clade  ( $ tree = ~  m / \ (([^ \ (\)] +) \) / g )  { my  @branches = split  / \, / , $ clade ; s / (\ t +) / $ 1 \ t / g  для  @branches ; die  'ОШИБКА: вырожденный / пустой узел!' . N,  если  $ # ветвей < 1 ; $ tree = ~  s / \ (\ Q $ clade \ E \) / $ {\ join ('', '{{clade', N, map (T. '|'. ($ _ + 1). '='. $ Branch [$ _]. N, 0 .. $ # ветки), T. '}}')} / ;  # Замена } pos ( $ tree ) = 0 ; } $ tree = ~ s / (\ t *) \ t \} \} / $ 1 \} \} / g ;  # отложенное исправлениеprint  $ tree ;

Прямое использование строк Ньюика

Данные формата Newick также могут быть добавлены с помощью |newickN=, где N относится к дочернему узлу (как и другие параметры).

Например, следующая строка Ньюика

((лев, ягуар, леопард), ((сибирский, бенгальский) тигр, снежный барс)) пантера

можно вставить в код клады, как в следующем примере:

Данные формата Newick, предоставленные Open Tree of Life, и другие источники обычно содержат посторонние данные кодирования. Это может быть удалено с использованием |newickN-pattern=и |newickN-replace=параметров , которые поставляют шаблон Lua ( по аналогии с Regex) и замену. В следующем коде используются данные в формате Ньюика для рода Prionailurus, загруженные с помощью Open Tree of Life ( исходные данные ):

{{clade | Newick1 = (Prionailurus_planiceps_ott86166, (((Prionailurus_bengalensis_chinensis_ott198595, Prionailurus_bengalensis_euptilurus_ott547362, Prionailurus_bengalensis_bengalensis_ott5557509, Prionailurus_bengalensis_rabori_ott7067613) Prionailurus_bengalensis_ott280108, Prionailurus_iriomotensis_ott418475), Prionailurus_viverrinus_ott862641), Prionailurus_rubiginosus_ott507541) Prionailurus_ott570215 | newick1-pattern1 = ([% a _] *) _? (ott [% d] *) | newick1-replace1 = ''% 1 '' | newick1-pattern2 = Prionailurus_ | newick1-replace2 = P._ | newick1-pattern3 = bengalensis_ | newick1-replace3 = b._  }}}}

производит

Использование коробки

Вы можете вкладывать шаблоны и использовать ссылки вокруг текста. Вы можете использовать неразрывные пробелы (& nbsp;), чтобы получить пробелы или иметь метки с пробелами.

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

{{cladogram | title = Пример| caption = Образец {{tl | Cladogram}}| clades = {{clade | стиль = размер шрифта: 75%; высота строки: 75%; | label1 = [[Neornithes]]   | 1 = {{clade | label1 = [[Paleognathae]] | 1 =  | label2 = [[Neognathae]]  | 2 = {{clade | 1 = Другие птицы | label1 =  | label2 = [[Galloanserae]]  | 2 = {{clade | 1 = [[Anseriformes]] | label2 =     | 2 = {{clade | 1 = [[Galliformes]] | 2 = [[Craciformes]] }} }} }} }} }}}}

Управление планировкой сестер

Когда одна сестра представлена ​​как листовой узел, а другая - как помеченный субклад, они не кажутся находящимися на одном уровне. Рассмотрим кладограмму:

Хотя Banksia  subser. Sphaerocarpae и Banksia  subser. Leptophyllae - сестры, их названия на кладограмме не совмещены. Если это считается нежелательным, одним из решений является использование метки в обоих случаях, как показано ниже, которая теперь показывает сестер на одном уровне.

Еще одна «уловка» - ввести пустую кладу. Красная линия в следующем примере показывает, где была вставлена ​​дополнительная кладка:

Для этого вместо

{{clade | 1 = Сестра1 | label2 = Sister2 | 2 = {{clade | 1 = таксон1 | 2 = taxon2}}}}

который отображается как:

использовать

{{clade | 1 = Сестра1 | 2 = {{clade  | label1 = Sister2 | 1 = {{clade | 1 = таксон1 | 2 = таксон2 }} }}}}

который отображается как:

Брекетинг и маркировка узлов

Добавление вертикальных полос и скобок

Чтобы вставить цветную `` скобку '' вокруг набора листовых узлов, следующих друг за другом на сгенерированной кладограмме:

  • Добавьте для первого листового узла, где N - порядок этого листового узла в его кладе, а цвет - это требуемый цвет.barbeginN=colour
  • Добавьте для остальных узлов, кроме последнего (обратите внимание, что N должен быть порядком этого узла в его кладе).barN=colour
  • Добавьте для последнего узла.barendN=colour

Обратите внимание на использование неразрывного пробела (  ) для перемещения вертикальной полосы из конечного текста.

Горизонтальные линии можно опустить, если использовать повсюду. Таким образом, следующие простые вертикальные полосы:|barN=colour

Указание цветов скобок

Вы можете использовать любой из способов указания цветов в HTML ; например, стандартные названия цветов , обозначения из трех или шести шестнадцатеричных цифр, такие как # FC3 или # F3C630, или rgb()обозначения.

Добавление текстовых меток в скобки

Рекомендации по обеспечению доступности требуют, чтобы страницы не полагались только на цвет, поэтому особенно важно добавлять метки, если у вас более одной скобки / полосы и вам нужно ссылаться на них отдельно. Доступны несколько методов.

  1. Текстовые метки для каждой скобки / полосы можно добавить с помощью {{ Barlabel }} (см. Инструкции на странице шаблона).
  2. Используйте |grouplabelN=параметр. Это добавляет метку справа от правой скобки или полосы, как показано в следующем примере. В правом столбце показано, как |grouplabel=добавить ячейку HTML справа от листа терминала.

В приведенном выше примере grouplabel использовался для маркировки стержня, обозначающего всю кладу. Он предоставил альтернативу labelA. Однако, если полоса применяется только к некоторым терминалам, |grouplabelN=ее можно использовать для обозначения парафилетических групп. В следующем примере также демонстрируется использование |grouplabelstyleN=CSS-стиля для групповой метки, в данном случае - color.

|grouplabel=Параметр может быть использован для добавления нескольких меток с помощью {{ ответвлений меток }} шаблона. Этот шаблон использует абсолютное позиционирование CSS для определения размещения метки. При применении к |grouplabel1=параметру на внешнем кладе он ведет себя очень похоже на {{ barlabel }}. Ниже показан простой пример обозначения двух групп:

|grouplabel=Параметр может содержать любые или вика - текст допустимого содержания HTML и это дает большую гибкость в настройке кладограмм. В следующем примере используется |grouplabel=для добавления альтернативной топологии с использованием {{ cladeR }}:

Отладка

Если на кладограмме не отображаются скобки / полосы, как вы ожидали, проверьте, что:

  • Вы понимаете систему нумерации параметров barNи т. Д. N должно быть таким же, как номер дочернего элемента в его кладе. Таким образом, обычно вы должны написать , например .|N=label for leaf|barN=colour for bar|2=[[Passeridae]]|bar2=midnightblue
  • Вы только попытались применить скобки / полосы к листовым узлам.

Ограничения

Длина этикетки

Этикетки, произведенные компанией |labelN=, где Nравно 1, 2, ..., могут привести к плохой разметке полученной кладограммы. (Это не относится к тексту листов, то есть к тексту, созданному |N=.) Чтобы избежать проблем:

  • Ярлыки должны быть как можно короче, в идеале - одно слово.
  • Все необходимые пробелы в метках должны быть представлены как & nbsp; не как настоящие пространства.
  • Разрывы строк (например,
    ) использовать не следует.

Различия в браузерах

Вариант браузера: слева - большинство браузеров; справа - Safari

Кладограммы строятся путем создания скрытых таблиц. Горизонтальные и вертикальные линии, составляющие дерево, на самом деле являются краями ячеек таблицы. Таблицы затем рисуются браузером или пользовательским агентом с использованием своих внутренних алгоритмов. Поскольку они отличаются от браузера к браузеру, созданные деревья не будут выглядеть одинаково во всех браузерах.

В частности, по состоянию на январь 2017 года существует два алгоритма компоновки таблиц с пустыми ячейками, которые используются двумя группами браузеров. Большинство браузеров теперь используют алгоритм, который создает кладограммы, подобные двум слева на диаграмме. Safari (как под MacOS, так и под iOS) использует другой алгоритм, создавая кладограммы, подобные двум справа на диаграмме.

Автоматического «исправления» этих различий в настоящее время не существует.

Если есть выбор порядка расположения конечных узлов (листьев) дерева, кладограммы выглядят лучше всего в браузере, подобном Safari, если в нижней части кладограммы имеется как можно больше ветвлений. Обычно это достигается расположением конечных узлов на странице вниз в порядке их эволюционного расхождения. Сравните нижний ряд диаграммы с верхним.

Включение в книги

Есть много известных ошибок в отображении таблиц в программном обеспечении, которое выпускает книги Википедии ; см. страницу отзывов об инструменте для книги . По состоянию на июль 2011 г. это приводит к тому, что строки на кладограммах не отображаются в книгах.

Большие кладограммы

Существуют ограничения по размеру и сложности кладограмм, которые можно нарисовать:

  • На узел допускается не более 20 дочерних элементов.
  • Программное обеспечение Викимедиа имеет определенные ограничения на обработку, разрешенную шаблонами и модулями. Большие кладограммы потенциально могут превышать некоторые из этих ограничений.
    • Включать размер после расширения. По сути, это результат работы всех шаблонов, модулей и вызовов парсера. Страницы с очень большими или несколькими большими кладограммами иногда превышают этот предел, особенно на больших страницах с большим количеством ссылок и другими требованиями к системе.
    • Предел глубины раскрытия шаблона. Когда используется шаблон, он увеличивает глубину раскрытия, один раз для расширения шаблона и один раз для расширения параметров. В результате вызовы шаблонов могут быть вложены не более 20 в глубину. Поскольку кладограммы строятся путем вложения шаблонов друг в друга, это обычная проблема для более крупных филогенетических деревьев. К счастью, теперь есть способы обойти эту проблему (см. Следующий раздел).

Приемы построения больших кладограмм.

Поскольку кладограммы создаются путем вложения шаблонов {{ clade }} друг в друга, более крупные кладограммы могут превышать глубину расширения, разрешенную программным обеспечением Викимедиа. Кладограмма справа не работает на двадцатом шаблоне вложенной клады.

Есть два способа обойти это ограничение:

  • использование шаблона {{ clade sequence }} и
  • использование поддеревьев в шаблоне {{ clade }}.

Использование последовательного перечисления таксонов

В этом подходе используется шаблон {{ clade sequence }} для перечисления таксонов в таксономической последовательности . В следующем примере в шаблоне последовательно перечислены шесть таксонов, и на кладограмме первый из них является первой ветвью, второй - следующей и так далее, пока последние два не станут сестрами. Поскольку все таксоны добавляются за один вызов шаблона, это учитывается только один раз при достижении предела в 20. Обратной стороной является то, что невозможно отформатировать каждый уровень независимо.

Второй пример показывает, что некоторая подструктура может быть добавлена ​​к каждому уровню при обычном использовании шаблона {{ clade }}.


Использование поддеревьев

Этот метод использует параметры |target=и |subclade=для «модульности» филогенетического дерева. Каждое поддерево обрабатывается параллельно, поэтому они не влияют на глубину раскрытия аддитивным образом. Ограничение применяется к каждому дереву, но можно использовать много поддеревьев.

Базовая компоновка проиллюстрирована ниже. Главное дерево имеет два подклада, A и B, а подклад B вызывает третий.

Кодирование основано на ряде соглашений.

  • Имена подкладов пишутся прописными буквами и заключаются в одинарные фигурные скобки. Это не является абсолютно необходимым, если имена уникальны, но некоторые дополнительные функции (например, частичное включение) полагаются на это соглашение.
  • Параметры |subcladeA=, |subcladeB=... |subcladeZ=содержат поддерева в филогенетической ветви структуры , которые будут подставлены в основное дерево.
  • Параметры |targetA=, |targetB=... |subcladeZ=содержат цели , где будут замещены поддеревья. Например, |targetA={SUBCLADE_A} указывает, что цель {SUBCLADE_A}будет заменена содержимым .|subcladeA=content
  • Целевые параметры могут быть опущены, а целевыми значениями по умолчанию являются {SUBCLADE_A}и {SUBCLADE_B}для |subcladeA=и |subcladeB=, соответственно.
  • Суффиксы AZ были выбраны потому, что эти параметры не соответствуют другим пронумерованным параметрам, используемым в шаблоне (например |1=, |label2=и т. Д.
  • Все подклады могут быть перечислены во внешнем шаблоне клады или вложены в соответствующее дерево. Например, в примере субклад C указан в конце внешнего шаблона клады, но он мог быть вложен в шаблон клады, прикрепленный к поддереву B.

Пример большого филогенетического дерева, разделенного на несколько поддеревьев, можно найти в {{ Phylogeny / APG IV }}.

Добавьте интерактивности с помощью складных кладов

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

В следующем примере показан простой пример, иллюстрирующий принцип:

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

Графическое резюме