# API Reference


## Ortholog discovery


Infer orthologs and summarize comparative-genetics results.


[Orthologs.Blast.BaseComparativeGenetics](Orthologs.Blast.BaseComparativeGenetics.md#OrthoEvol.Orthologs.Blast.BaseComparativeGenetics)  
Base class in the Blast module.

[Orthologs.Blast.ComparativeGenetics](Orthologs.Blast.ComparativeGenetics.md#OrthoEvol.Orthologs.Blast.ComparativeGenetics)  
Main Comparative Genetics class.

[Orthologs.Blast.BaseBlastN](Orthologs.Blast.BaseBlastN.md#OrthoEvol.Orthologs.Blast.BaseBlastN)  
Base BlastN class.

[Orthologs.Blast.OrthoBlastN](Orthologs.Blast.OrthoBlastN.md#OrthoEvol.Orthologs.Blast.OrthoBlastN)  
OrthoBlastN provides a preconfigured and orthology optimized version


## Sequence retrieval


Retrieve and organize GenBank records and NCBI datasets.


[Orthologs.GenBank.GenBank](Orthologs.GenBank.GenBank.md#OrthoEvol.Orthologs.GenBank.GenBank)  
This class will handle GenBank files in various ways.

[Tools.ftp.BaseFTPClient](Tools.ftp.BaseFTPClient.md#OrthoEvol.Tools.ftp.BaseFTPClient)  
Provide shared connection management for FTP clients.

[Tools.ftp.NcbiFTPClient](Tools.ftp.NcbiFTPClient.md#OrthoEvol.Tools.ftp.NcbiFTPClient)  
Access NCBI directories over FTP and download data over HTTPS.

[Tools.mygene.MyGene](Tools.mygene.MyGene.md#OrthoEvol.Tools.mygene.MyGene)  
Import a csv of refseq accessions & get gene information from mygene.


## Alignment and phylogenetics


Prepare alignments and run supported phylogenetic programs.


[Orthologs.Align.ClustalO](Orthologs.Align.ClustalO.md#OrthoEvol.Orthologs.Align.ClustalO)  
Align genes using Clustal Omega.

[Orthologs.Align.Guidance2Commandline](Orthologs.Align.Guidance2Commandline.md#OrthoEvol.Orthologs.Align.Guidance2Commandline)  
Command line wrapper for GUIDANCE2.

[Orthologs.Align.Pal2NalCommandline](Orthologs.Align.Pal2NalCommandline.md#OrthoEvol.Orthologs.Align.Pal2NalCommandline)  
Command line wrapper for PAL2NAL.

[Orthologs.Align.MultipleSequenceAlignment](Orthologs.Align.MultipleSequenceAlignment.md#OrthoEvol.Orthologs.Align.MultipleSequenceAlignment)  
The MultipleSequenceAlignment (MSA) class uses the standard configuration

[Orthologs.Phylogenetics.RelaxPhylip](Orthologs.Phylogenetics.RelaxPhylip.md#OrthoEvol.Orthologs.Phylogenetics.RelaxPhylip)  
Convert a multiple sequence alignment file to relaxed-phylip format.

[Orthologs.Phylogenetics.ETE3PAML](Orthologs.Phylogenetics.ETE3PAML.md#OrthoEvol.Orthologs.Phylogenetics.ETE3PAML)  
Integration of ETE3 for using PAML's codeml.

[Orthologs.Phylogenetics.PhyML](Orthologs.Phylogenetics.PhyML.md#OrthoEvol.Orthologs.Phylogenetics.PhyML)  
PhyML tools.

[Orthologs.Phylogenetics.Phylip](Orthologs.Phylogenetics.Phylip.md#OrthoEvol.Orthologs.Phylogenetics.Phylip)  
Phylip tools.

[Orthologs.Phylogenetics.IQTreeCommandline](Orthologs.Phylogenetics.IQTreeCommandline.md#OrthoEvol.Orthologs.Phylogenetics.IQTreeCommandline)  
Command line wrapper for GUIDANCE2.

[Orthologs.Phylogenetics.FilteredTree](Orthologs.Phylogenetics.FilteredTree.md#OrthoEvol.Orthologs.Phylogenetics.FilteredTree)  
Run IQTree to generate a "filtered" tree or best tree.

[Orthologs.Phylogenetics.TreeViz](Orthologs.Phylogenetics.TreeViz.md#OrthoEvol.Orthologs.Phylogenetics.TreeViz)  
Tree Vizualization tools.

[Orthologs.Phylogenetics.PAML.CodemlRun](Orthologs.Phylogenetics.PAML.CodemlRun.md#OrthoEvol.Orthologs.Phylogenetics.PAML.CodemlRun)  
Run PAML's codeml program using Biopython's codeml wrapper.


## Project and data management


Create project layouts and coordinate data and database workflows.


[Manager.management.Management](Manager.management.Management.md#OrthoEvol.Manager.management.Management)  

[Manager.management.RepoManagement](Manager.management.RepoManagement.md#OrthoEvol.Manager.management.RepoManagement)  

[Manager.management.UserManagement](Manager.management.UserManagement.md#OrthoEvol.Manager.management.UserManagement)  

[Manager.management.WebsiteManagement](Manager.management.WebsiteManagement.md#OrthoEvol.Manager.management.WebsiteManagement)  

[Manager.management.ProjectManagement](Manager.management.ProjectManagement.md#OrthoEvol.Manager.management.ProjectManagement)  

[Manager.data_management.DataMana](Manager.data_management.DataMana.md#OrthoEvol.Manager.data_management.DataMana)  

[Manager.database_management.BaseDatabaseManagement](Manager.database_management.BaseDatabaseManagement.md#OrthoEvol.Manager.database_management.BaseDatabaseManagement)  

[Manager.database_management.DatabaseManagement](Manager.database_management.DatabaseManagement.md#OrthoEvol.Manager.database_management.DatabaseManagement)  

[Manager.database_dispatcher.DatabaseDispatcher](Manager.database_dispatcher.DatabaseDispatcher.md#OrthoEvol.Manager.database_dispatcher.DatabaseDispatcher)  

[Manager.biosql.biosql.BaseBioSQL](Manager.biosql.biosql.BaseBioSQL.md#OrthoEvol.Manager.biosql.biosql.BaseBioSQL)  

[Manager.biosql.biosql.SQLiteBioSQL](Manager.biosql.biosql.SQLiteBioSQL.md#OrthoEvol.Manager.biosql.biosql.SQLiteBioSQL)  

[Manager.biosql.biosql.MySQLBioSQL](Manager.biosql.biosql.MySQLBioSQL.md#OrthoEvol.Manager.biosql.biosql.MySQLBioSQL)  


## Execution and supporting tools


Run local, PBS, Slurm, logging, and transfer helpers.


[Tools.pbs.BaseQsub](Tools.pbs.BaseQsub.md#OrthoEvol.Tools.pbs.BaseQsub)  

[Tools.pbs.Qsub](Tools.pbs.Qsub.md#OrthoEvol.Tools.pbs.Qsub)  

[Tools.pbs.BaseQstat](Tools.pbs.BaseQstat.md#OrthoEvol.Tools.pbs.BaseQstat)  

[Tools.pbs.Qstat](Tools.pbs.Qstat.md#OrthoEvol.Tools.pbs.Qstat)  

[Tools.pbs.MultiQstat](Tools.pbs.MultiQstat.md#OrthoEvol.Tools.pbs.MultiQstat)  

[Tools.pbs.TargetJobKeyError](Tools.pbs.TargetJobKeyError.md#OrthoEvol.Tools.pbs.TargetJobKeyError)  

[Tools.slurm.SlurmClient](Tools.slurm.SlurmClient.md#OrthoEvol.Tools.slurm.SlurmClient)  
Run one-shot Slurm submission and inspection commands.

[Tools.slurm.SlurmJob](Tools.slurm.SlurmJob.md#OrthoEvol.Tools.slurm.SlurmJob)  
Normalized job information shared by active and historical queries.

[Tools.slurm.SlurmCommandNotFoundError](Tools.slurm.SlurmCommandNotFoundError.md#OrthoEvol.Tools.slurm.SlurmCommandNotFoundError)  
Report that a required Slurm executable is unavailable.

[Tools.parallel.Multiprocess](Tools.parallel.Multiprocess.md#OrthoEvol.Tools.parallel.Multiprocess)  
Use multiple processes with a function.

[Tools.logit.LogIt](Tools.logit.LogIt.md#OrthoEvol.Tools.logit.LogIt)  
LogIt makes logging easier by creating easy loggers.

[Tools.pybasher.PyBasher](Tools.pybasher.PyBasher.md#OrthoEvol.Tools.pybasher.PyBasher)  
Common bash commands.

[Tools.send2server.S2S](Tools.send2server.S2S.md#OrthoEvol.Tools.send2server.S2S)  
S2S (Send 2 Server) is designed for use with a public ssh key.

[Tools.slackify.Slackify](Tools.slackify.Slackify.md#OrthoEvol.Tools.slackify.Slackify)  
Send messages or milestones to a slack channel.


## Templates and utilities


Create project templates and use shared package utilities.


[Cookies.Oven](Cookies.Oven.md#OrthoEvol.Cookies.Oven)  
Class that deploys cookiecutter templates.

[Cookies.CookBook](Cookies.CookBook.md#OrthoEvol.Cookies.CookBook)  
Class of cookiecutter related functions.

[resources.package_resource_path()](resources.package_resource_path.md#OrthoEvol.resources.package_resource_path)  
Return a filesystem path for a resource in an installed package.

[utilities.DuplicateAnalysis](utilities.DuplicateAnalysis.md#OrthoEvol.utilities.DuplicateAnalysis)  
Duplicate groups and the counts consumed by post-BLAST reporting.

[utilities.BlastUtils](utilities.BlastUtils.md#OrthoEvol.utilities.BlastUtils)  

[utilities.GenbankUtils](utilities.GenbankUtils.md#OrthoEvol.utilities.GenbankUtils)  

[utilities.OrthologUtils](utilities.OrthologUtils.md#OrthoEvol.utilities.OrthologUtils)  

[utilities.ManagerUtils](utilities.ManagerUtils.md#OrthoEvol.utilities.ManagerUtils)  

[utilities.CookieUtils](utilities.CookieUtils.md#OrthoEvol.utilities.CookieUtils)  

[utilities.PackageVersion](utilities.PackageVersion.md#OrthoEvol.utilities.PackageVersion)  
Get the version of an installed python package.

[utilities.FunctionRepeater](utilities.FunctionRepeater.md#OrthoEvol.utilities.FunctionRepeater)  
Repeats a function every interval. Ref: https://tinyurl.com/yckgv8m2

[utilities.FullUtilities](utilities.FullUtilities.md#OrthoEvol.utilities.FullUtilities)  

[OrthoEvolWarning](OrthoEvolWarning.md#OrthoEvol.OrthoEvolWarning)  
This is the OrthoEvol main warning class.

[OrthoEvolDevelopmentWarning](OrthoEvolDevelopmentWarning.md#OrthoEvol.OrthoEvolDevelopmentWarning)  
This is the OrthoEvol developmental code warning subclass.

[OrthoEvolDeprecationWarning](OrthoEvolDeprecationWarning.md#OrthoEvol.OrthoEvolDeprecationWarning)  
This is the Deprecation Warning subclass.
