Tuesday, August 3, 2010

PDAP and OwlWatcher

I put up a new version of the PDAP:PDTREE Mesquite package last night. Nothing big in this one, mostly a couple of messages regarding the resolution of polytomies (it's arbitrary so the details of individual contrasts will differ). The most important change is that PDAP now supports Mesquite's new install system so you should no long need to manually download archives and drag folders of class files around. It also gives you control of where the PDAP examples (misc PDI files and the guided tour wind up). Previously you were told where to put the class files, but I'd imagine the examples would languish in the archive fold until forgotten or deleted.

I have a request pending that might yield another PDAP release in the next week or so.

OwlWatcher is making progress. The player is more or less done - there are two small issues that I know of (specifically related to audio buffering and 'rocking' single frames back and forth), but happily I can go back to more interesting things such as finishing the integration with version 3 of the OWLAPI. When the release finally comes, it will be a two step process, first installing Xuggler, followed by OwlWatcher itself. If there are other java API's for video that you would like to see supported in OwlWatcher, feel free to request in the comments. I don't have much time to devote to OwlWatcher these days, but now that I've gone through the process of building a player up from a decoder library, it should be easier the second time (Quicktime provided a player that was adequate, but I think this solution will be more flexible as OwlWatcher continues to develop).

Wednesday, July 7, 2010

Back from Portland

Several interesting talks from the Evolution and iEvoBio meetings in Portland last week. Probably most relevant here were several comparative methods talks, and several ontology related talks at iEvoBio. Among the latter, I'll mention Nico Franz's talk on taxonomic ontologies, as well as a lightning talk by Suzi Lewis on a phylogenetically based ontology annotation tool (PAINT). The later is focused on protein orthologs, so it isn't directly relevant to Phylontal, but was nonetheless interesting. Franz's talk was a broad-ranging overview of some important issues in taxonomic ontologies, including the proposal of Schulz et al. (2008).

I presented a poster on Phylontal, as well as a lightning talk on the taxonomic ontology I developed and maintain for Phenoscape. The later was a brief summary and update (NCBI xrefs, common names, and updates to the collections vocabulary). The Phylontal poster is mostly a cleaned up version of the second half of my NESCent talk, but should give an idea of what it is about.

Recently I've been working on adding 'matrix' support to the Phylontal library, to eventually add alignment of character states as well as the possibility of 'unpacking' the homologies underlying a matrix (e.g., using data when you disagree with the homology judgments of the author).

Of course, if people archived their raw data or observations, there would be less need for unpacking matrices.

Saturday, March 27, 2010

Coming this summer plus Phenoscape in Chicago last week

I've registered for the Evolution and iEvoBio meetings this summer. I agree with the desire of the iEvoBio organizers to make a place for informatics approaches at the Evolution meetings - I've certainly given both talks and posters where I got the strong sense that I wasn't speaking to the right audience. There are several presentation plans I could have followed. What I have chosen to do is to present Phylontal as a poster at Evolution, explaining the need and approach in detail, something like the brown bag I gave at NESCent in December. Although it may not be the best venue, a poster seems the best format for Phylontal at this time and it helps justify my going to Evolution as well as iEvoBio. At iEvoBio, I'll give a lighting talk on pipelining OwlWatcher and Phylontal. The third player in this chain - a character constructor - I'll leave for later.

I have made an 'in-progress' release of Phylontal at Google code, but there's no rush. It loads up NeXML and OWL files, allows the user to assign ontologies to tips, then allows the user to lexically match terms from two sister taxa. It's as much a proof of concept for the frontend, operating as OWL + per taxon ontologies. There is another potential use case for phylontal - starting with annotated matrices, extract taxon+anatomy term pairs from annotated NeXML matrices with OBO ontology support and a separate NeXML file for the tree. This would approximate the usage in Phenoscape, and the desired output would be Phenoscape's multi-column homology table.

Chris Mungall gave two interesting presentations on reasoning with homologies at a Phenoscape meeting at the Field Museum in Chicago last week. He brought up some interesting cases involving '2 taxon' versus '3 taxon' homology relations, and an important discussion of the interaction of homology statements and is_a hierarchies. People were most impressed with Chris' approach being extensible to serial homologies, the most important point being that serial homologies strictly exist only within an individual. I think that is an important insight and it lead to a simple taxonomy of homology relationships that actually make sense for anatomical reasoning. The corresponding treatment for behavior classes is worth looking into (e.g., distinguishing similar actions by an individual animal vs. homologous behavior patterns).

There was also some discussion of individuals and inferring classes by abduction or generalization over dinner at some point. I'm beginning to think this may be an important new growth area for biological ontologies, and it was good to hear that several people were thinking in this direction.

Finally, after several experiments, I think the OwlWatcher player is settling down towards a usable configuration using only two threads, rather than the initial four. Still need to deal with the packaging issue, and I fear the first post-Quicktime release won't be an easy install.

I didn't submit a proposal for a phyloinformatics summer of code project this year; I'll help out if it's appropriate for someone else's project, but I didn't have any brainstorms this year. None the less, if you're a student reading this, you will probably find one or more projects of interest there.

Friday, January 29, 2010

OwlWatcher update

Since the beginning of the year, I've been poking away at the new video support that uses Xuggler, a java wrapper for FFmpeg. When I get this worked out, OwlWatcher will not only potentially work under Linux, but be open source compliant as well (LGPL).

At the moment, playing at normal speed and stop works, and stepping forward is sort of working, but I haven't taken a crack at seeking arbitrary frames. The biggest issue so far has been getting audio and video streams to play together. Admittedly audio isn't the highest priority, but it would be nice to get it right so OwlWatcher could support multi-modal behaviors, at least in principle.

The rest of OwlWatcher will be similar to the 0.040 release candidate I posted last May. I'll worry about forward compatibility from 0.035 closer to the release, along with coming up with a reasonable installation process, though I'm sure it won't be as simple as the previous release, at least for a few iterations.