3-26-2013: 1.4 * added gBGC functions phastBias, bgc.nucleotide.tests, and classify.muts.bgc * changed all "alt.mod" to "ls.mod" (lineage-specific) * added nuc.text (and options nuc.text.pos, nuc.text.col) options to plot.msa and as.track.msa; this is for plotting additional text along the top or bottom of an alignment. * fixed bug in alt.mod.tm (was ignoriong rate.matrix argument, which has been removed) * modified overlap.feat to return list of two gffs when get.fragments==TRUE (one containing fragments and another containing features that selected the fragments) * modified sort.feat to sort first by seqname, then by position * added flatten.feat which merges adjacent features of the same type * fixed bug in as.track.msa which (refseq arg was ignored) * changed definition of selection in lineage-specific models to be the sum of mod$selection + mod$altmod$selection * fixed bug causing segfault in concat.msa * added max.EM.its argument to phyloFit * added optim.rphast function * updates to feat object; now it belongs to classes "feat" and "data.frame" * update to guess.format.msa; now it opens up files and guesses format based on contents by default. * added freq3x4.msa to calculate codon frequencies of an alignment using 3x4 model * added site.model flag to tree model object which indicates whether a tree model represents a Nielsen-Yang site model * added function setup.branch.site.tm which takes a tree model and returns a tree model representing a branch-site model with a specified foreground branch. The site-model can optionally include extra site categories with bgc on the foreground branch. * changed tagval and tagval.feat to work with either GFF 2 or 3 specification 12-22-2010 : 1.3 * improvements to memory handler, which previously slowed down rphast by 33%. Now there is no significant increase in run-time, at least for the code in rphast/tests. It also no longer causes occasional segfaults when code is interrupted, since protection now occurs during the on.exit function instead of only when the function finishes cleanly. We also protect all external pointer objects, rather than only the ones the user might see, which also cleans up potential segfaults and makes writing new RPHAST functions more foolproof. * fixed bug in phyloFit when optimizing codon models with the selection parameter; now rate matrix is scaled before applying selection parameter. * fixed bug in plot.msa where alignment plot was placed wrongly when ploted with several tracks. * changed phyloP to always return 1-based coordinates * added function mod.backgd.tm which modifies background frequency of tree model while maintaining reversibility * added function translate.msa * added function col.expected.subs.msa * use %g notation (instead of %f) to print branch lengths of trees; this avoids some loss of precision when passing trees to/from R/C. 11-10-2010: 1.2 released * added memory handler so that memory allocated in C is no longer lost due to function interrupt (or failure to explicitly free it) * added support for alternate lineage-specific models within the tree model object * added support for codon models (HKY_CODON, REV_CODON, SSREV_CODON), also codon.clean.msa function * to support lineage-specific models, added support for labels in phylogenetic trees which are denoted by the pound sign ie, "((human #primate, chimp #primate)#primate, mouse)" * many changes to phyloFit; allow lineage-specific models, arbitrary parameter boundaries, hold specified boundaries constant. Some of the default options are now different from command-line phyloFit. * added plot.msa and as.track.msa functions which plot alignment; only currently works if alignment fits in the plotting window. Also added coord.range.msa function to support this. * added plot.rate.matrix (and plot.tm and plot.altmodel.tm) * added set.rate.matrix.tm and get.rate.matrix.params.tm which set a rate matrix based on substitution model parameters, or get the substitution model parameters describing a rate matrix, respectively. * added summary.tree function which returns a data frame with various information about each branch * fixed bug in split.by.feature.msa in which offset of resulting msas was one higher than it should have been * changed several function names to increase consistency in naming conventions: addUTRs.feat -> add.UTRs.feat addIntrons.feat -> add.introns.feat addSignals.feat -> add.signals.feat fixStartStop.feat -> fix.start.stop.feat validFormatStr.msa -> is.format.msa isSubstMod.tm -> is.subst.mod.tm branchlen.tree -> branchlength.tree wig.track -> as.track.wig feat.track -> as.track.feat gene.track -> as.track.feat(is.gene=TRUE) * added pairwise.diff.msa function which returns pairwise differences per site between pairs of sequences in an alignment * fixed some minor bugs in documentation (multiple notes in functions, help("[.msa") not working previously) * Switched order of arguments in write.feat to (feature, file) for consistency with all other write functions. * added functions postprob.msa, expected.subs.msa, and total.expected.subs.msa * allow ref.idx argument in phyloP to refer to features object * removed region.bounds argument from coverage.feat; now requires at least one features object have not=FALSE 2010-09-17: 1.1 released * updated DESCRIPTION * updates to Makevars and configure.ac to resolve error compiling on Solaris * fixed bug causing segmentation fault in gff.c 2010-09-15: 1.0 released