Download Latest Version coalescent-1.4.0.zip (21.6 MB)
Email in envelope

Get an email when there's a new version of coalescent

Home / 1.1
Name Modified Size InfoDownloads / Week
Parent folder
1.1.0 2011-01-28
readme.txt 2011-01-28 2.5 kB
Totals: 2 Items   2.5 kB 0
1.1.0- Handling external data ID: 1101 Started: 10/8/10 Closed: 10/26/10 Status: CLOSED

We define a service provider framework to handle external data. External data i.e. data stored in a persistent store arises where data input cannot be specified by a short string. This is true for certain models e.g., K69 where the minimal input data consists of multiple segregating sites on a number of individuals. This also becomes important when real data is analyzed for such models as the data needs to be fed to the program from an external source. For simulation studies, though data can be generated in-memory and analyzed but in some cases (when you want to share the generated data etc. ) it might still be desired to persist the data.

All data will be in textual format. Data could differ in their storage, intended model ( a persistent data can only be read into its core intended model and data from a sub-model can be transferred to a parent model in-memory), particular textual format (a custom format or a well-known format to be supported). We borrow the JDBC framework`s design to provide the service provider framework. So, we have a Driver Manager which discovers drivers via java SPI mechanism. Driver interface includes 2 methods, one that tells if it can parse a data URL and another that actually attempts to parse it. Driver manager iterates over the registered drivers to use the first one that can parse the data URL.

The URL has the following format:
<tag>:(<tag>:)*//<data-url>

Concepts of tags are used to identify the correct drivers. A driver judges a URL to be suitable for parsing if all the tags found in the URL are supported by it. There must be at least one tag in the URL. The string '//' acts as a delimiter to separate the tags from the data-url. The data-url is used by the driver that thinks that it can parse the file when attempting to parse the file.

A tag can be used to define a model and or a storage and or a specific format. The model tag must be used.

The following is the proposed change in the projects.

coalescent project will house the Driver, DriverManager classes in the package popgen.data. Another project named 'coalescent_data' will be created. It will contain a directory 'files' that will host all the actual data files used by the project coalescent_app. 'coalescent_data' will be a netbeans project which will develop various drivers.

1.1.0- Exact Recursion for K69 ID: 1102 Started: 10/8/10 Closed: 10/26/10 Status: CLOSED
Source: readme.txt, updated 2011-01-28