ajphylo


Data type AjPPhyloDist

Ajax phylogeny distance matrix

Input can be square (all values) or lower-triangular (diagonal and below) or upper-triangular (diagonal and above). We can count values for the first 2 species to identify the format.

S-format allows degree of replication for each distance (integer) we can check for this (twice as many numbers) otherwise we set the replicates to 1.

Alias name(s)

Name
AjSPhyloDist
AjOPhyloDist

Attributes

NameTypeDescription
SizeajintSize - number of rows and number of columns
HasReplicatesAjBoolHas (some) replicates data in file
NamesAjPStr*Row names, NULL at end
Datafloat*Distance matrix Size*Size with diagonal 0.0
Replicatesajint*Replicate count default=1 missing=0
HasMissingAjBoolHas missing data in file
Paddingchar[4]Padding to alignment boundary


Data type AjPPhyloFreq

Ajax phylogeny frequencies.

For continuous data there are always 2 alleles For gene frequency data there can be more than 2 alleles

Alias name(s)

Name
AjSPhyloFreq
AjOPhyloFreq

Attributes

NameTypeDescription
SizeajintNumber of rows
LociajintNumber of loci per name
LenajintNumber of values per name may be more than 1 per locus
ContCharAjBoolContinuous character data if true
NamesAjPStr*Row names array (size is Size)

Attributes

NameTypeDescription
Speciesajint*Species number 1, 2, 3 for each value array size is Len
Individualsajint*Allele countNumber of individuals 1 or more per species array size is Loci

Attributes

NameTypeDescription
Locusajint*Locus number 1, 2, 3 for each value array size is Len
Alleleajint*Allele count 2 or more per locus array size is Loci
Datafloat*Frequency for each allele for each Name
WithinAjBoolIndividual data within species if true
Paddingchar[4]Padding to alignment boundary


Data type AjPPhyloProp

Ajax phylogeny properties: weights, ancestral states, factors.

Basically, all of these are one value per position

Weights are converted to integers 0-9, A=10 Z=35 by phylip There are programs that can use multiple weights We can handle this by making all of these multiple, and using ACD to limit them to 1 for non-weight data.

Ancestral states are character data

Factors are multi-state character data where the factor character changes when moving to a new character. Without this, all factors are assumed to be different. The default would be to make each character distinct by alternating 12121212 or to use 12345678901234567890.

We can, in fact, convert any input string into this format for factors but probably we can leave them unchanged.

Alias name(s)

Name
AjSPhyloProp
AjOPhyloProp

Attributes

NameTypeDescription
Lenajintstring length
Sizeajintnumber of strings
IsWeightAjBoolis phylip weight values if true
IsFactorAjBoolis phylip factor values if true
StrAjPStr*The original string(s)


Data type AjPPhyloState

Ajax discrete state data.

Basically, all of these are one value per position

States have a limited character set, usually defined through ACD

Alias name(s)

Name
AjSPhyloState
AjOPhyloState

Attributes

NameTypeDescription
Lenajintstring length
Sizeajintnumber of strings
CharactersAjPStrThe allowed state characters
NamesAjPStr*The names
StrAjPStr*The original string(s)
Countajintnumber of enzymes for restriction data
Paddingchar[4]Padding to alignment boundary


Data type AjPPhyloTree

Ajax phylogeny trees

For programs that read multiple tree inputs we use an array, and let ACD limit the others to 1 tree.

Alias name(s)

Name
AjSPhyloTree
AjOPhyloTree

Attributes

NameTypeDescription
MultifurcatedAjBoolMultifurcating (..(a,b,c)..)
BaseTrifurcatedAjBool3-way base (a,b,c)
BaseBifurcatedAjBoolRooted 2-way base (a,b)
BaseQuartetAjBoolUnrooted quartet ((a,b),(c,d));
HasLengthsAjBoolTree has branch lengths
SizeajintNumber of nodes
TreeAjPStrNewick tree string