Esta plantilla se utiliza en aproximadamente 8400 páginas y los cambios pueden notarse ampliamente. Pruebe los cambios en las subpáginas /sandbox o /testcases de la plantilla , o en su propia subpágina de usuario . Considere discutir los cambios en la página de discusión antes de implementarlos.
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 ).
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:
Descripción
Estructura de celdas de tabla
Cladograma
Código que utiliza la plantilla de clado
Una estructura de clado simple con un solo nodo hijo (u hoja).
Esta es una tabla HTML con dos filas y dos columnas. Las celdas de la columna de la derecha se fusionan mediante el atributo rowspan.
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:
Descripción
Código de plantilla
Salida resultante
Soportes de estilo
El grosor, el color y el estado (sólido, discontinuo, etc.) de las líneas entre corchetes se pueden cambiar utilizando los parámetros thickness=, |color=y .|state=
{{ clado | etiqueta1 = Estilo de corchete | subetiqueta1 = (sin sufijo) | estilo1x = color de fondo:#ffffee; | 1 = {{ Clado | etiqueta2 = color | 2 = {{ Clado | color = rojo | 1 = A | 2 = B | 3 = C }} | etiqueta1 = grosor | 1 = {{ Clado | grosor = 3 | 1 = I | 2 = J | 3 = K }} | etiqueta3 = estado | 3 = {{ Clado | estado = discontinuo | 1 = X | 2 = Y | 3 = Z }} }} }}
Estilo de soporte
espesor
I
Yo
K
color
A
B
do
estado
incógnita
Y
O
(sin sufijo)
Dar estilo a ramas individuales
El grosor, el color y el estado de las líneas de las ramas individuales se pueden cambiar utilizando los parámetros thicknessN=, |colorN=y |stateN=, donde N es el número de la rama a la que se le aplicará el estilo.
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.
Las cadenas Newick como recurso
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.
a
b
do
d
El árbol filogenético que se muestra a la derecha está representado por el siguiente código Newick y {{ Clade }}
El procedimiento manual para la conversión en un editor de texto es
Reemplace "(" con "{{clade|"
Reemplace ")" por "}}"
Editar para reemplazar comas con barras verticales y números
Edite las etiquetas del clado si es necesario
Afortunadamente, existen varios métodos para automatizar esta tarea.
Un método es utilizar la plantilla NewickConverter (consulte las instrucciones allí).
Alternativamente, uno puede generar fácilmente el código de clado requerido descargando la utilidad gratuita de Windows, 'Claded', a través del enlace en http://code.google.com/p/claded, 'Claded' permite la edición de cladogramas usando un control de árbol.
Ejemplo de un script Perl para automatizar la conversión:
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 perezosaimprimir $árbol ;
Usando cadenas Newick directamente
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:
Tenga en cuenta que |newick2=las causas |2=deben ignorarse.
El área sombreada en rojo muestra la parte del cladograma generado a partir de la cuerda de Newick.
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):
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.
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.
Para insertar un 'corchete' de color alrededor de un conjunto de nodos de hojas que se suceden uno tras otro en el cladograma generado:
Agregue para el primer nodo de la hoja, donde N es el orden de ese nodo de la hoja dentro de su clado y el color es el color requerido.barbeginN=colour
Agregue los nodos restantes excepto el último (tenga en cuenta que N debe ser el orden de ese nodo dentro de su clado).barN=colour
Añadir para el último nodo.barendN=colour
Código
Producción
{{ clado | estilo = tamaño de fuente: 85%; altura de línea: 100%; | 1 = {{ clado | 1 = Hoja A | 2 = Hoja B | barbegin2 = verde | 3 = Hoja C | bar3 = verde | 4 = {{ clado | 1 = Hoja D | barend1 = verde | 2 = Hoja E | 3 = Hoja F | barbegin3 = morado | 4 = {{ clado | 1 = Hoja G | bar1 = morado | 2 = Hoja H | barend2 = morado } } }} }} } }
Hoja A
Hoja B
Hoja C
Hoja D
Hoja E
Hoja F
Hoja G
Hoja H
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
Tenga en cuenta que los corchetes o las barras se pueden aplicar tanto a los nodos internos como a los nodos de hoja. Por lo tanto, el código siguiente produce el mismo resultado.
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.
Agregar etiquetas de texto a los corchetes
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.
Se pueden agregar etiquetas de texto para cada soporte/barra usando {{ Barlabel }} (consulte las instrucciones en la página de la plantilla).
Utilice el |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:
Entiendes el sistema de numeración de los parámetros 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
Sólo ha intentado aplicar corchetes/barras a los nodos de hoja .
Limitaciones
Longitud de la etiqueta
Las etiquetas producidas por |labelN=, donde Nes 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:
Las etiquetas deben ser lo más breves posible, idealmente de una sola palabra.
Cualquier espacio necesario en las etiquetas debe representarse como no como espacios reales.
No se deben utilizar saltos de línea (por ejemplo, <br/>).
Diferencias entre navegadores
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.
Inclusión en libros
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).
Cladogramas grandes
Existen limitaciones en el tamaño y la complejidad de los cladogramas que se pueden dibujar:
Se permite un máximo de 20 niños por nodo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Ejemplo que excede la profundidad de expansión en la vigésima plantilla de clado anidado.
El software de Wikimedia tiene ciertos límites en el procesamiento permitido por las plantillas y módulos. Los cladogramas grandes pueden exceder algunos de estos límites.
Tamaño de inclusión posterior a la expansión. Básicamente, se trata del resultado de todas las plantillas, módulos y llamadas al analizador. Las páginas con cladogramas muy grandes o varios cladogramas grandes ocasionalmente superarán este límite, especialmente en páginas más grandes con muchas referencias y otras demandas del sistema.
Límite de profundidad de expansión de plantilla. Cuando se utiliza una plantilla, se suma a la profundidad de expansión, una vez para la expansión de la plantilla y otra para la expansión de parámetros. Como resultado, las llamadas de plantilla solo se pueden anidar hasta una profundidad de 20. Debido a que los cladogramas se construyen anidando plantillas entre sí, este es un problema común en árboles filogenéticos más grandes. Afortunadamente, ahora existen formas de solucionar este problema (consulte la siguiente sección).
Técnicas para construir cladogramas grandes.
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.
el uso de subárboles dentro de la plantilla {{ clade }} .
Utilizando listado secuencial de taxones
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 }} .
Uso de subárboles
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.
Los nombres de los subclados se escriben en mayúsculas y entre llaves. Esto no es absolutamente necesario, siempre que los nombres sean únicos, pero algunas características avanzadas (por ejemplo, la transclusión parcial) dependen de esta convención.
Los parámetros |subcladeA=, |subcladeB=, ... |subcladeZ=contienen los subárboles en la estructura del clado que se sustituirán en el árbol principal.
Los parámetros |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
Los parámetros de destino se pueden omitir y los objetivos predeterminados son {SUBCLADE_A}y {SUBCLADE_B}para |subcladeA=y |subcladeB=, respectivamente.
Se eligieron los sufijos AZ porque estos parámetros no corresponden a los otros parámetros numerados utilizados por la plantilla (por ejemplo |1=, |label2=etc.).
Los subclados pueden incluirse en la plantilla del clado externo o anidarse dentro del árbol correspondiente. Por ejemplo, en el ejemplo, el subclado C aparece al final de la plantilla del clado externo, pero podría haber estado anidado en la plantilla del clado adjunta al subárbol B.
Un ejemplo de un árbol filogenético grande dividido en múltiples subárboles se puede encontrar en {{ Phylogeny/APG IV }} .
Añade interactividad con clados colapsables
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.
Resumen gráfico
Plantilla:Clade
Manifestación
Estructura de nodo
etiqueta1
hoja 1
subetiqueta1
etiqueta2
etiqueta A
hoja A
etiqueta B
hoja B
La hoja 2 es una estructura de clado transcluida.
subetiqueta2
etiqueta3
hoja 3
subetiqueta3
(entre corchetes)
Estilo de hojas
EspesorN
1 (predeterminado)
2
Grosor de línea
3
colorN
negro (predeterminado)
rojo
azul
#00ff00
estadoN
sólido (predeterminado)
punteado
discontinuo
estilos de línea
ninguno
doble
(sucursales)
estilo de nodo
espesor
I
Yo
K
color
A
B
do
estado
incógnita
Y
O
(entre corchetes)
nuevo
cadena de entrada
((león, jaguar, leopardo),((tigre siberiano, de bengala), leopardo de las nieves))panthera