Skip to content

Releases: ecbush/xenoGI

v3.1.1

15 Dec 17:44
Compare
Choose a tag to compare

Minor release, separating functions doing alignments and tree making for the sake of compatibility with PHANTASM.

Option to use GeneRax to create gene trees

10 Sep 14:57
Compare
Choose a tag to compare
  • Now have the option to use GeneRax to create gene trees in a species-tree aware way. If useGeneRaxToMakeSpeciesTrees is set to True (as is the case in the default params.py) GeneRax will be used. If False, FastTree is used. GeneRax makes the gene trees more accurate, and cuts down on spurious events in our reconciliations. However there is a significant cost in terms of speed (about 2 fold on our example data set).
  • Now using MUSCLE v5
  • Added an aminoAcidIdentity flag which uses blast output to calculate the average amino acid identity between strains.

Gene/species tree reconciliation using the DTLOR algorithm

01 Feb 19:24
Compare
Choose a tag to compare

We now reconstruct the history of gene families by reconciling the gene tree for a family against the species tree. We use FastTree to make the gene trees, and a custom reconciliation algorithm called DTLOR (duplication, transfer, loss, origin, rearrangement) to do the reconciliation. The analysis output now includes a history of evolutionary events for each gene, as well as an explicit call as to its origin (either core gene, C, or xeno hgt event, X).

Options to create gene trees and species tree

29 Jul 23:46
Compare
Choose a tag to compare
  • Added makeSpeciesTree option. This makes gene trees for the hard core set of gene families (using FastTree with GTR+CAT) and then combines them into a species tree using ASTRAL. There is also makeGeneFamilyTrees to make gene trees for the families.
  • Several changes to internal objects and processes to facilitate running larger numbers of strains.
  • parseGenbank can now optionally create DNA files (depending on the new parameter dnaBasedGeneTrees).

Bug fix and memory usage improvements.

29 May 15:25
Compare
Choose a tag to compare
  • Fixed a bug in island formation that arose when there were no islands on a branch.
  • Changed naming for blast files to avoid conflicts with strain names. (In particular with the '-' character.)
  • parseGenbank now throws an error when it encounters a gbff file that lacks protein annotations.
  • Created a sharedScores class that shares memory between separate processes. This reduces memory usage significantly in calcScores.

Improvements to speed and memory use

20 Mar 23:58
Compare
Choose a tag to compare

This is a major release, meaning things like parameter files and output files have changed.

  • Reduced RAM requirements. We've eliminated the norm score. Synteny scores are now based on raw scores, and thresholds for family formation calculated directly for each strain pair.
  • Improved speed. This results from changes to island formation, and makes a particularly big difference for large data sets (50 or more strains).
  • Simplified the user parameters file. Parameters users are unlikely to ever change have been moved elsewhere.
  • Added plotScoreHists flag. Makes rawSc.pdf, synSc.pdf, coreSynSc.pdf.
  • Introduced several additional classes (LocusFamily, LocusIsland). This is largely for the sake of future development, and should make it easier to capture things like gene duplication.
  • Modified Score class to better organize scores from particular strain pairs. This means the current version of xenoGI will not read scores objects from older versions.

Bug fix in analysis scripts

06 Oct 18:38
Compare
Choose a tag to compare

Fixed bug in printAnalysis which caused it to fail on larger data sets.

Interactive analysis moved to main xenoGI script

11 Jun 23:15
Compare
Choose a tag to compare

Interactive analysis is now part of the main xenoGI script. We also made some minor changes to the non-interactive analysis, adding gene symbols to the islandsSummary.txt output file.

Converted to a pip installable package.

03 Jun 17:02
Compare
Choose a tag to compare

With this release, xenoGI is a python package, and can be installed via pip. As a part of these changes, we've also modified the interface so that the code is called as a single command line script.

Initial release

14 Nov 13:33
Compare
Choose a tag to compare

This release corresponds to our article: "xenoGI: reconstructing the history of genomic island insertions in clades of closely related bacteria".