CHANGES IN VERSION 1.2.1 ------------------------ BUG FIXES o Mispelled variable in enrich_motifs() CHANGES IN VERSION 1.2.0 ------------------------ NEW FEATURES o New motif_peaks() function: test for significantly overrepresented peaks of motif sites in a set of sequences. o New get_bkg() function: calculate background frequencies of sequence alphabets, including higher order backgrounds. Works for any sequence alphabet. Can also create MEME background format files. o read_meme() has a new option, readites.meta, which allows for reading individual motif site positions and P-values, as well as combined sequence P-values. o shuffle_sequences(..., method = "markov") works for any set of characters instead of just DNA/RNA. o shuffle_sequences(): new shuffling method, 'euler'. This allows for k>1 shuffling that preserves exact letter counts, as opposed to 'markov'. This method is set as the new default shuffling method. o create_sequences() has a new option "freqs" which allows for generating sequence from higher order backgrounds and any sequence alphabet (options "monofreqs", "difreqs" and "trifreqs" are now deprecated). o universalmotif objects can now hold onto higher order backgrounds. o motif_pvalue() with use.freq > 1 can calculate P-values from provided higher-order backgrounds, instead of assuming a uniform background. o add_multifreq() adds corresponding higher order background probabilities to motifs. o New get_klets() utility function: generate all possible k-lets for any set of characters. o New score_match() utility function: score a match for a particular motif. o New get_matches() utility function: get all possible motif matches above a certain score. o New count_klets() utility function: count all k-lets for any string of characters. o New motif_score() utility function: calculate motif score from input thresholds. o New shuffle_string() utility function: shuffle a string of character using one of three methods: euler, linear, and markov. o The native write_motifs()/read_motifs() universalmotif format is now YAML based. Motifs written before v1.2.0 can still be read by read_motifs(). MINOR CHANGES o Increased input security for character type parameters throughout. o Expanded motif_pvalue(), scan_sequences(), motif_tree() examples sections. o New vignette sections for motif_peaks() and get_bkg() added to SequenceSearches.Rmd. o Various vignette tweaks. o Fixed various spelling mistakes throughout, added Language field to Description, and added spell check to tests. o Documentation for the "random" shuffling method has been removed and a warning is shown when used to tell the user that it will be removed in the next minor update. o Generally increased test coverage. o The "k=1", "linear" and "markov" shuffling methods are much faster. o create_sequences() for higher order backgrounds is much faster. o Faster add_multifreqs(): slight improvement for DNA motifs, big improvement for non-DNA motifs. o sample_sites() has been rewritten for use.freq > 1: the probability of each letter in the site is now dependent on the previous letters (also faster and more memory efficient for any use.freq). o Improvement to calculating motif scores from p-value input: no longer guesses different scores, instead estimating a normal distribution of scores. This new approach is much, much faster and more memory efficient. It does however assume a uniform background. o The "score.pct" column in scan_sequences() results now represents the percent score based on the total possible score, not just the score between zero and the max possible score. o summarise_motifs() is much faster. o Objects in data/ are saved using serialization format version 3. o convert_motifs(motif, class = "universalmotif-universalmotif"): performs a validObject() check if "motif" is a universalmotif object. o The show() method for universalmotif objects performs a validObject() check first. o motif_rc() has a new option "ignore.alphabet", used to turn on or off the alphabet check (checks for DNA/RNA motif). o Added "overwrite" and "append" options to write_*() functions. o enrich_motifs(..., return.scan.results = FALSE): uses a slimmed down version of scan_sequences() which skips construction of the complete results data.frame, saving a tiny bit of time on large jobs. o compare_motifs() now includes log P-values. This way comparisons can still be properly ranked even if their P-values are below the machine limit. o convert_motifs() from MotifList (MotifDb) carries over dataSource. o If a MEME motif has two names, the second will be assigned as "altname" by read_meme(). o Utilities documentation has been split into two: ?utils-motif and ?utils-sequence. BUG FIXES o Fixed IC score calculation from character input in create_motif(). o The internal DNA consensus letter calculation previously did not assign ambiguous letters when one PPM position was >0.5 and another was >0.25. This was unintended behaviour and will now output the proper ambigous DNA letter. CHANGES IN VERSION 1.0.22 ------------------------- BUG FIXES o Fixed incorrect RcppExports code introduced in last patch CHANGES IN VERSION 1.0.21 ------------------------- BUG FIXES o Fixed an incorrect citation in motif_pvalue() CHANGES IN VERSION 1.0.20 ------------------------- BUG FIXES o Fixed a bug introduced in previous patches where create_sequences() fails with alphabet = "RNA" and missing difreq/trifreq CHANGES IN VERSION 1.0.19 ------------------------- BUG FIXES o Fixed create_sequences(alphabet = "RNA") when providing difreq/trifreq CHANGES IN VERSION 1.0.18 ------------------------- BUG FIXES o Fixed alphabet letters being stripped from difreq and trifreq params in create_sequences() o Fixed an incorrect call to sample() when using create_sequences() with difreq CHANGES IN VERSION 1.0.17 ------------------------- BUG FIXES o Custom motif alphabets are properly sorted in the alphabet slot of motifs o scan_sequences() properly matches custom sequence and motif alphabets CHANGES IN VERSION 1.0.16 ------------------------- BUG FIXES o scan_sequences() will now properly create a scoring matrix from motifs with pseudocounts of 0 CHANGES IN VERSION 1.0.15 ------------------------- BUG FIXES o view_motifs() will now give an informative error message when trying to plot multiple motifs with non-unique names CHANGES IN VERSION 1.0.14 ------------------------- BUG FIXES o Fixed 'method' parameter documentation for motif_tree() CHANGES IN VERSION 1.0.13 ------------------------- BUG FIXES o Fixed the error message given when a vector of incorrect length is used in a function CHANGES IN VERSION 1.0.12 ------------------------- BUG FIXES o motif_pvalue() no longer throws an error for motif_pvalue(..., pvalue = 0) o motif_tree() now works properly with dist objects as input CHANGES IN VERSION 1.0.11 ------------------------- BUG FIXES o The compare_motifs() example for min.mean.ic in the Advanced Usage vignette now makes more sense CHANGES IN VERSION 1.0.10 ------------------------- BUG FIXES o More strangely behaving MotifDb vignette code addressed in Advanced Usage vignette CHANGES IN VERSION 1.0.9 ------------------------ BUG FIXES o shuffle_motifs() now produces motifs of proper length CHANGES IN VERSION 1.0.8 ------------------------ BUG FIXES o Trying to prevent R CMD BUILD from changing the behaviour of vignette code involving MotifDb package CHANGES IN VERSION 1.0.7 ------------------------ BUG FIXES o merge_motifs() will not show repeat families/organisms in new merged motif o show method will no longer show name slot instead of altname CHANGES IN VERSION 1.0.6 ------------------------ BUG FIXES o If MEME motif file has no strand info, assume `strand = "+"`, not `strand = c("+", "-")` CHANGES IN VERSION 1.0.5 ------------------------ BUG FIXES o `read_meme()` can now read non-DNA/RNA motifs o removed duplicate line in run_meme.R o `scan_sequences()` will not scan mismatching motif/sequence alphabets o verbose output from `scan_sequences()` will now display correctly o Using `enrich_motifs()` and not finding any motif hits in the input sequences no longer throws an error o Fixed threshold calculation in `enrich_motifs()` o `enrich_motifs()` will now show results for motifs which have hits in target sequences but none in bkg sequences CHANGES IN VERSION 1.0.4 ------------------------ BUG FIXES o Can now use `view_motifs(..., tryRC=F)` without throwing an error CHANGES IN VERSION 1.0.3 ------------------------ BUG FIXES o Missed a couple [Biostrings::*StringSet-class] from last patch o Updated README to reflect new installation method o Wrapped instances of \link{} with \code{\link{}} CHANGES IN VERSION 1.0.2 ------------------------ BUG FIXES o `read_meme()` can now read meme result files with missing strand info o Use \link{*StringSet} instead of [Biostrings::*StringSet-class] in documentation o No longer load MotifDb package in examples on Windows CHANGES IN VERSION 1.0.1 ------------------------ BUG FIXES o TFBSTools motifs with multiple species can convert to universalmotif o `scan_sequences()`: will now ignore non-standard letters instead of crashing CHANGES IN VERSION 1.0.0 ------------------------ SIGNIFICANT USER-VISIBLE CHANGES o Changed the appearance of some of the vignette code blocks o More documentation added in data.R BUG FIXES o Replaced for loop with `lapply()` in add_multifreq.R L120-133 o Replaced for loop with `lapply()` in enrich_motifs.R L327-330 o Replaced for loop with `lapply()` in shuffle_motifs.R L77-80 o Using `diag()` instead of for loop in `fix_pcc_diag()` (compare_motifs.R) o Fixed `read_motifs()` not parsing alphabet correctly o Vignettes are now built using pdflatex instead of lualatex CHANGES IN VERSION 0.99.0 ------------------------- o Ready for bioconductor CHANGES IN VERSION 0.98.0 ------------------------- o Pre-bioconductor