rc7 -- The Matthieu Authier Edition

This release candidate features lots of bugfixes that grew out of some problems reported by matthieu Authier. Thanks, Matthieu! Here are the highlights:

05/07/2008 Added a check to pyp_graphics/draw_pedigree()
to catch empty gtitles, which cause dot to crash. If the
gtitle is empty then it is set equal to the 'pedname'
attribute of the NewPedigree object.

05/07/2008 Fixed pyp_network/get_node_betweenness() to use
the correct betweenness function from NetworkX.

05/07/2008 Made lots of changes to
pyp_graphics/draw_pedigree() to get it working with pydot
1.0.2. I believe that it now works again in that it will
draw pedigrees, but they're not looking great. This area
will receive attention for PyPedal 2.0.1.

05/07/2008 Updated the example program new_renumbering.py
to use the correct syntax to load a pedigree.

05/07/2008 Added messages to the example program
new_options.py to indicate which pedigree load steps are
supposed to fail.

05/07/2008 Removed some casts that were unnecessary from

05/07/2008 inbreeding(), inbreeding_tabular(), and
inbreeding_vanraden() in pyp_nrm now all correctly
initialize reldict to include all fields. The r_nonzero_sum
field had been left out of the intialization.

05/07/2008 Added userField handling to the printme() and
stringme() methods of pyp_newclasses/NewAnimal.

05/07/2008 Corrected pedigree format string in new_ids.ini.

05/07/2008 Checked all example programs by hand to make
sure that they're consistent with the current API and
feature-set to avoid the kinds of problems that Matthieu
(and probably others) have had with the example being very

05/07/2008 The nrm attribute of pyp_newclasses/NewAMatrix
if now set to False on instantiation so that the instance
can easily be queried for the existence of an NRM.

05/07/2009 Added a new example program, new_decompose.py,
to demonstrate the use of the routines in pyp_nrm for
decomposing A such that A = TDT', as well as the code
for directly forming A-inverse with or without inbreeding.

05/06/2008 Fixed several functions in pyp_nrm
(a_decompose, form_d_nof, a_inverse_dnf, and a_inverse_df)
so that they're using the correct Numpy dtypes.

05/06/2008 Fixed several functions in pyp_nrm (a_decompose,
form_d_nof, a_inverse_dnf, and a_inverse_df) that were still
trying to use the 'num_recs' attribute of the pedigree
metadata, which was renamed to 'num_records' quite a while
back, but which was not noted in This File.

05/06/2008 Fixed a spelling error in the psyco import
blocks in pyp_graphics, pyp_metrics, and pyp_networks,
and pyp_nrm.

05/06/2008 Updated examples/new_amatrix.py to use Numpy
instead of Numarray, as well as to remove calls to
deprecated methods. Thanks to Matthieu
Authier for reporting this and other important bugs.

05/06/2008 Removed an extra space from the metadata
output that's been bugging me for a Long Time Now.

05/06/2008 Added import block for psyco in pyp_nrm.

Posted by John B. Cole 2008-05-07