**Getting Started**

SATO depends on the following:

1) Clustal Omega: http://www.clustal.org/omega/
2) Mafft: https://mafft.cbrc.jp/alignment/software/
3) FastTree: http://www.microbesonline.org/fasttree/
4) mrBayes: https://nbisweden.github.io/MrBayes/
5) FigTree: http://tree.bio.ed.ac.uk/software/figtree/
6) jalview: https://www.jalview.org/

So far, SATO has three main funtions:

**Consensus Sequence**
Takes two input FASTA files or sequences and generates a consensus sequence by identifying the optimal overlapping window that minimizes mismatches while maximizing sequence length. It begins by validating the input FASTA files, checking if they are in the correct format. Then, it reads the sequences, removes non-nucleotide characters, and computes the reverse complement of one of the sequences. The function iterates through possible overlap lengths, comparing sequences for the least number of mismatches, and selecting the best overlap. If an acceptable consensus is found, it returns the consensus sequence with the specified name. If no consensus with acceptable mismatches is found, it concatenates the sequences and returns the resulting consensus sequence.

**Sequence Alignment**
Selects either Clustal Omega or MAFFT as an alignment tool based on the user input, validates the provided FASTA file, and executes the chosen tool for sequence alignment. If the alignment is unsuccessful due to errors, it displays a failure message. Upon successful alignment, it saves the alignment to an output file, generates an output filename from the input, and launches Jalview for visualization, ensuring a seamless Multiple Sequence Alignment process.

**Phylogeny Analysis**
Performs phylogenetic analysis using either Maximum Likelihood or Bayesian Phylogeny methods, depending on user selection. It checks if a valid input alignment file has been provided and verifies the alignment format and molecular type compatibility. The function creates an output folder, generates an output Nexus file for Bayesian analysis (if applicable), and executes the selected phylogenetic tool (FastTree for Maximum Likelihood or MrBayes for Bayesian Phylogeny) to generate a phylogenetic tree. It visualizes the resulting tree using FigTree and provides informative messages about the analysis status.
