PyPedal 2.0.0 Beta16 review

Download
by rbytes.net on

PyPedal project is a Python module that provides tools for the manipulation of pedigrees, simple visualization of pedigrees, and the

License: LGPL (GNU Lesser General Public License)
File size: 0K
Developer: John B. Cole
0 stars award from rbytes.net

PyPedal project is a Python module that provides tools for the manipulation of pedigrees, simple visualization of pedigrees, and the calculation of measures of genetic diversity from pedigrees.

What's New in This Release:
Added PyPedalError and PyPedalPedigreeInputFileNameError classes. Now the exception raised in NewPedigree::__init__() actually works sort-of correctly.

Did some more work in pyp_newclasses/NewAnimal::__init__() to make sure that string methods are not called on non-strings.

pyp_newclasses/NewAnimal::string_to_int() now uses a new hashing algorithm taken from "Character String Keys" in "Data Structures and Algorithms with Object-Oriented Design Patterns in Python" by Bruno R. Preiss: http://www.brpreiss.com/books/opus7/html/page220.html#progstrnga.
This fixes the collision problem with the previous algorithm (but any algorithm that produces, say, 32-bit integers will collide under the right circumstances).

OK, the problem with pyp_utils/reorder() has been identified: Ori Peleg's hashing approach used in pyp_newclasses/NewAnimal::string_to_int() is colliding. For example, the strings 'ANJHL5876DC' and 'ONNLDF348RC' hash to the same value.

Made a change to pyp_newclasses/NewAnimal::__init__() so that animal, sire, and dam names are correctly assigned even if integral IDs are passed rather than strings.

pyp_newclasses/NewPedigree::preprocess() no longer casts animal, sire, and dam IDs to strings when adding pedigree entries for missing sires and dams. The cast was breaking the founder assignment code in pyp_newclasses/NewAnimal::__init__().

Turned off a bunch of debugging messages left on in pyp_utils/reorder().

pyp_utils/assign_offspring() was rather thoroughly broken due to errors introduced when the new object model conversion was made.

What's New in This Release:
Changed the MANIFEST.in file used for packaging releases to include only the PS and PDF manuals from the documents directory.
Fixed a bug in pyp_newclasses/NewPedigree::simulate() so that pedigree
format code "u" is correctly handled.

PyPedal 2.0.0 Beta16 keywords