dataesr/scientific-paragraphs-categorization huggingface dataset:
During our reanalysis of the custom gene dataset used in the yeast analyses, we discovered the accidental inclusion of paralogs in the original dataset. The inclusion of paralogs in the original dataset may have led to artifactual branching patterns or low resolution at internodes in the   [20]  in A and built using LG+G4+F+C60-PMSF model, with an LG+G4+F+C20 ML tree as a PMSF guide input tree in IQ-TREE v1. 6. 7. 1  [36]  for B, C, and D. Gene tree coalescence trees (bottom row) were collected from  [20]  in A and built using astral_runner. py, which employs ASTRAL-III  [9]  resulting phylogeny as has been shown to be the result of paralog inclusion  [17, 22]. This dataset, as well as other datasets used in the original study, was constructed via well accepted and widely used methods of all versus all BLAST searches followed by MCL clustering and subsampling of the resultant orthogroups into individual sets of orthologs via an automated tree pruning strategy.
Our discovery of paralog inclusions suggests that implementation of current standard workflows can lead to the inclusion of the paralogs we discovered in our small sample (approximately 10%) of the data from the 1292BUSCO dataset of  [20]. Many variables exist in this standard workflow, and subsequent studies should focus on elucidating the exact causes of ortholog misidentification during these widely used strategies for phylogenomic dataset construction. We initially considered these accidental paralog inclusions to be the likely explanation for the alternative topology with regard to the internal branching order inside the Saccharomycetaceae clade that was produced by this dataset (Fig  4 ). However, correcting these misassignments of paralogy only strengthened the support for the alternative topology (Fig  4 ), suggesting that other factors could be driving the topology produced by the 2 datasets.
Further analyses of the entire original datasets used in  [20]  will likely be needed to resolve this contentious node in the tree of the Saccharomycetaceae. We encourage others to explore these data, and, most importantly, add novel and unrepresented/under-sampled lineages to these datasets. A key feature of the PhyloFisher package is that even though the ortholog selection steps are manual, the software retains information from all previous curation steps. Thus, the orthologs versus paralog decisions are not permanent, rather, they are changeable for future researchers to explore and add new data. As phylogenomics is an ever-evolving science, PhyloFisher provides users the means to scrutinize these and add any new data generated. In time, we expect that by using our tool, a clearer picture of the deep relationships among eukaryotes will emerge.
We would also like to encourage educators teaching a phylogenomics course to consider PhyloFisher as their training software of choice. It is thoroughly documented and with a single installation command is "ready out of the box" for trainees to perform all standard steps in a phylogenomic study (homolog collection, data quality control, homolog tree construction, removal of paralogs and contaminants, different data sub-setting strategies, and matrix concatenation) as well as post-dataset construction analyses to test for robustness of the initial results. These attributes make PhyloFisher an ideal training tool for introducing phylogenomic analyses and concepts even if all the exact methodologies used within it are not universally agreed upon by the phylogenomics community. In conclusion, phylogenomic analyses were historically performed by a few experts in phylogenetics and bioinformatics.
More recently, phylogenomics has become a much more widely used tool in diverse biological fields as demonstrated by the rapid increase in the number of original papers that include phylogenomic trees. PhyloFisher is an easy-to-use software package, providing all the tools necessary to construct, perform quality control, and analyze large phylogenomic datasets consisting of many proteins. We show that the package and included database have the potential to help resolve deep (>100 million year) divergences in the tree of eukaryotes. PhyloFisher will also permit less bioinformatically proficient scientists to perform publication-quality phylogenomic analyses of eukaryotic lineages in a few simple steps. For more advanced users, PhyloFisher provides the flexibility to use a custom starting database, alter premade decisions in the provided database regarding ortholog selection, use alternative software other than what is provided, and change graphical aesthetics to fit their preferences.
Fisher algorithm details (used for ortholog collection) Ortholog selection and paralog demarcation are performed using the Python script fisher. py that requires 2 inputs: predicted proteome(s) to be added to the starting database and an input metadata file containing key information about them (see S1 Text and the PhyloFisher manual on the GitHub repository). To remove redundancy in the input proteome (typical when proteomes are predicted in silico from transcriptomic data), fisher. py invokes CD-HIT v. 4. 8. 1  [23]  with the option "-c 0. 98," which clusters sequences globally at a similarity threshold of 98%. Next, hmmsearch from the software package HMMER v. 3. 2. 1  [24]  is run on the input proteome using precomputed profile HMMs of each protein alignment in the starting database. Up to a user-defined number of sequences are collected (default = 5) that meet the significance threshold e-value < 1e -10.
If no sequence meets the significance threshold, the script moves on to the next protein. If sequences are found (up to the user-defined number), they are prioritized based on the level of significance (i. e. , the sequence with the most significant hit is preliminarily denoted as the most likely putative ortholog with other included sequences preliminarily denoted as putative paralogs). From here, the algorithm proceeds in either of 2 directions, depending on information given in the input metadata file. In the 2 routes outlined below, sequences can be added to or removed from the initial sequences collected by hmmsearch, as they meet or fail to meet the outlined criteria. The prioritization of a sequence can also change within the list based on the criteria outlined below. At the end of either route, if only 1 sequence remains, it is considered the putative ortholog for the input taxon.
Default route If no related species present in the starting database is/are listed in the "Blast Seed" column of the input metadata file to use as specific queries, each sequence collected from the hmmsearch run is used as the query in a search using DIAMOND v. 09. 24  [25]  against OrthoMCL v 5. 0  [23]  with the options "blastp -e 1e-10 --more-sensitive". Any sequence that has a significant hit (e-value < 1e -10) to a bacterial orthogroup in OrthoMCL is discarded along with any sequence that does not have a significant hit to the OrthoMCL orthogroup corresponding to the respective profile HMM used to retrieve the sequence. Retained sequences are again used as queries in a DIAMOND search using the parameters given above against the starting database. Query sequences whose best hit represents the conserved gene corresponding to the initial profile HMM that retrieved the query sequence is retained and added to the alignment.
Phylogenetically informed route The input metadata file gives users the option to specify taxa from the starting database whose sequences will be used as queries for blast searches against the new organism's proteome; typically, these should be closely related to the newly added taxon. Any number of species already present in the database may be chosen to serve as specific queries, but the algorithm will use them in the order provided, and, in cases outlined below, may not proceed to subsequent organisms. If organisms to be used as specific queries are listed in the input metadata file, fisher. py will initially pick the sequence representing a particular orthologous gene group ("ortholog" for simplicity) from the first organism listed, if present. If absent in the starting database, fisher.
The sequences from the original hmmsearch are reprioritized based on the level of significance of the BLAST hit. The sequence with the most significant hit becomes the priority sequence, unless it was not also collected by the initial hmmsearch: Any sequence that produces a significant BLAST hit but was not collected in the initial hmmsearch is discarded. The retained sequences are then used as queries against OrthoMCL  [27]. Any sequence that has a significant hit (e-value < 1e -10) to a bacterial orthogroup in OrthoMCL is discarded along with any sequence that does not have a significant hit to the OrthoMCL orthogroup corresponding to the respective profile HMM used to retrieve the sequence. Next, all the sequences that have passed the filtering in the previous step are compared with blast against the starting database of conserved marker proteins.
If the query sequence's best blast hit (BBH) is a sequence corresponding to the profile HMM that retrieved the query sequence in the initial search, the sequence is retained. If the sequence's BBH is a sequence from another alignment, the sequence is still retained, but is written out to the file "non-reciprocal_hits. txt" with a note on which protein from the starting database represented the BBH. Sequences are then added to the corresponding dataset from the starting database and aligned using MAFFT v. 7. 455  [28]  with the parameters "--auto --reorder", trimmed with trimAl v. 1. 4. rev15  [29]  with a gap threshold of 0. 2, and subjected to phylogenetic tree reconstruction via FastTree v. 2. 1. 11 [30]  with default parameters. The resulting tree is examined using the Python package ETE3  [31].
Automated filtering, alignment, trimming, and tree construction PhyloFisher also includes a Python script sgt_contructor. py to automatically filter, align, trim, length filter, and construct phylogenetic trees from all single-protein alignments. The script takes the output files from fisher. py (original single ortholog alignments that now contain newly added sequences selected by the fisher algorithm for input taxa as well as the previously denoted paralogs from the starting database) and removes any dashes to produce an unaligned set of sequences for nonhomologous character removal via PREQUAL v. 1. 02  [32]  using the default settings. Next, a length filtering step is performed to minimize the inclusion of proteins predicted from fragments of the same gene. This is common in proteomes predicted from transcriptomes.
First, sequences are aligned with the program MAFFT using the settings "--globalpair --maxiterate 1000 --unalignlevel 0. 6". This is followed by the assessment of alignment error and uncertainty by the program DIVVIER v. 1. 01  [33]  using the options "-mincol 4 -divvygap. " The resulting alignments are trimmed using BMGE v. 1. 1. 2 [34] , with a gap rate cutoff of 0. 3. Any sequence whose length is less than half the total alignment length, after BMGE filtering, is removed. After the removal of "short" sequences, files are prepared for single-protein phylogenetic tree construction by rerunning MAFFT and DIVVIER as above, followed by trimming with the program trimAl with a gap threshold of 0. 01  [29]. Finally, single-protein tree reconstruction is performed using RAxML v. 8. 2. 12  [12] , with the options "-m PROTGAMMALG4XF -f a -x 123 -N 100 -p 12345.
PhyloFisher v. 1. 0 database construction Sequence data were gathered for 304 eukaryotic taxa from various public resources. The identity of each taxon was carefully checked, resulting in numerous changes in names of the taxa (compared to the original data resource), reflecting developments in the taxonomy of the respective organisms (revisions in generic assignment, newly described species, etc. ) retrieved from the literature or corrected identification of misidentified taxa. A complete list of taxa and the associated accession numbers are provided in S1 Table. When not available, predicted proteomes were obtained from transcriptome assemblies using TransDecoder-v5. 5. 0 (https:// github. com/TransDecoder/TransDecoder/releases). For many taxa, transcriptomes were de novo assembled from transcriptomic reads available in the Sequence Read Archive (SRA) database.
First, sequencing errors were corrected in the raw reads using Rcorrector v. 1. 0. 1  [35]  using default settings. Next, adaptor sequences and low quality bases were removed using trimmomatic v. 0. 36  [36]  with the following parameters: ILLUMINACLIP:2:30:10 SLIDING-WINDOW:4:5 LEADING:5 TRAILING:5 MINLEN:25. The corrected and trimmed reads were assembled using the de novo transcriptome assembly program Trinity v2. 6. 6  [34]. The predicted proteomes of the 304 eukaryotic taxa were used as input for fisher. py, collecting up to the default number of sequences (n = 5) for downstream analyses. These input proteomes can be found in the "proteomes" directory of the provided starting database that can be retrieved via wget from https://ir. library. msstate. edu/bitstream/handle/11668/19731/Tice_etal.
PhyloFisherDatabase_v1. 0_Apr. 11. 2021. tar. gz. Details about each proteome can be found in the metadata. tsv file located in this same directory. A preliminary starting database was constructed from a 240 gene subset of a previous phylogenomic dataset "BORDOR" developed in  [37]  to enable the use of sequences from diverse taxa for specific queries when appropriate. The program hmmbuild from the HMMER3 package was used to make profile HMMs for all 240 genes using the BORDOR alignments as input. Specific queries were provided for all organisms that have a well-agreed upon position in the tree of eukaryotes; otherwise, the default route in fisher. py was utilized. The most closely related organism with the most complete genome or transcriptome available was used as the specific query, followed by less complete data when available.
After sequences had been collected by fisher. py for all organisms, the resulting files were subjected to the workflow described in the "Automated Filtering, Alignment, Trimming, and Single-protein Tree Construction" section. The resulting homolog trees were examined manually with the included tool "ParaSorter" to select orthologous sequences, demarcate paralogs, and remove contaminating sequences using the logic outlined in the section "Phylogenomic dataset construction and analyses" of  [8]. Finally, the aligned orthologs of the 304 public taxa (S1 Table ) were used to produce the final profile HMMs shipped with PhyloFisher v. 1. 0 as well as the sequences of the 240 orthologs and their paralogs that comprise the starting database.
Construction of yeast datasets RTC scores were calculated for all genes comprising the BUSCO 1292 dataset of  [20]. The 10% of genes with highest RTC scores were collected and used as the starting orthologs to create a custom PhyloFisher database through the methodology implemented in the included utility build_database. py. The utility build_database. py takes any number of individual ortholog files (with an option to provide known paralogs) as input and generates the data necessary for the retrieval of the ortholog set from new taxa and subsequent analyses within the PhyloFisher workflow. The utility build_database. py aligns the provided set of orthologs using the "--auto" option of MAFFT  [25]  and creates profile HMMs for each gene alignment using the "hmmbuild" utility from the HMMER3 package  [24] , builds a DIAMOND blast database from the set of provided orthologs, and assigns an OrthoMCL orthogroup number(s) to each ortholog.
OrthoMCL orthogroup numbers are assigned by using all sequences in a provided ortholog file as queries in a BLAST search against the OrthoMCL v. 5. 0 database  [27]. If a userdefined percentage (default = 10%) of sequences hit an OrthoMCL orthogroup with a significance threshold of evalue < 1e -10, then that orthogroup is assigned to the ortholog. More than 1 OrthoMCL orthogroup number can be assigned to ortholog. If the provided ortholog alignment is assigned "no group" or to an exclusively bacterial group in OrthoMCL, the gene cannot be used in the PhyloFisher workflow. Sequences representing putative homologs of this ortholog set were collected from all Saccharomycetaceae, Saccharomycodaceae, and Phaffomycetaceae genomes used in  [20]  as well as the recently sequenced genome of T. globosa (accession: GCF_014133895.
1) via fisher. py's phylogenetically informed route using default options. The putative homologs were processed using the remainder of PhyloFisher's main workflow, and final ortholog/paralog/contamination decisions were applied to the custom database described above. During our analysis of the homolog trees produced, we discovered the inadvertent inclusion of paralogs in the original dataset of  [20]. To explore the effect of these misassignments of the tree of Saccharomycetaceae, we created 2 phylogenomic datasets: the first maintaining all the original ortholog assignments of  [20]  and the second with the orthologs assigned through the PhyloFisher workflow. We also collected putative homologs of the ortholog set that comprises PhyloFisher's provided starting database from all Saccharomycetaceae, Saccharomycodaceae, and Phaffomycetaceae used in  [20]  and T.
Phylogenomic analyses Single ortholog processing. For each dataset, orthologs were identified and collected from the output of the single-protein tree examination (select_orthologs. py, select_taxa. py, and prep_final_dataset. py, respectively). The individual ortholog fasta files were each processed with matrix_constructor. py using our default parameters, which are listed here in order as part of the matrix_constructor. py pipeline: (1) all gaps and any � (stops) in the ortholog fasta files are removed; (2) nonhomologous characters are removed via PREQUAL v. 1. 02  [32]  using the default settings; (3) files were then aligned using MAFFT-GINSI  [28]  using the command "mafft --globalpair --maxiterate 1000 --unalignlevel 0. 6 {numthreads} {gene}. aa. filtered > {gene}. aln"; (4) alignment files were then processed in DIVVIER  [33]  using the "partial" procedure with the command "divvier -partial -mincol 4 -divvygap {gene}.
aln"; and (5) the partial DIVVIER alignments were then trimmed using trimAl with a gap-threshold of 80% "trimal -in {gene}. aln. partial. fas -gt 0. 80 -phylip -out {gene}. gt80trimal. phy". The rationale for the use of an 80% gap threshold is provided in the trimming experiment section of the Supporting information Materials and methods. Concatenation-based species tree inference. The final 4 sets of trimmed alignments were concatenated using matrix_constructor. py to generate 4 separate phylogenomic supermatrices. Phylogenomic trees were inferred from each matrix in IQ-TREE  [14]  under the site heterogenous model LG+G4+F+C60 with posterior mean site frequencies  [38]   were inferred from the single ortholog trees and bootstrap trees for all datasets using ASTRAL-III  [9]. Single ortholog trees for all 4 datasets were first inferred from the trimmed orthologs that resulted from matrix_constructor.
py, {gene}. gt80trimal, in RAxML, using the command "raxmlHPC-PTHREADS-AVX2 -f a -T 2 -m PROTCATLGF -p 123 -x 123 -N 100 -s {gene}. gt80trimal. phy -n {gene}. gt80trimal" with 100 rapid bootstrap replicates, which were then used in gene tree coalescence inferences of species trees using ASTRAL-III. We provide a utility (astral_runner. py) as part of the PhyloFisher package to collect single ortholog trees and their respective bootstrap trees and generate input files and run ASTRAL-III. Step 0 and Step 1 have 3,000 sites removed (see rationale below and Fig M ) and then each subsequent step has 9,000 sites removed using the greatest to least heterotachy ratio stepwise manner to exhaustion. ML tree was inferred for each dataset in IQ-TREE under LG+G4 +F+C60+PMSF with an LG+G4+F+C20 input tree for generation of the PMSF site frequencies inferred in IQ-TREE with 1,000 ultrafast bootstrap replicates (UFBOOT).
Data associated with this figure are available in the directory archive FigL. tgz within the data archive available from https://ir. library. msstate. edu/bitstream/handle/11668/19731/Tice_etal. PhyloFisher. DATA. tar. gz. Fig M : Ratio of fast to slow taxa site rates, on a per site basis, estimated from a simulated dataset. This dataset was simulated under the LG+G4+C60+F model of evolution using our output tree under this model with our gt80 dataset. Fast/slow taxa site ratios were estimated using the heterotachy. py utility. The maximum observed ratio was 9. 08 in simulated data. This set of ratios was used further as a null distribution of expected fast/slow ratios under this model. Data associated with this figure are available in the directory archive FigM. tgz within the data archive available from https://ir.
library. msstate. edu/bitstream/handle/11668/19731/ Tice_etal. PhyloFisher. DATA. tar. gz. Fig N : Ratio of fast to slow taxa site rates, on a per site basis, estimated from our gt80 dataset with our output tree from this supermatrix inferred in IQ-TREE under LG+G4+F+C60+PMSF with an LG+G4+F+C20 input tree for generation of the PMSF site frequencies. Fast/slow taxa site ratios were estimated using the heterotachy. py utility. The null distribution as estimated from the LG+G4+C60+F simulation (Fig M ) was used to calculate p-values from the top 3,000, 6,000, and 9,000 fast/slow ratios. Data associated with this figure are available in the directory archive FigN. tgz within the data archive available from https://ir. library. msstate. edu/bitstream/handle/11668/19731/Tice_etal. PhyloFisher. DATA.
tar. gz. Fig O : Heterotachious site removal of 3,000 and 6,000 sites from the whole dataset (72,632 amino acid), removal of 3,000 (p-value = 0. 0001) (left) and 6,000 (p-value = 0. 003) (right). From these starting heterotachious removed datasets, 6,000 of the fastest sites were removed using fast_site_remover. py, Het3KFast6K (63,632 sites) and Het6KFast6K (60,632 sites). ML tree was inferred for each dataset in IQ-TREE under LG+G4+F+C60+PMSF with an LG+G4+F+C20 input tree for generation of the PMSF site frequencies inferred in IQ-TREE with 1,000 ultrafast bootstrap replicates (UFBOOT Phylogenetic tree of ortholog EOG0934062S of the dataset from  [5]. Tree was inferred using the sgt_contructor. py as detailed in the main text. Tree is the output from parasorter. Leaf names in bold are identified by the fisher.
py algorithm as suggested orthologs. Leaf names not bolded are from the sequences collected as potential paralogs. The leaves with a colored background are those sequences from the dataset from  [5]   [5]. Tree was inferred using the sgt_contructor. py as detailed in the main text. Tree is the output from parasorter. Leaf names in bold are identified by the fisher. py algorithm as suggested orthologs. Leaf names not bolded are from the sequences collected as potential paralogs. The leaves with a colored background are those sequences from the dataset from  [5]. Problematic paralogs are highlighted with red arrows, and the corrected replacement identified by PhyloFisher are highlighted by blue arrows. A downloadable figure and data associated with this figure are available in the directory archive FigS-X.
tgz within the data archive available from https://ir. library. msstate. edu/ bitstream/handle/11668/19731/Tice_etal. PhyloFisher. DATA. tar. gz. Fig U : Phylogenetic tree of ortholog EOG093407UY of the dataset from  [5]. Tree was inferred using the sgt_contructor. py as detailed in the main text. Tree is the output from parasorter. Leaf names in bold are identified by the fisher. py algorithm as suggested orthologs. Leaf names not bolded are from the sequences collected as potential paralogs. The leaves with a colored background are those sequences from the dataset from  [5]. Problematic paralogs are highlighted with red arrows, and the corrected replacement identified by PhyloFisher are highlighted by blue arrows. A downloadable figure and data associated with this figure are available in the directory archive FigS-X.