Package: orthoflow
OrthoflowOrthoflow is a workflow for phylogenetic inference of genome-scale datasets of protein-coding genes.
Our goal was to make it straightforward to work from a combination of input sources including annotated contigs in Genbank format and FASTA files containing CDSs.
It uses several state of the art inference methods for orthology inference, either based on HMM profiles or de novo inference of orthogroups.
Through the use of OrthoSNAP, many additional ortholog alignments can be generated from multi-copy gene families.
For phylogenetic inference, users can choose a supermatrix approach and/or gene tree inference followed by supertree reconstruction.
Users can specify a range of alignment filtering settings to retain high-quality alignments for phylogenetic inference.
The workflow produces a detailed report that, in addition to the phylogenetic results, includes a range of diagnostics to verify the quality of the results.DocumentationDetailed documentation can be found athttps://rbturnbull.github.io/orthoflow/Quick start guideInstallationYou can install orthoflow with pip:pip install orthoflowMore information about installation is available here:https://rbturnbull.github.io/orthoflow/main/installation.htmlInput dataOrthoflow works from an input CSV file with information about the data sources  to be used. Preparing this file is central to setting up your run. The default filename for this isinput_sources.csv.It needs the columnsfile,taxon_string,data_typeandtranslation_table.Thefilecolumn is the path to the file relative to the working directory.Thetaxon_stringis the name of the taxon from which the data was obtained.Thedata_typecolumn should beGenBankwhen providing a GenBank-formatted file with CDS annotations, orCDSorProteinwhen providing a FASTA file with coding sequences consisting of nucleotides or amino acids respectively.Thetranslation_tablecolumn should have the translation table (genetic code) number for the data as givenhere.Let’s look at the demonstration dataset distributed with the code:tests/test-data/input_sources.csv.filetaxon_stringdata_typetranslation_tableKY509313.gbAvrainvillea_mazei_HV02664GenBank11NC_026795.txtBryopsis_plumosa_WEST4718GenBank11KX808498.gbCaulerpa_cliftonii_HV03798GenBank11KY819064.cds.fastaChlorodesmis_fastigiata_HV03865CDS11KX808497.faDerbesia_sp_WEST4838CDS11MH591079.gbDichotomosiphon_tuberosus_HV03781GenBank11MH591080.gbkDichotomosiphon_tuberosus_HV03781GenBank11MH591081.gbkDichotomosiphon_tuberosus_HV03781GenBank11MH591083.gbFlabellia_petiolata_HV01202GenBank11MH591084.gbFlabellia_petiolata_HV01202GenBank11MH591085.gbFlabellia_petiolata_HV01202GenBank11MH591086.gbFlabellia_petiolata_HV01202GenBank11We are using a dataset of algal chloroplast genomes, some as annotated genbank files (data_type: Genbank), some as fasta files of the coding sequences (data_type: CDS). They all use the bacterial genetic code (translation_table: 11). Some of the genomes were in a single Genbank file (e.g.KY09313.gbat the top), others were fragmented across multiple files (e.g. last 4 all belonging to the same taxon).Thetaxon_stringcolumn is perhaps the most important one, as these will be the names to appear in the output tree and this determines how input data gets grouped (e.g. all CDSs in the final four GenBank files will be grouped into a single taxon). In this case, we have included specimen numbers as part of the taxon string but that is optional.Simple runWe are using the small demonstration dataset distributed with the Orthoflow in thetests/test-datasubdirectory.Go into the directory containing theinput_sources.csvfile and run orthoflow with default settings with these commands:cd tests/test-data
orthoflowBy default, Orthoflow will extract the CDSs from the input files, run OrthoFinder followed by OrthoSNAP to determine orthologous genes, align them and infer a concatenated tree from the protein sequences. You can follow progress on the screen as the workflow executes and outputs are produced.Note that the first time you run the workflow, it will be slow because it needs to download and install the software it depends on. This is a one-time thing and runs should get going much faster after.Examining the outputInferred tree and intermediate filesAll output files are saved in theresultsdirectory. Output files are subdivided into the workflow modules, which each have their own subdirectory. For the demonstration analysis that we ran above, the inferred phylogeny will be in thesupermatrixsubdirectory and be calledsupermatrix.protein.fa.treefile. Open this with a tree browser (e.g.FigTree). Also take some time to browse the intermediary files, including the orthogroups, gene alignments and the supermatrix constructed from them.Report and diagnosticsThe report provides an overview of the results, the analysis settings used and citations of the software used to produce the results. This report is found in theresults/report.cds.htmland/orresults/report.protein.html, depending on the method used to infer the phylogeny.Output logsThe output logs of all software used as part of the workflow can be found in thelogsdirectory.Credits and AttributionOrthoflow was created by Robert Turnbull, Jacob Steenwyk, Simon Mutch, Vinícius Salazar, Pelle Scholten, Joanne L. Birch and Heroen Verbruggen.The preprint for Orthoflow is here:Robert Turnbull, Jacob L. Steenwyk, Simon J. Mutch, Pelle Scholten, Vinícius W. Salazar, Joanne L. Birch, and Heroen Verbruggen. Orthoflow: phylogenomic analysis and diagnostics with one command, 04 December 2023, PREPRINT available at Research Square [https://doi.org/10.21203/rs.3.rs-3699210/]More details to come.