The SAPP algorithm has been published as a scientific paper available on Academia.edu: (Click Here for Link).
Below is a summary of algorithms used by SAPP. For a complete list of associated papers, please see the Credits section.
Genetic Distances use the step-wise method of counting mutations for most STRs, and infinite alleles for the "special" ones - particularly CDY, YCAII, DYS413, DYS464, DYS385, and DYS459. For STRs DYS425 and DYS439, the tool handles the occasional null value (represented as 'X' in the data).
This combined methodology is based on the work pioneered by Mike Walsh in administering the R1b-L21 FTDNA Project.
TMRCA Calculations are based on Ken Nordtvedt's Interclade Ageing methodology (his Generations67, 111, etc spreadsheets) which perform a least-squares analysis using STR differences and mutation rates to calculate the likely TMRCA ages at each branching point of the tree.
Tree Construction uses a neighbor-joining algorithm with three distance factors: STR off-modal signatures, genetic distance and a weighted assessment of closer STR mutation patterns using n-space vector angles. A detailed discussion of this third factor is available in this short pdf explanation.
Tree Rendering uses the Reingold-Tilford algorithm to draw the resulting phylogenetic tree. Credit goes to Stefan Loewe for his coding of this algorithm on GitHub.
Other functions are wholly the fault of the program author.