
"To do" list for R/qtl
----------------------------------------------------------------------
This file is intended to contain a list of many of the additions and
revisions that are planned for the R/qtl package.  

If you any additions or revisions to suggest, please send an email to
Karl Broman, <kbroman@jhsph.edu>.
----------------------------------------------------------------------
 
SHORT TERM:

o Take a break and wait for bug reports.

o Deal with the X chromosome appropriately in read.cross.

o Print out warnings regarding genotype values in summary.cross.

o Deal with the X chromosome appropriately in scanone and scantwo. 

o Create some test data and tests for completely checking that things
  work for the case of one marker on a chromosome


MEDIUM TERM:

o Memory leaks?

o Function to plot, for a specified q1, LOD{q2|q1} vs q2.

o Modify plot.rf and plot.errorlod to allow plot of a color scale, as
  in plot.scantwo.  

o Take the fit of the null model outside of the C code for
  the imputation method in scanone and scantwo, so that it
  only has two be done once (rather than for each chr or chr pair).

o MIM for a set of QTLs at specified locations with specified
  interactions.  Allow return of SEs of effects.  This will use either
  the EM algorithm or imputation.  QTL genotype probablities or
  imputated data sets will be generated on the fly.  Write coef.mim,
  resid.mim, and dev.mim to pull out the est'd coefficients, the
  residuals, and the "deviance" (2 * ln likelihood).

o plot.pxg: dotplot of phenotypes split by genotype at a particular
  marker.  Also do interaction plots for a pair of markers.

o Generalized linear models in scanone and scantwo.

o Functions max.scanone, max.scantwo

o Counts of obligate crossovers in function ripple (for comparing
  marker orders).


LONG TERM:

o Read data in QTL cartographer format.

o Data conversion functions for going to/from Chuck Berry's bqtl
  package. 

o Analysis functions such as scanone and scantwo might assign an
  attribute to their output which identifies the input data and/or
  function call.

o Re-write the C code for EM underneath scanone and scantwo so that it
  is not so tedious.

o Starting values for EM for the two-part model (and more generally).
  Allow the option of an automatic selection of multiple starting
  points. 

o Implement multiple interval mapping (MIM) with genome scans,
  including forward selection and backward elimination.

o Add appropriate functions to analyze RI lines and advanced
  intercrosses. 

o Wrappers for Brian Yandell's bmapqtl software to do QTL mapping by
  MCMC. 

o Individual numbers in plot.geno function; allow it to plot only
  individuals with apparent genotyping errors, with a mix of
  chromosomes. 

----------------------------------------------------------------------
end of TODO.txt
