Package: ab12phylo
AB12PHYLOAB12PHYLOis an integrated, easy-to-use pipeline for Maximum Likelihood (ML) phylogenetic tree inference from ABI traces andFASTAdata.
At its core, AB12PHYLO runs parallelized instances ofRAxML-NG(Kozlov et al. 2019) orIQ-Tree(Nguyen et al. 2015) as well as a BLAST search in a reference database.
It enables visual, effortless sample identification based on phylogenetic position and sequence similarity, as well as population subset selection aided by metrics like Tajima's D for estimations of ongoing evolution, or definition of haplotypes.DocumentationThere are two versions of AB12PHYLO, both started from a terminal:ab12phyloas a graphical user interface intended to be more user-friendly and intuitive, and in some details more powerful thanab12phylo-cmd. This version, on the other hand, is a commandline-only tool for maximum reproducibility and automation of a linear pipeline.Whileab12phylocomes with its own on-screen help, and a very brief example forab12phylo-cmdis provided below, detailed installation and usage instructions can be found in thegithub wiki. Especially for the commandlineab12phylo-cmd, also check the in-line help viaab12phylo-cmd -h.For more individual support or feature requests, please write an email toab12phylo@gmail.com.InstallationAB12PHYLO can be installed using conda or pip:condainstall-clkndl-cconda-forge-cbiocondaab12phyloorpipinstallab12phylo:memo:WINDOWS USERSWindows usersmustuse Anaconda, and runab12phylo-initbefore starting the graphicalab12phylo!When AB12PHYLO is first run, it will check the system for three important non-python tools: RAxML-NG, IQ-Tree 2 and BLAST+. If they are not installed or outdated, AB12PHYLO can download the latest static binaries from GitHub or the NCBI respectively. Check thewikifor more details, troubleshooting, installing from source or updating the package.As implied above, start the graphical version viaab12phylofrom the terminal, and invoke the commandline version viaab12phylo-cmd.Quick start and functionalityABI trace files are the main input for AB12PHYLO. Additionally, wellsplate tables can be used to translate back to original sample IDs, provided the mapping is identical for all sequenced genes. Reference data may be included inFASTAformat, and the graphical AB12PHYLO acceptsFASTAsequences as the main input format as well.A:Sequence data is extracted from ABI trace files using a customisable quality control: Sequence ends are trimmed with a sliding window until a certain number (8 out of 10 by default) of bases reach the minimal accepted phred quality score (between 0 and 60, 30 by default). Bases with low phred quality are replaced byNonly if they form a consecutive stretch that is longer than a certain threshold (5 by default).B:Samples missing for a single locus are discarded for all genes. Trimmed traces as well as reference andFASTAsequences are aligned into single-gene Multiple Sequence Alignments (MSAs), which are then each trimmed to a user-defined level conserved positions using Gblocks 0.91b. For multi-gene analyses, the single-gene MSAs are then concatenated into a multi-gene MSA, which is used for ML tree inference. Trees are re-constructed using either RAxML-NG or IQ-Tree 2, with only the latter one available for Windows.C:AB12PHYLO allows editing of the resulting tree and selection of taxa by label matching, shared ancestry or manual picking. For these selected sub-populations, basic population genetics neutrality and diversity metrics are calculated from the conserved MSA positions only, with adjustable tolerance of gaps and unknown characters. The graphicalab12phylois both less cumbersome and more capable for these applications; the wiki pages (ab12phylo,ab12phylo-cmd) have more details.A BLAST search for species annotation can be run on a local database, or via the public NCBI BLAST API. However, importing XML results of aweb BLASTshould be preferred to running remote API calls as a main strategy.A simpleab12phylo-cmdexampleA simple real-world invocation of commandline AB12PHYLO might look like this:ab12phylo-cmd-abi<seq_dir>\-csv<wellsplates_dir>\-g<barcode_gene>\-rf<ref.fasta>\-bst1000\-dir<results>where:<seq_dir>contains all input ABI trace files, ending in.ab1<wellsplates_dir>contains the.csvmappings of user-defined IDs to sequencer's isolate coordinates<barcode_gene>was sequenced, seeherefor more info<ref.fasta>contains full GenBank reference recordslike this1000-bst=--bootstraptrees will be generated<results>is where results will beDependenciesBiopython,NumPy,pandas,Toytree<= 1.2.0,Toyplot,matplotlib,PyYAML,lxml,xmltramp2,svgutils,Pillow,Requests,Beautiful SoupandJinja2Non-python dependenciesThe pipeline will use existing installations of the programs listed below if they are found on the system$PATHand not considered outdated. Otherwise, bothab12phyloandab12phylo-cmdcan download the latest static binaries from GitHub or the NCBI on their initial runs or if run with--initialize.RAxML-NGversion >=1.0.2IQ-Tree 2BLAST+version >=2.9an MSA tool:MAFFT,Clustal Omega,MUSCLEorT-Coffee(clients for anEMBL serviceincluded)Gblocks0.91b for MSA trimming(included)ReferencesAlexey M. Kozlov, Diego Darriba, Tomáš Flouri, Benoit Morel, and Alexandros Stamatakis (2019)RAxML-NG: A fast, scalable, and user-friendly tool for maximum likelihood phylogenetic inference.Bioinformatics, btz305doi:10.1093/bioinformatics/btz305Nguyen,L. T., Schmidt,H. A., Von Haeseler,A., and Minh,B. Q. (2015)IQ-TREE: A fast and effective stochastic algorithm for estimating maximum-likelihood phylogenies.Molecular Biology and Evolution, 32, 268–274.doi:10.1093/molbev/msu300