Esta plantilla se utiliza para dibujar árboles ramificados en los que las etiquetas de los nodos y las bases son enlaces en los que se puede hacer clic. Estos diagramas son especialmente adecuados para representar árboles evolutivos ( cladogramas ).
{{ clado | etiqueta1 = Base | 1 = Nodo }}
produce
{{ clado | 1 = {{ clado | etiqueta1 = [[ Subárbol1 ]] | 1 = Hoja1 | etiqueta2 = Subárbol2 | 2 = [[ Hoja2 ]] }} }}
produce
{{ clado | 1 = {{ clado | etiqueta1 = Subárbol1 | 1 = Hoja1 | etiqueta2 = Subárbol2 | 2 = Hoja2 }} } }
produce
Tenga en cuenta que el orden de los parámetros no importa. Se produce exactamente el mismo resultado con
{{ clado | 1 = {{ clado | 2 = Hoja2 | 1 = Hoja1 | etiqueta1 = Subárbol1 | etiqueta2 = Subárbol2 }} } }
La plantilla de clado tiene muchas características para personalizar la apariencia. Para usarlas de manera óptima, es necesario comprender cómo funciona la plantilla. El cladograma se construye utilizando tablas HTML anidadas y las líneas del cladograma son los bordes de las celdas ( <td>
etiquetas). Cada plantilla de clado crea una tabla HTML con los elementos que se muestran a continuación:
La apariencia del cladograma se puede personalizar cambiando los atributos de borde de los elementos de celda HTML, utilizando los parámetros |state=
, |color=
y |thickness=
como se muestra a continuación:
Los cladogramas también se pueden generar de derecha a izquierda utilizando {{ cladeR }} , como se muestra a continuación.
Un método común para presentar datos filogenéticos es utilizar el formato Newick . Muchos artículos publicados proporcionan datos en formato Newick en sus materiales complementarios y varios sitios web taxonómicos y filogenéticos ofrecen descargas (por ejemplo, Open Tree of Life ). Estas cadenas Newick se pueden utilizar para generar cladogramas de varias maneras.
En primer lugar, los datos en formato Newick se pueden utilizar para generar el marcado de la estructura del clado utilizando un editor de texto o una de varias herramientas.
El árbol filogenético que se muestra a la derecha está representado por el siguiente código Newick y {{ Clade }}
((a,b),(c,d))
{{clade |1={{clade |1=a |2=b}} |2={{clade |1=c |2=d }} }} }}
El procedimiento manual para la conversión en un editor de texto es
Afortunadamente, existen varios métodos para automatizar esta tarea.
utilice la constante N => "\n" ; utilice la constante T => "\t" ; mi $tree = '((a,b),(c,d));' ; # obtener la secuencia $tree =~ s/[\n\r]//g ; # perder esos espacios $tree =~ s/\:[\.\d]+//g ; # pierde esas longitudes mientras ( $árbol =~ m/\(/ ) { foreach mi $clado ( $árbol =~ m/\(([^\(\)]+)\)/g ) { mi @branches = split /\,/ , $clado ; s/(\t+)/$1\t/g para @branches ; morir 'ERROR: ¡nodo degenerado/vacío!' . N si $#branches < 1 ; $árbol =~ s/\(\Q$clado\E\)/${\join('','{{clado',N,map(T.'|'.($_+1).'='.$branches[$_].N,0..$#branches),T.'}}')}/ ; # sustituir } pos ( $árbol ) = 0 ; } $árbol =~ s/(\t*)\t\}\}/$1\}\}/g ; # solución perezosa imprimir $árbol ;
Los datos del formato Newick también se pueden agregar utilizando |newickN=
, donde N se refiere al nodo secundario (como con otros parámetros).
Por ejemplo, la siguiente cadena Newick
((león, jaguar, leopardo),((tigre siberiano, de bengala), leopardo de las nieves))panthera
se puede poner en el código del clado como en el siguiente ejemplo:
Los datos en formato Newick proporcionados por Open Tree of Life y otras fuentes suelen tener datos de codificación extraños. Esto se puede eliminar utilizando los parámetros |newickN-pattern=
y |newickN-replace=
que proporcionan un patrón Lua (similar a Regex) y su reemplazo. El siguiente código utiliza datos en formato Newick para el género Prionailurus descargados de Open Tree of Life (datos fuente):
{{ clado | newick1 = (Prionailurus_planiceps_ott86166,(((Prionailurus_bengalensis_chinensis_ott198595,Prionailurus_bengalensis_euptilurus_ott547362,Prionailurus_bengalensis_bengalensis_ott5557509,Prionailurus_bengalensis_rabori_ott7067613)Prionailurus_ben galensis_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._ }}}}
produce
Puede anidar las plantillas y utilizar enlaces alrededor del texto. Puede utilizar espacios indivisibles ( ) para obtener espacios o para tener etiquetas que tengan espacios.
El cladograma completo se puede colocar en un cuadro para que el texto fluya de forma ordenada a su alrededor. Puedes usar {{ Cladogram }} para crear el cuadro.
{{ cladograma | título = Ejemplo | título = Ejemplo de {{ tl | Cladograma }} | clados = {{ clado | estilo = tamaño de fuente: 85%; altura de línea: 85%; | etiqueta1 = [[ Neornithes ] ] | 1 = {{ clado | etiqueta1 = [[ Paleognathae ]] | 1 = | etiqueta2 = [[ Neognathae ] ] | 2 = {{ clado | 1 = [[ Neoaves ]] | etiqueta1 = | etiqueta2 = [ [ Galloanserae ] ] | 2 = { { clado | 1 = [ [ Anseriformes ] ] | etiqueta2 = & nbsp; | 2 = [[ Galliformes ]] }} }} } } } } }}
Cuando una hermana se representa como un nodo de hoja y la otra como un subclado etiquetado, no parecen estar en el mismo nivel. Considere este cladograma:
Aunque Banksia subser. Sphaerocarpae y Banksia subser. Leptophyllae son hermanas, sus nombres no están alineados en el cladograma. Si esto no se considera deseable, una solución es utilizar una etiqueta en ambos casos, como se muestra a continuación, que ahora muestra a las hermanas en el mismo nivel.
Otro "truco" consiste en introducir un clado ficticio. La línea roja del siguiente ejemplo muestra dónde se ha insertado un clado adicional:
Para lograr esto, en lugar de
{{ clado | 1 = Hermana1 | etiqueta2 = Hermana2 | 2 = {{ clado | 1 = taxón1 | 2 = taxón2 }} } }
que se muestra como:
usar
{{ clado | 1 = Hermana1 | 2 = {{ clado <!--clado ficticio adicional--> | etiqueta1 = Hermana2 | 1 = {{ clado | 1 = taxón1 | 2 = taxón2 }} } } } }
que se muestra como:
Para insertar un 'corchete' de color alrededor de un conjunto de nodos de hojas que se suceden uno tras otro en el cladograma generado:
barbeginN=colour
barN=colour
barendN=colour
Tenga en cuenta el uso del espacio indivisible (
) para mover la barra vertical desde el texto de la hoja.
Las líneas horizontales se pueden omitir utilizando throughout. Por lo tanto, lo siguiente produce barras verticales simples:|barN=colour
Puede utilizar cualquiera de las formas en que se pueden especificar colores en HTML ; por ejemplo, los nombres de colores estándar, las notaciones de tres o seis dígitos hexadecimales, como #FC3 o #F3C630, o la rgb()
notación.
Las pautas de accesibilidad requieren que las páginas no dependan únicamente del color, por lo que es especialmente importante agregar etiquetas si tiene más de un corchete o barra y necesita hacer referencia a ellos por separado. Hay un par de métodos disponibles.
|grouplabelN=
parámetro . Esto agrega una etiqueta a la derecha del corchete o barra de la derecha, como se muestra en el siguiente ejemplo. La columna de la derecha ilustra cómo |grouplabel=
se agrega una celda HTML a la derecha de la hoja de terminal.En el ejemplo anterior, se utilizó grouplabel para etiquetar una barra que marcaba todo el clado. Esto proporcionó una alternativa a labelA. Sin embargo, si la barra solo se aplica a algunas terminales, |grouplabelN=
se puede utilizar para marcar grupos parafiléticos. El siguiente ejemplo también demuestra el uso de |grouplabelstyleN=
para aplicar estilos CSS a grouplabel, en este caso el color.
El |grouplabel=
parámetro se puede utilizar para agregar múltiples etiquetas con la ayuda de la plantilla {{ clade labels }} . Esta plantilla utiliza posicionamiento CSS absoluto para determinar la ubicación de la etiqueta. Cuando se aplica a un |grouplabel1=
parámetro en el clado externo, se comporta de manera muy similar a {{ barlabel }} . A continuación se muestra un ejemplo simple para etiquetar dos grupos:
El |grouplabel=
parámetro puede contener cualquier wikitexto o contenido HTML permitido, lo que ofrece mucha flexibilidad para personalizar los cladogramas. El siguiente ejemplo se utiliza |grouplabel=
para agregar una topología alternativa utilizando {{ cladeR }} :
Si su cladograma no muestra corchetes/barras como esperaba, verifique que:
barN
, etc. La N debe ser la misma que el número del hijo dentro de su clado. Por lo tanto, normalmente deberías escribir , por ejemplo .|N=label for leaf|barN=colour for bar
|2=[[Passeridae]]|bar2=midnightblue
Las etiquetas producidas por |labelN=
, donde N
es 1, 2, ..., pueden provocar un diseño deficiente del cladograma resultante. (Esto no se aplica al texto de las hojas, es decir, el texto producido por |N=
). Para evitar problemas:
Los cladogramas se dibujan generando tablas ocultas. Las líneas horizontales y verticales que forman el árbol son en realidad los bordes de las celdas de la tabla. Luego, el navegador o el agente de usuario dibujan las tablas utilizando sus algoritmos internos. Como estos difieren de un navegador a otro, los árboles producidos no se verán iguales en todos los navegadores.
En particular, a partir de enero de 2017 [actualizar], existen dos algoritmos para diseñar tablas con celdas vacías, utilizados por dos grupos de navegadores. La mayoría de los navegadores ahora utilizan el algoritmo que produce cladogramas como los dos de la izquierda en el diagrama. Safari (tanto en MacOS como en iOS) utiliza otro algoritmo, que produce cladogramas como los dos de la derecha en el diagrama.
Actualmente no existe una "solución" automática para estas diferencias.
Si se puede elegir el orden de los nodos terminales (hojas) del árbol, los cladogramas se ven mejor en un navegador tipo Safari si la mayor cantidad posible de ramificaciones se encuentra en la parte inferior del cladograma. Por lo general, esto se produce al organizar los nodos terminales hacia abajo en la página en orden de divergencia evolutiva. Compare la fila inferior del diagrama con la fila superior.
Existen muchos errores conocidos en la representación de tablas en el software que produce los libros de Wikipedia ; consulte la página de comentarios sobre la herramienta de libros. A partir de julio de 2011, [actualizar]estos errores hacen que las líneas de los cladogramas no se muestren en los libros. (Los cladogramas se implementan como tablas HTML, lo que permite un formato complejo pero difícil de convertir. Para encontrar una forma alternativa de incluir cladogramas de libros, pruebe con imágenes).
Existen limitaciones en el tamaño y la complejidad de los cladogramas que se pueden dibujar:
Debido a que los cladogramas se construyen anidando plantillas {{ clade }} unas dentro de otras, los cladogramas más grandes pueden exceder la profundidad de expansión permitida por el software Wikimedia. El cladograma de la derecha falla en la vigésima plantilla de clado anidada.
Hay dos métodos para evitar esta limitación:
Este enfoque utiliza la plantilla {{ clade sequential }} para enumerar taxones en una secuencia taxonómica . En el siguiente ejemplo, se enumeran seis taxones de manera secuencial en la plantilla y el cladograma tiene al primero como la primera rama, al segundo como la siguiente y así sucesivamente hasta que los dos últimos son hermanos. Debido a que todos los taxones se agregan en una llamada de plantilla, esto solo cuenta una vez para el límite de 20. La desventaja es que no es posible formatear cada nivel de forma independiente.
El segundo ejemplo muestra que se puede agregar alguna subestructura a cada nivel con el uso normal de la plantilla {{ clade }} .
Este método utiliza los parámetros |target=
y |subclade=
para "modularizar" el árbol filogenético. Cada subárbol se procesa en paralelo para que no contribuyan a la profundidad de expansión de manera aditiva. El límite se aplica a cada árbol, pero se pueden utilizar muchos subárboles.
La disposición básica se ilustra a continuación. El árbol principal tiene dos subclados, A y B, y el subclado B llama a un tercero.
La codificación se basa en una serie de convenciones.
|subcladeA=
, |subcladeB=
, ... |subcladeZ=
contienen los subárboles en la estructura del clado que se sustituirán en el árbol principal.|targetA=
, |targetB=
, ... |subcladeZ=
contienen los destinos donde se sustituirán los subárboles. Por ejemplo, |targetA={SUBCLADE_A
} indica que el destino {SUBCLADE_A}
se reemplazará por el contenido de .|subcladeA=content
{SUBCLADE_A}
y {SUBCLADE_B}
para |subcladeA=
y |subcladeB=
, respectivamente.|1=
, |label2=
etc.).Un ejemplo de un árbol filogenético grande dividido en múltiples subárboles se puede encontrar en {{ Phylogeny/APG IV }} .
A veces, con árboles filogenéticos grandes, es difícil ver el bosque a través de los árboles. El cladograma puede exceder la altura de la pantalla, lo que dificulta ver la estructura general y los clados pequeños importantes son demasiado difíciles de ver. Una forma de evitar esto es contraer los clados grandes y expandirlos de manera interactiva.
El siguiente ejemplo muestra un ejemplo sencillo para ilustrar el principio:
Una nota de precaución. Los elementos colapsables de Wikimedia requieren javascript y actualmente están deshabilitados en la vista móvil. En tales casos, se mostrará el cladograma completo. Como sucede con cualquier árbol filogenético grande, los editores deben decidir si tener un árbol más pequeño y menos inclusivo deja en claro el punto.