[Bioperl-l] Bio::PopGen modules performance

Kevin Thornton kt234 at cornell.edu
Tue Nov 8 08:05:34 EST 2005

That is possible.  Although, like bioperl, the actual programs that  
people may need/want do not exist yet.  The examples/ subdirectory in  
the libsequence source package contains two example programs, ms--  
and msbeta.  The former is a basic simulation with recombination, and  
the latter a simulation with recombination where the shape of the  
genetic map on the sequence is described by a Beta(a,b) density  
sitting on top of the sequence.  For both programs, the demographic  
model is the standard continuous approximation of a large Wright- 
Fisher population.  One thing that would be quite quick to do is to  
document those a little better at the top of their source files.

On Nov 8, 2005, at 1:43 AM, Albert Vilella wrote:

> I would say that one way to have a Bioperl wrapper would be to have a
> document in libsequence explaining how to call each binaries, with  
> which
> options. For example:
> ms-like-binary --option1 <accepted-values>
>                --option2 <accepted-values>
>                --option3 <accepted-values>
>                [...]
> does-something-cool-binary --option1 <accepted-values>
>                            --option2 <accepted-values>
>                            [...]
> or with config files, along the lines of programs like PAML .ctl  
> files.
> This is definitively a fantastic wrapper to implement,
> Cheers,
>     Albert.
>> This thread brings up something I've been meaning to post to this
>> list for a while now.  Recent versions of libsequence now contain
>> definitions for all the data types and functions necessary to do
>> coalescent simulations with recombination.  The efficiency is quite
>> good, easily on par with "ms", with a few extra nuts and bolts thrown
>> in there that can lead to improved efficiency over ms.  Also, the
>> resulting data structure (i.e. the ancestral recombination graph),
>> can be accessed directly, and/or mutations can be thrown down on
>> them, and objects are returned that are compatible with the summary-
>> statistic calculation factories already in the library.
>> Here's where bioperl may come in.  I have attempted to create a
>> python wrapper for the library (using boost::python), with the
>> ultimate goal of mentioning or submitting it to biopython.
>> Unfortunately, there appears to be some limitations to boost::python
>> that will prevent a full python interface to libsequence from
>> appearing any time soon.  However, the code is all there for someone
>> who's motivated to provide perl wrappers.  It is my understanding
>> that a direct perl interface to a C++ API is not possible, or at
>> least not easy.  If I'm wrong here, I'd be interested in hearing more
>> about it.  However, some basic binaries could be provided which perl
>> could call.  While this would be a pain in that it wouldn't be self-
>> contained perl, it would be quite fast, and potentially quite  
>> flexible.
>> If this sounds interesting to anybody, I'd be willing to discuss this
>> further.
>> --Kevin
>> _________________________
>> Kevin Thornton
>> Molecular Biology and Genetics
>> Cornell University
>> http://www.molpopgen.org

Kevin Thornton
Molecular Biology and Genetics
Cornell University

More information about the Bioperl-l mailing list