############################################# # jPAP - Pedigree Analysis Package For Java # # Copyright 1992-2006, University of Utah. # ############################################# jPAP Modification History ------------------------- ** Version 1.6.0-beta ** jPAP v1.6.0-beta has the following new primary features: 1. batching multiple models, that is, running several models at once and in parallel; 2. batching multiple markers and traits for a given model using the new Set observational variable (OV) type; 3. and variance components linkage, using the new QTL OV type. The new Set OV types are the Marker Set, Outcome Set, and QTL. The QTL OV type is used with the newly added within-genotype module, papwgvcl, for computing variance components linkage. JPAP can read gzip-compressed files containing IBD probabilities in SOLAR and Merlin file formats. The report viewer has been modified to accomodate multiple batched runs. A summary output table contains the results of the free parameter searches and the LOD scores or chi-squared between runs. The output table may be customized in the model file document; a toolbar button displays the output options. Output tables may be exported to comma delimited files. LINKAGE files containing trait data and numbered allele marker data may be imported into the meta data. ------------------------- ** Version 1.5.0 ** jPAP v1.5.0 has two new genetic model modules and several improvements to the graphical user interface. A new discrete major locus parameter module (dmlprlr) as been added for logistic regression. The logistic regression model of disease risk accounts for age at onset in affected pedigree members. Age and Age Interval variable types have been added to accomodate the Logistic Regression model. Age types are derived from Continuous outcome variable types, and Age Interval types are derived from N-valued outcome variable types. Variables defined as Age and Age Interval will behave as Continuous and N-valued, respectively, in other instances where Age and Age Interval are not specifically required. A new frequency module, papfqr2, has been added for computing the the squared correlation, r^2, which equals D^2 divided by the 4 allele frequencies at the 2 loci. A warning message will appear if families or groups of families within a pedigree are not connected to other families by valid members. A warning message will appear if individuals exist in multiple pedigrees. Unique identifiers must be assigned individuals. Importing pedigrees into jPAP with non-unique identifiers will generate this warning. Unique identifiers may be assigned selecting the "Imported LINKAGE IDs Globalization..." menu item under the Tools menu. jPAP requires all data for covariates to exist. If there are individuals with missing data, a warning message will appear stating that these individuals will be excluded from the calculation. The program will then continue. Customized parameter limits are copied to updated genetic model editor files after likelihood maximization. Metadata variable names are forced to be unique. Metadata variable names, pedigree labels, and pedigree member labels may be conviently renamed by selecting the Rename Item popup menu item upon right-clicking the item. For metadata where a First Categorical Axis is definied, the Categorical Status in the model editor will automatically display that axis when that metadata item is added to a model if the inheritance mode for all loci is Autosomal. In Versions 1.4.0 and earlier, if the Categorical Status did not have the First Categorical Axis assigned, Incidence and Prevalence data specific to a given categorical axis would not be read correctly for Autosomal inheritance. No within-genotype (papwg) modules are avaiable if only markers are used. ** Version 1.4.0 ** A number of features have been added to ObsEd - most notably, a facility for computing descriptive statistics on table columns. Since such tools are most usefully applied to the PAI table rather than raw observations, the former may now be built "on demand" for that purpose. See the revised ObsEd section of the manual for more information. The information provided for data errors encountered on the native side has been improved. Whenever information is available that identifies the errant datum, it is now trapped and reported. Natural log and square root transformations have been added to the list available for continuous-valued OVs in MetEd. The ObsEd find/replace tool has been generalized to cover both editing modes. ObsEd's default mode-changing keyboard shortcuts have been replaced, as the previous values didn't work in some editing situations. Where contextual help is available within a property editor, it is now invoked via a context menu. The availability of such help is still limited, but a more transparent framework should hasten the remedy. The native sources provided with the etcix bundle have been updated. There is also a new build option for creating an alternative binary with console interaction, for debugging use. See the makefile for details. ModEd fix: The UI permitted definition of certain models involving non-dichotomous discrete traits that aren't in fact supported by the analysis engine. PedEd fix: The "starting member" auto-added as a template when invoking File|New managed to worm its way into imported *.linkp or *.ltri data as well. ObsEd fix: If a Preferences option was enabled, its effects did not persist between jPAP sessions, notwithstanding the testimony of its checkmark. Project Window fix: When an xpas written by a version of jPAP prior to 1.3 was loaded, the document was not flagged as modified even though fields had been updated. Native engine fix: The simulate/maximize option sometimes aborted due to a segmentation fault. ** Version 1.3.1 ** jPAP v1.3.0 featured many improvements, but, due to a rather late-in-the-day change in the organization of interdocument dependencies, it was prone to a new annoyance, viz., the proliferation of alert dialogs. To fight back, the present version has evolved, in effect, an anti-nag immune system. While all alerts are still enabled by default, the most frequent and/or less critical types are now immediately suppressible from their respective dialogs. (If, however, you later decide a particular type of alert is a help rather than a hindrance, it can be resuscitated via the Project Window's Preferences menu.) For clarity and to lessen the burden of mental correlation, the text of alert dialog buttons now reprises the specific alternatives posed. Fixed: a locale-specific bug that affected some of our international tutorial attendees, causing commands to abort with native error #12 or #33. (We appreciate their help in testing the patch.) Fixed: under some J2SE implementations, jPAP's startup splash box remained above the two demo-installation dialogs, so that the user needed to drag each of the latter into full view to respond. A possible source of occasional exit failure was addressed. There are a couple of new Preferences in ObsEd, including an option to enable per-column row-sorting (as viewed - the underlying data isn't modified) by clicking a column header. This sorting option can be quite handy but, as it may be slow for large data sets or confusing in its departure from WYSIWYG, it is turned off by default. Fixed a problem that could cause the ObsEd mode-change shortcut keys to be interpreted as cell input. The makefile distributed with the etcix edition, and the call thereto, have seen some minor tweaks, addressing a potential Unix-vendor-dependent source of failure in jPAP's auto-make attempt. ** Version 1.3.0 ** By far the most significant change is the addition of two completely new editor windows, with attendant removal of now-unneeded complications. Please see the revised jPAP Manual for details (located among your new install files or at http://hasstedt.genetics.edu/jpap/manual/). LINKAGE format is now supported for import/export of pedigree and observation data. The Project Window file selections no longer default to their respective dropdown list's topmost entry. Instead the default is a new document. Missing values are now supported directly in lobs files (encoded as the '?' char), so the MetEd recoding option will not appear except to expose non-default options imported from an earlier (j)PAP. Some GUI conveniences in the new editors - popup context menus, and keyboard shortcuts - have also been added to the existing editors, along with a few other more minor interface adjustments. A more informative and consistent icon scheme has been introduced for Observational Variable definitions and references thereto. The "live documents" preference is gone. Documents are now always "live", but the user is prompted to save any unsaved documents before a command is run, to encourage keeping the disk state in synch with memory when a settings ratchet is desirable. Of course, such smarter-than-thou behavior is the bane of experienced users, so there is a new preference to toggle it off. Popup error-message boxes now expose all information stored on the exception chain, ordered from most global to most specific. Fixed: the MacLean Power transformation available in MetEd was incorrectly implemented. Fixed a regression (in version 1.2.8?) that prevented loading edits to the default parameter bounds. Fixed a problem in which a particular sequence of operations in MetEd and ModEd could result in an allele frequency defined in a MetDocument being set as "Free" in ModEd. Fixed: dominance and displacement parameters were not gender-specific in certain analyses that required them to be. Some glitches that could occur when adding transformations in MetEd have been remedied. Fixed a bug that could cause import of legacy data directly into MetEd to fail. Editor widgets of the tabular variety no longer support reordering columns by dragging them, except where this gesture has been harnessed to an editing function, as in the new ObsEd window. Fixed a bug that could sometimes cause an inappropriate confirmation dialog box to appear on exiting jPAP. Fixed: the ModEd Penetrance PAM choice was not excluded for traits with assigned prevalence or incidence data; such a selection would result in an error on running an analysis command. Corrected miscellaneous document modification-tracking and interdocument validation issues. ** Version 1.2.9 ** Corrected some problems with transmission probability parameters in ModEd. The errant behavior occurred only when either the TP or ET module was selected, and only for certain combinations of other settings. The behavior included: (1) 'Son' and 'Dau' labels were switched. (2) It was possible to construct multi-locus models that ran afoul of various restrictions imposed by the native engine. (If an analysis command were attempted when such a model was loaded, it failed with a "native error" report.) (3) Though ignored in the analysis, spurious parameters implying father-to-son x-linked transmission (mirabile dictu!) could appear in the table. The toggle boxes that appear in warning dialogs now have persistent state, like those in menus. A bug in the native engine's conditional simulation code was fixed. ** Version 1.2.8 ** The ModEd parameter table column formerly labeled 'Constant' is now labeled 'Free', and it has the opposite functional sense, except that freedom implies independence as well as variability. Hence, the last entry in a group subject to a sum constraint cannot be set as free, or otherwise edited. Rather, it describes a pseudoparameter whose value and variability are implicit in the other group members. (It is present, nonetheless, because the assignment of pseudoparameter status to it rather than to another row in its group is arbitrary. A future version of jPAP less subject to the limitations of the PAP5 analysis code can expose that assignment for editing.) ModEd's Parameters Menu actions have been enhanced: (1) Constraints can now be removed on a per-selection basis. (2) Inequality constraints may be applied to more than two parameters in a batch (i.e., creating a chain of ascending or descending inequalities). (3) Menu items are sensitized (enabled/disabled) based on a more thorough assessment of current state. In connection with the above changes, a number of fixes and improvements have been made to the code implementing constraint application/removal and realtime constraint imposition while editing. Fixed: Availability of the one- and two-dimensional evaluation commands did not correctly track the number of free parameters in the model when equality constraints were set on the latter. Fixed: The report for genotype probabilities confined to a single locus failed to include which locus had been selected. An extensive refactoring of the Java code involved in analysis-command execution was undertaken to better accommodate upcoming feature additions. We're testing for regressions but haven't yet discovered any. As always, we'd appreciate notification of any problems you may encounter. ** Version 1.2.7 ** We now offer an additional flavor of jPAP distribution bundle, dubbed "etcix" because it's intended to support unix(esque) platforms for which we don't supply a specific bundle. Rather than shipping with a compiled native engine binary, it ships with the fixins to build one. See the readme for more info. Fixed two problems (regressions): (1) Some analysis commands were enabled when not applicable to the current model. (When such options were selected, they aborted with a report of "Error #0".) (2) Truncation of a command's progress log could occur (without affecting the final results report). The UI "look and feel" is now explicitly set to Metal (JDK 1.x cross-platform look and feel) to minimize the effects of JRE implementation dependence. Further expanded pedigree-related limits in the legacy Fortran sources. ** Version 1.2.6 ** Fixed: The Progress Log pane in PAReporter was prone to sporadic partial-line elisions. Fixed: For command runs with a great many evaluations, information stored in the system temp area could consume a disrespectful amount of disk space. Fixed: The property editor behaved poorly when it lost focus under certain invalidity conditions. The editor for floating point values has received some tweaks so as to better handle invalid entries. Floating point values are now always stored in the jPAP XML formats with the same precision as shown in corresponding GUI fields. Cleaned up the error-condition handling at the end of Progress Log reporting and revised the information provided. Among the issues addressed: when an analysis command terminated abnormally, the Abort Run action sometimes remained enabled. Mnemonic keystrokes now work properly for dynamic menu options. Some modest improvements were made to directory-selector dialogs. ** Version 1.2.5 ** Corrected misassigned genotype-listings that could cause the failure of analysis commands in certain cases. Also, fixed a labeling bug that sometimes prepended a misleading descriptor to the IDs of transmission-probability parameters. The way the Progress Log pane in PAReporter buffers command output is now more console-like; its buffer-size setting can be configured via the Preferences Menu. The genotype probabilities command output is now passed through transformation filters to render it more manageable. Also, if the command is aborted, results are presented for any IDs processed before the interruption. The order of the parameters being estimated in an analysis now matches their order in the ModEd parameter table. (Previously there was no standard analysis ordering, and it could vary from instance to instance of a given model document.) While different orderings can produce different GEMINI global search trajectories due to error introduced by the order-dependence of floating point operations coupled with the nonlinearity of the estimation process, there is no a priori preferred order. Hence order has been standardized merely for the sake of reproducibility and easier report perusal. It had been possible to select PAMs from different rosters which were incompatible, which resulted in an "internal error" upon running an analysis command. This has been fixed for the few known conflicts. Temporary directories are now only dot-prefixed if placed under the project directory (which is, in turn, only used as a fallback if the user's system-level temporary file area cannot be located). ** Version 1.2.4 ** Fixed some bugs affecting PAReporter: *Some commands with a great many evaluations could hang the application. *Some "internal error" numbers were incorrectly reported. Corrected a defect that unduly limited the search space for estimation of parameters subject to a bounded sum linear constraint, such as allele frequencies. Analyses of this sort are likely to obtain better estimates if rerun with the new version. Made additional adjustments to limits in the legacy source in an attempt to further reduce the potential for commands to fail with an "internal error" message. ** Version 1.2.3 ** Metadata variables (OVs) are now less restricted as to what non-alphanumeric characters they may contain. For instance, slashes used to cause problems, now they shouldn't. The inline editor for OV names in MetEd now behaves more like those in most native GUIs - as opposed to the default Java behavior, which requires an ENTER key-press to confirm the edit. A bug that resulted in the failure of analysis commands for some linkage models involving more than two loci has been fixed. Some arbitrary limits imposed by the analysis engine restricting the number of definable genotypes have been expanded. The practical limits remain unchanged :-) ** Version 1.2.2 ** It was discovered that, under certain usage scenarios, ModEd could display erroneous options or frustrate attempted edits to the model structure. This is bad, so the code responsible has been tracked down and replaced. Some gratuitous processing, which could result in sluggish GUI performance for projects with very large pedigree data sets, has been eliminated. Another LTRI data set has run afoul of an internal limit. (See the notes for version 1.1.1 below for more about this issue.) The offending limit has been increased, along with some others. ** Version 1.2.1 ** Due to a secondary decision criterion present in the previous version, not all users upgrading from pre-demoing versions of jPAP were receiving the offer to install example project files upon first running the new version. Now, if you haven't seen it, it will come. ** Version 1.2.0 ** The demo project files formerly released as a separate bundle are now integrated into the full jPAP installation. In connection with this feature, a new startup option has been added (see the relevant sections above). On some Windows systems the Progress Log pane in PAReporter was not receiving dynamic updates from an in-progress command. This should now work on all systems. If you find that it doesn't, please let us know, as this is an important feature. When an in-progress search command is aborted by the user, any intermediate estimates will now be loaded into ModEd just as though the command had run to completion. (If the changes are unwanted, the new tab can simply be closed.) The application jar file (jpap.jar) is now located in the installation root along with the present file, rather than in a subdirectory. Hence any persistent references to the jar location (as in startup scripts or aliases) will need a slight adjustment. See the "Start jPAP" section above if you have questions. Fixed two GUI bugs: (1) Under some Java runtimes, the Progress Log pane in PAReporter's first tab did not expand properly when a command started running. (2) In the Project Window, the "Open Report Viewer" action was sometimes not disabled when inapplicable. The native script "glue" formerly required to run (behind the scenes) the native binary portion of jPAP has been eliminated. While there are no outstanding issues known to be affected by this change, it narrows the opportunity for additional system dependencies to crop up. When the native process terminates with exit value 0 (note: this is not a jPAP code, it's a system code), the console no longer reports this condition as "exiting normally", since to some this implied that the command ran successfully from the standpoint of the problem domain. ** Version 1.1.1 ** To facilitate research using animals, various program limits on the size and complexity of genealogical units were increased. (Such limits are imposed in the legacy code portion of jPAP and will be eliminated when the remainder of the package is ported to Java.) Fixed a bug causing data errors encountered very early in a command's progress to go unreported. ** Version 1.1.0 ** A contextual help system now provides a reference to available analysis modules (PAMs) on a per-roster basis within ModEd. This information is accessed by selecting the PAM Selections node, then the roster of interest in the corresponding property sheet, then pressing F1. Or, simply right-click the roster name in the property sheet. (Help for other property sheets is being developed and will follow the same access conventions.) The line-record parser now ignores blank lines and lines whose first non-blank character is a hash symbol (#). This is meant to provide a simple comment facility, as well as to remove error status from some harmless formatting irregularities. (This change affects the reading of LTRI, LOBS, and LSEQ files.) Final results reports may now be printed from the PAReporter File menu. The warning dialog presented when closing unsaved documents in a multiple tab scenario is now "sticky", i.e., contains an option to override repetitive questioning. A preference was added for silencing the warning and error dialog boxes. Fixed a bug that could cause some analyses employing the two incidence PAMs to be misconfigured. Fixed an ambiguous file menu keyboard shortcut in the Project Window. ** Version 1.0.9 ** Made some minor changes to the native system call, in hopes of extending compatibility to more versions of Windows. ** Version 1.0.8 ** Fixed a problem mentioned in the last readme, which prevented analysis commands from running on Windows under some jPAP install conditions. Long paths are now truncated properly in jPAP window titles. Fixed a bug that could occasionally result in a decode error when loading a model updated by an analysis command. ** Version 1.0.7 ** Fixed a problem occurring on Windows when jPAP was installed to a path containing spaces. Linux and Solaris editions are not affected by this update. ** Version 1.0.6 ** There was a problem on some systems with the behavior of file dialogs in response to mouse double-clicks. This should now work as expected, except under Java implementations where double-click events are broken altogether. (In such cases the jPAP middle-click alternative will save the day - we hope.)