<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Funjackals! &#187; Science</title>
	<atom:link href="http://www.funjackals.com/blog/category/science/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.funjackals.com/blog</link>
	<description>Wherein John tells you what's on his mind.</description>
	<lastBuildDate>Fri, 02 Dec 2011 21:51:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PyPedal Release Candidate 7 Highlights Need for Unit Testing</title>
		<link>http://www.funjackals.com/blog/2008/05/08/pypedal-release-candidate-7-highlights-need-for-units-testing/</link>
		<comments>http://www.funjackals.com/blog/2008/05/08/pypedal-release-candidate-7-highlights-need-for-units-testing/#comments</comments>
		<pubDate>Thu, 08 May 2008 19:36:28 +0000</pubDate>
		<dc:creator>jcole</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[PyPedal]]></category>

		<guid isPermaLink="false">http://www.funjackals.com/blog/?p=268</guid>
		<description><![CDATA[Many thanks to Matthieu Authier for reporting several bugs, which in turn led to more bugs. The hunt started with broken code in examples/new_amatrix.py, which led to bugs in several subroutines in pyp_nrm, which exposed some small side issues. Notably, &#8230; <a href="http://www.funjackals.com/blog/2008/05/08/pypedal-release-candidate-7-highlights-need-for-units-testing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Many thanks to Matthieu Authier for reporting several bugs, which in turn led to more bugs. The hunt started with broken code in <strong>examples/new_amatrix.py</strong>, which led to bugs in several subroutines in <a href="http://pypedal.sourceforge.net/doxygen/namespacePyPedal_1_1pyp__nrm.html" title="PyPedal::pyp_nrm Namespace Reference">pyp_nrm</a>, which exposed some small side issues. Notably, <a href="http://code.google.com/p/pydot/" title="pydot, a Python interface to Graphviz's Dot language">pydot 1.0.2</a> is broken and had to be patched by hand, and I had to make lots of changes to <strong>draw_pedigree()</strong> in the <a href="http://pypedal.sourceforge.net/doxygen/namespacePyPedal_1_1pyp__graphics.html" title="PyPedal::pyp_graphics Namespace Reference">pyp_graphics</a> module to get it working again. I also added a new example program, <strong>new_decompose.py</strong>, to demonstrate the use of the routines in <a href="http://pypedal.sourceforge.net/doxygen/namespacePyPedal_1_1pyp__nrm.html" title="PyPedal::pyp_nrm Namespace Reference">pyp_nrm</a> for decomposing A such that A = TDT&#8217;, as well as the code for directly forming A-inverse with or without inbreeding. </p>
<p>These errors, in a way, exposed the tip of an iceberg: there is not nearly enough unit testing in PyPedal. Many of the example programs were written a long time ago (about three years) and not checked systematically since. This means that some programs, such as <strong>examples/new_amatrix.py</strong>, were still using methods that no longer exist (I&#8217;m thinking specifically about the info() method of NewAMatrix objects). Heck, that program still imported Numeric! So it&#8217;s a great idea to have examples, but it doesn&#8217;t help users when they run the program and everything fails. It makes the whole package look shoddy and undependable, and who wants to trust their work to that kind of code? If Matthieu hadn&#8217;t e-mailed me about those problems I&#8217;d still be shipping broken code. I hate writing unit tests as much as the next guy, but PyPedal&#8217;s grown to the point that it&#8217;s too big for me to keep track of, so I need a way to automate testing. So, it&#8217;s getting to be unit test time. With that and the work I want to do on the graphics module there&#8217;s plenty of work in the queue for version 2.0.1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funjackals.com/blog/2008/05/08/pypedal-release-candidate-7-highlights-need-for-units-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyPedal Release Candidate 3 Features an Inbreeding Bugfix and Refactored Database Handling</title>
		<link>http://www.funjackals.com/blog/2008/03/28/pypedal-release-candidate-3-features-an-inbreeding-bugfix-and-refactored-database-handling/</link>
		<comments>http://www.funjackals.com/blog/2008/03/28/pypedal-release-candidate-3-features-an-inbreeding-bugfix-and-refactored-database-handling/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 19:56:22 +0000</pubDate>
		<dc:creator>jcole</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[ADOdb]]></category>
		<category><![CDATA[PyPedal]]></category>
		<category><![CDATA[SQLAlchemy]]></category>

		<guid isPermaLink="false">http://www.funjackals.com/blog/?p=260</guid>
		<description><![CDATA[The third release candidate of PyPedal 2.0 has been released. It includes a minor bugfix to pyp_nrm/inbreeding_vanraden() and a completely-refactored database backend. After a few days of writing, and a false start with SQLAlchemy, I&#8217;ve completely rewritten the database backend &#8230; <a href="http://www.funjackals.com/blog/2008/03/28/pypedal-release-candidate-3-features-an-inbreeding-bugfix-and-refactored-database-handling/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://pypedal.sourceforge.net/" title="PyPedal 2.0.0rc3">third release candidate of PyPedal 2.0 has been released</a>. It includes a minor bugfix to <strong>pyp_nrm/inbreeding_vanraden()</strong> and a completely-refactored database backend. After a few days of writing, and a false start with <a href="http://www.sqlalchemy.org/" title="The Python SQL Toolkit and Object Relational Mapper">SQLAlchemy</a>, I&#8217;ve completely rewritten the database backend using <a href="http://phplens.com/lens/adodb/adodb-py-docs.htm" title="ADOdb for Python">ADOdb for Python</a>. PyPedal can now be used with <a href="http://www.mysql.com/" title="MySQL database">MySQL</a>, <a href="http://www.postgresql.org/" title="Postgres RDBMS">Postgres</a>, and <a href="http://www.sqlite.org/" title="SQLite database">SQLite</a> databases. The manual has also been updated to include <a href="http://pypedal.sourceforge.net/manual/node47.html" title="4.4 Databases">a more complete discussion of databases in PyPedal</a>. Notably, there is discussion of how to bend PyPedal to your will if you want to load data from, or save them to, your own databases using formats other than <em>ASDx</em>.</p>
<p>I&#8217;ve got no quarrel with <a href="http://www.sqlalchemy.org/" title="The Python SQL Toolkit and Object Relational Mapper">SQLAlchemy</a> &#8212; it looks very cool &#8212; but I could never quite get it to do what I wanted. After working with it for a day or so I concluded that it was just overkill for the few simple things I wanted to do, so I jumped ship to <a href="http://phplens.com/lens/adodb/adodb-py-docs.htm" title="ADOdb for Python">ADOdb for Python</a>. It stood me in good stead many times in my PHP days,and it got the job done handily here, too.</p>
<p>I&#8217;m sure I&#8217;ll think about more that I want to say later.  The dusting and polishing that goes along with preparing a release version is doing PyPedal a lot of good.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funjackals.com/blog/2008/03/28/pypedal-release-candidate-3-features-an-inbreeding-bugfix-and-refactored-database-handling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyPedal Release Candidates Feature Fewer Bugs!</title>
		<link>http://www.funjackals.com/blog/2008/03/12/pypedal-release-candidates-feature-fewer-bugs/</link>
		<comments>http://www.funjackals.com/blog/2008/03/12/pypedal-release-candidates-feature-fewer-bugs/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 16:03:27 +0000</pubDate>
		<dc:creator>jcole</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[PyPedal]]></category>

		<guid isPermaLink="false">http://www.funjackals.com/blog/?p=259</guid>
		<description><![CDATA[One supposes that the titles of this entry is not particularly informative because that is, in fact, the point of release candidates: to iron out as many lingering bugs as possible. What do you from a guy with hair like &#8230; <a href="http://www.funjackals.com/blog/2008/03/12/pypedal-release-candidates-feature-fewer-bugs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One supposes that the titles of this entry is not particularly informative because that is, in fact, the point of release candidates: to iron out as many lingering bugs as possible.  What do you from a guy with hair like mine?</p>
<p>Now that I&#8217;ve established that my blood sugar&#8217;s off we can get down to brass tacks. Release candidates 1 and 2 have been released, and release candidate 3 is in the works. I won&#8217;t repeat everything that&#8217;s in the <a href="http://pypedal.sourceforge.net/doc/CHANGES.txt" title="PyPedal CHANGES.txt">CHANGES.txt</a> file, but I&#8217;ll hit the high points.</p>
<p>The big news is that I broke <strong>pyp_nrm/inbreeding_vanraden()</strong> at some point in the recent past. If I had regression tests I would have noticed this sooner. Maybe. Someone really should get on that. The bug affected only animals with both parents unknown or with unknown sires. The fix was very simple. I also fixed a bug that prevented the super-nifty Full-Sib Speedup  from working. Wait, what, you&#8217;re not familiar with the Full-Sib Speedup? Let me explain.</p>
<p>The <strong>Full-Sib Speedup</strong> is a trick to avoid unnecessary calculations when you&#8217;ve got a pedigree with lots of full-sibs, such as dogs. The trick is that a list of observed sire-dam combinations is stored. The first time that combination is seen the resulting COI is stored in a dictionary. Any subsequent offspring of that combination receive the COI stored in the dictionary. Instead of calculating the COI for each offspring of the combination it is calculated only once.  There are a number of steps avoided with this trick, such as pedigree extraction, reordering, and renumbering. And it now works correctly, which is a bonus.</p>
<p>The minor things include such stuff as lots of small fixes to the <strong>NewAMatrix</strong> class, fixes to inbreeding and relationship metadata, and added pedigree import/export from database and textstreams.</p>
<p>I also added a couple of chapters to <a href="http://pypedal.sourceforge.net/manual/index.html" title="PyPedal Manual -- HTML">the manual</a>, one on <a href="http://pypedal.sourceforge.net/manual/node35.html" title="PyPedal Manual -- HTML -- Input and Output">input/output</a> and one on <a href="http://pypedal.sourceforge.net/manual/node49.html" title="PyPedal Manual -- HTML -- Working with Pedigrees">performing calculations with pedigrees</a>. The <a href="http://pypedal.sourceforge.net/doxygen/index.html" title="PyPedal API documentation">API documentation</a> has been pulled out of the manual and is available on the website. I&#8217;m also now using <a href="http://www.stack.nl/~dimitri/doxygen/" title="Doxygen source code documentation generator tool">Doxygen</a> to generate those documents, which is working quite well.</p>
<p>Perhaps feature deletions are not as interesting as feature additions, but I&#8217;ve removed the GUI from PyPedal. The code that was hanging around was very old &#8212; it predated the current pedigree format system and used static format codes embedded in the pedigree file &#8212; and didn&#8217;t work very well. The fundamental idea behind PyPedal is that you get a set of tools that allow you to program (or metaprogram?) using pedigrees, and the GUI doesn&#8217;t fit in that paradigm. I&#8217;m also not comfortable with GUI programming and don&#8217;t have much interest in pursuing it. If someone wants to work on a GUI for PyPedal I&#8217;ll be happy to provide feedback, but do not intend to pursue it any further on my own.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funjackals.com/blog/2008/03/12/pypedal-release-candidates-feature-fewer-bugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Humility</title>
		<link>http://www.funjackals.com/blog/2006/04/06/humility/</link>
		<comments>http://www.funjackals.com/blog/2006/04/06/humility/#comments</comments>
		<pubDate>Thu, 06 Apr 2006 19:08:46 +0000</pubDate>
		<dc:creator>jcole</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://www.funjackals.com/blog/archives/65</guid>
		<description><![CDATA[I just asked PVR a question that, in retrospect, was reasonably dumb. Fortunately he is too nice to tell me that. Maybe I should have stayed home today. Scientists have discovered a fossil of a missing link between fish and &#8230; <a href="http://www.funjackals.com/blog/2006/04/06/humility/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just asked PVR a question that, in retrospect, was reasonably dumb. Fortunately he is too nice to tell me that. Maybe I should have stayed home today.</p>
<p>Scientists have <a title="Missing link discovered" href="http://www.guardian.co.uk/science/story/0,,1747926,00.html">discovered a fossil of a missing link between fish and land animals</a> which shows that creatures first walked out of the water and on to dry land more than 375 million years ago. Here&#8217;s <a title="Nature editor's summary" href="http://www.nature.com/nature/journal/v440/n7085/edsumm/e060406-01.html">the editor&#8217;s summary in this week&#8217;s issue of Nature</a>, and their weekly podcast will focus on this story. If you&#8217;ve got institutional access, you can also read the papers <a title="Daeschler et al., 2006" href="http://www.nature.com/nature/journal/v440/n7085/abs/nature04639.html">&#8220;A Devonian tetrapod-like fish and the evolution of the tetrapod body plan&#8221;</a> (Dasechler et al., 2006) and <a title="Shubin et al., 2006" href="http://www.nature.com/nature/journal/v440/n7085/abs/nature04637.html">&#8220;The pectoral fin of <em>Tiktaalik roseae</em> and the origin of the tetrapod limb&#8221;</a> (Shubin et al., 2006). This is yet another nail in the coffin of the so-called intelligent design movement. Suck it, creationists.</p>
<p>A <a title="Bob Ross video game" href="http://agfrag.com/">Bob Ross video game</a> is in the works. I kid you not. I don&#8217;t think it&#8217;s an April Fool&#8217;s joke, either.</p>
<p>Seriously, doesn&#8217;t <a title="At-home Lasik" href="http://www.lasikathome.com/">do-it-yourself Lasik</a> sound like a Really Bad Idea to anyone else? I&#8217;m pretty sure this is a joke, but the possibility that it is true fills me with horror.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funjackals.com/blog/2006/04/06/humility/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Things are starting to look up a little</title>
		<link>http://www.funjackals.com/blog/2006/01/17/things-are-starting-to-look-up-a-little/</link>
		<comments>http://www.funjackals.com/blog/2006/01/17/things-are-starting-to-look-up-a-little/#comments</comments>
		<pubDate>Wed, 18 Jan 2006 00:44:31 +0000</pubDate>
		<dc:creator>john.b.cole</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Stillbirth]]></category>

		<guid isPermaLink="false">http://www.funjackals.com/blog/archives/23</guid>
		<description><![CDATA[On the work front, that is. I&#8217;m submitting an abstract for the dairy science meeting in Minneapolis this July, and a 4-page paper for the World Congress in Brasil this August. I&#8217;m also a co-author on an abstract for Minneapolis &#8230; <a href="http://www.funjackals.com/blog/2006/01/17/things-are-starting-to-look-up-a-little/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On the work front, that is.  I&#8217;m submitting an abstract for the dairy science meeting in Minneapolis this July, and a 4-page paper for the World Congress in Brasil this August.  I&#8217;m also a co-author on an abstract for Minneapolis and a paper for Brasil:</p>
<ul>
<li>Stillbirth (co)variance components for a sire-maternal grandsire threshold model (JB Cole, GR Wiggans, and PM VanRaden) (Minneapolis)</li>
<li>Genetic evaluation of stillbirth in United States Holsteins using a sire-maternal grandsire threshold model (JB Cole, GR Wiggans, and PM VanRaden) (Brasil)</li>
<li>Separate genetic effects for first and later parities in a sire-maternal grandsire model for calving ease (GR Wiggans, CP Van Tassell and JB Cole) (Brasil)</li>
<li>Genetic evaluations for mixed breed populations (PM VanRaden, ME Tooker, JB Cole, GR Wiggans, and JH Megonigal, Jr.) (Minneapolis)</li>
</ul>
<p>Do you see a theme among the first three papers? I&#8217;ll be first author of a paper on the (forthcoming) national evaluation for stillbirth this year, and Paul&#8217;s mixed breed evaluation paper will also be going to the Journal of Dairy Science this year.  So before our performance standards are even due I&#8217;ve got my two papers for the year taken care of.  I also hope to have a paper out on some of our health data this year, too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funjackals.com/blog/2006/01/17/things-are-starting-to-look-up-a-little/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

