## v1.2.15:

 * Added full support for custom output file prefixes (per request by c-guzman, see https://github.com/hartleys/QoRTs/issues/27).
 Output file prefixes can now be set using the --outfilePrefix parameter in the QoRTs QC step, and can be loaded into the QoRTs R
 companion package by including a column titled "qc.data.prefix" in the decoder.
 * Migrated QoRTs build/testing pipeline to a different server.
 
## v1.2.0:
HUGE update. Numerous new features have been added and are still undergoing beta testing. These new features may be subject to change in the next stable release.

Among the changes:

 * Added support for whole-exome or whole-genome datasets in addition to RNA-Seq. (Maybe rename the tool?)
 * Added numerous metrics which may be relevant to variant calling.
 * Intermediate file documentation: The raw QC metric files produced by QoRTs are now better documented. You can cause QoRTs QC to generate a documentation file using the parameter "--addFunctions writeDocs"

Added an array of new metrics:
 * "Overlap Mismatch": various metrics relating to the rate at which overlapped paired-end reads are found to mismatch one another. This can be used as a proxy for the sequencing error, since the two paired-end reads sequence the same physical cDNA fragment. Mismatch rates are calculated by base-swap type, by quality score, and by position in the reads.
 * "Reference Mismatch": various metrics relating to the rate at which reads have point-mismatches with the reference genome. Requires that a genome fasta file (via the --genomeFA parameter for the QoRTs QC step). Mismatch rates are calculated by base-swap type, by quality score, and by position in the reads.
 * "On-Target Rate": For Exome data only. Uses a target bed file to calculate rate of on-target reads. Can also be used to filter reads to only on-target reads. Requires a target BED file (set via the --targetRegionBed parameter)
 * "Read Length Rates": Rates of observed read lengths. Useful if data is hard-trimmed prior to alignment.
 * Performance Plot: Plot shows the runtime performance of the QoRTs QC run.
 * Raw FASTQ QC: Added modules to QoRTs QC that allow the specification of a fastq file. QoRTs will run some basic QC on the FASTQ file (NVC, missingness rate, GC rate, read-length distribution, and quality score metrics).

New Plotting Functionality:
 * Added more flexible multiplotting. Can now arbitrarily set the number of rows or columns of multiplots, and QoRTs will automatically fit the requested plots in the requested plots.
 * Can now change which plots to include in multiplots. Plotters will automatically resize and reorganize sub-plots.
 * By default, makemultiplot will automatically remove plots that cannot be created due to missing data.
 * Can now create more flexible plotters with manually-set coloration and highlighting.

Internal changes:
 * Improved performance of several internal utilities (in particular, NVC calculator is now almost twice as fast). Most of the improvement is offset by the addition of new metrics, so with all new modules active runtime is roughly the same as in 1.1.
 * New paired iterator that sorts pairs by the lowest genomic position. This is necessary for the fast and efficient calculation of reference mismatches, but somewhat reduces performance and increases memory usage. Therefore it is only used when reference mismatch rates are calculated.

## v1.1.6:
Minor additions and tweaks:
* Added new optional tag to "flattened" GFF file, containing transcript coding region information. This is intended for use by a future update to JunctionSeq.
* Fixed x-axis label autofitting to not produce oversized x-axis labels when there is only one column to label.
* Legend plot now autofits and autoselects the number of columns. Added cex.legend and ncol parameters to these functions to allow users to override this behavior.
* Fixed bug with maxObsReadLength field.

## v1.1.2:
New features, updates, and bug-fixes.
* Major bugfix: Fixed the geneCounts file so that UTR/CDS counts are no longer switched. Thanks to Roy Francis!
* Added "rasterize.medium.plots" parameter to all makeMultiPlot functions. This option will 
rasterize certain plots when plotting in a vector format. This can reduce file sizes and 
make these images printable. It defaults to TRUE when plotting to a multi-page pdf. Note
that this option will only work when png files are supported and when the "png" package
is installed.
* Added "rasterize.plotting.area", "raster.height", and "raster.width" parameters to several
different makePlot functions.
* Added xlim to the makePlot.insert.size function, because in certain cases the auto-detected
limits are not ideal no matter how I design the auto-detect algorithm. This parameter
sets the x-axis limits.
* Added "insertSize.plot.xlim" to makeMultiPlot functions, which sets the xlim
parameter for the makePlot.insert.size function.

## v1.0.22:
Several updates, additions, and bug-fixes:

* Edited the license file of the R package (as per [this suggestion](https://github.com/hartleys/QoRTs/issues/13)) so that it no longer mentions picard (which isn't in the R package itself).
* [Fixed delimiter typo.](https://github.com/hartleys/QoRTs/issues/14)
* The "mergeNovelSplices" function now automatically calculates size factors if none are provided explicitly.
* Fixed a bug in the (rarely-used) "mergeCounts" function (thanks to Vahid Aslanzadeh).
* QoRTs will now automatically parse gene names (and other GTF attributes) that contain semicolons. To prevent formatting errors in related pipelines, it then replaces all semicolons with underscores. This fixes [an issue](https://github.com/hartleys/QoRTs/issues/12) encountered with  the use of the arabidopsis annotation, which includes semicolons in a few gene ID's. Note that the use of semicolons in gene ID's is not recommended, as many downstream analysis tools will fail.
* Added additional warnings.
* Upgraded the testing environment to scientific linux 6.
* Added additional testing.


## v1.0.20:
* Edited LICENSE file of the R package to omit picard license info (since picard is not contained in the R package itself).
* Minor bug fixes: Fixed individual merge function. Fixed certain whitespace delimiters.

## v1.0.7:

#### Major additions to the QoRTs java utility:
* Added java function makeOrphanJunctionTrack, which makes a splice 
junction track out of the "orphan" track produced by the mergeNovelSplices utility
* Added java function makeAltJunctionTrack, which makes splice junction 
tracks out of the known and novel splice junction files produced by QoRTs QC. 
These plots are similar to the plots produced by makeOrphanJunctionTrack and
makeJunctionTrack but is produced without sharing information between 
multiple samples and thus will produce slightly different sets of splice
junctions.
* Added java function longReadClassifier. This is basically an entirely separate analysis
tool designed to characterize PacBio SMRT long read data.
* Minor bugfix: QoRTs mergeAllCounts now passes on the title line 
on the knownSplices.counts.txt file. It used to just drop the header.

#### Additions/changes to the QoRTs companion R package:
* Changed "require" calls to "requireNamespace" when calling optional 
external packages (Cairo, png, DESeq2, and edgeR). All calls to functions
belonging to these packages are now referenced using the namespace.
* Added usage examples to the manual for all individual plots. The R online
help page now includes example images for each plot, directly produced using the
example code.
* Minor changes to the vignette. Added installation instructions. Cleaned up a few
typos.

