1.3.10: IsoformSwitchAnalyzeR 2018-10-18 ( minor )
    - A problem was fixed with the isoformSwitchTestDEXSeq() which could
        cause continuous co-variables to interpreted as discrete co-variables.
    - importRdata() was updated to be a bit more versetile with regards to accepting isoform_ids as row.names.
    - Both isoformSwitchTestDRIMSeq() and isoformSwitchTestDRIMSeq() was updated so the the resulting
        "isoformSwitchAnalysis" entry in the switchAnalyzeRlist also contains results with p-values set to NA. (NA filter removed).
        Furthemore the interpretation of design matrixes with regards to continous or discrete variables was improved.
    - The vignette was updated all around including the FAQ sections:
        - "What Quantification Tool(s) Should I Use?"
        - "What constitue an independent biological replicate?"
    - An error message was corrected to give the rigth error
    - various small updates

1.3.9: IsoformSwitchAnalyzeR 2018-09-24 ( minor )
    - Update to namespace to fix 1.3.8 update of importCufflinksFiles
    - Update to vignette to fix header

1.3.8: IsoformSwitchAnalyzeR 2018-09-15 ( minor )
    - Update to importCufflinksFiles to make it faster and more robust.

1.3.7: IsoformSwitchAnalyzeR 2018-09-15 ( minor )
    - isoformSwitchTestDEXSeq() was updated to use testForDEU instead of nbinomLRT as now reccomended by the authors.

1.3.5: IsoformSwitchAnalyzeR 2018-09-12 ( major )
    - One-line summary: Improved robustness, usability and speed
    - Main changes:
        - isoformSwitchTestDEXSeq() is introduced as the new default test as
            it is a more robust and much more reliable test for differential isoform usage.
        - The original isoformSwitchTest() is decommissioned due to it being
            inferior to both isoformSwitchTestDEXSeq() and isoformSwitchTestDRIMSeq() in most aspects.
        - importIsoformExpression() now also support import of StringTie quantifications.
        - updates that allows for better handling of Ensemble data.
        - updates throughout the R package making IsoformSwitchAnalyzeR (much) faster and more reliable.
    - Specifically the changes in inlcuded functions are:
        - isoformSwitchTestDEXSeq() is introduced as the default switch isoform switch test function
            - I handles the False Discovery Rate much better
            - It allows for batch corrected effect size estimation
            - It is a good deal faster (for smaller sample sizes)
        - isoformSwitchTestDRIMSeq() was updated to handle continous co-variates.
        - isoformSwitchTest() has been removed from the package since it is obsolte.
        - The importRdata() now:
            - Allows for import via either replicate abundance or replciate count data (or both - which is highly reccomended).
            - These changes were reflected in createSwitchAnalyzeRlist()
            - Test for full rank of experimental design
        - The importCufflinksCummeRbund() and importCufflinksFiles() now also extract and replicate isoform abundance estimates.
        - The functions importRdata(), importCufflinksCummeRbund() and importCufflinksFiles()
            - Calculates isoform fractions based on the replicate isoform fraction matrix
                (instead based on average isoform and gene expression) providing more accurate estimataes.
            - Was uptimized so they are more streamlined and faster.
        - importGTF (also used by importRdata() ) was updated to handle
            the problems with version numbering in amongst other Ensembl data.
        - To support the batch correction feature in isoformSwitchTestDEXSeq()
            the subsetSwitchAnalyzeRlist() function was modified so when
            subsetting in the the exon entry of the switchAnalyzeRList,
            as well as any replicate matrix entry (counts, abundances or isoform fractions),
            all isoforms from genes where at least one isoform passed the filters are kept.
        - The isoformToIsoformFraction() - a general purpose function for
            calculateing Isoform Fraction (IFs) from isoform expression - are introduced
        - The isoformToGeneExp() function was updated to be true general purpose (less stringent
            about data formating) and thanks to a tidyverse solution to the central
            problem is now between 2x-10x faster than previously (and becomses faster as the large the datasets are)
        - createSwitchAnalyzeRlist() was updated to
            - handle replicate data
            - fix condition name problems
            - test for full rank of design
        - importIsoformExpression() was updated to:
            - Support StringTie data.
            - Perform the inter-library normalization after a
                lenient expression cutoff have beeen applied
                (to remove most very lowly expressed isoforms).
            - Now uses the "scaledTPM" instead of "lengthScaledTPM" tximport
                option when imporitng with countsFromAbundance=TRUE
            The ignoreAfterBar argument from tximport() is now also supported.
        - We introduce the removeAnnoationData() function which eables
                removal of biological sequence and/or the replicate quantification
                data from a switchAnalyzeRlist threby significantly removing the size.
        - The default on the IFcutoff in switchPlot() and switchPlotTopSwitches() was
            updated to 0.05 which should result in cleaner plots (meaningisoforms only
            contributing minimally to the parent gene expression are now omitted from plot).
    - Specifically the package maintenance changes are:
        - All around speed improvements mainly due to updates regarding two bottelnecks:
            - stringr::str_c replaces paste0 since it is up to 10x faster on data.frames
            - dplyr::inner_join() or dplyr::left_join() have replaced most
                base::merge() opperations since since they are up to 10x faster.
        - All documentation and examples are now based on Salmon data. Cufflinks is shown as a special case.
            - For this switch new example data was included in the package.
        - Directy suppor of Cufflinks/Cuffdiff files via the cummeRbund R package
            (via the importCufflinksCummeRbund function) have been removed. Use importCufflinksFiles() instead.
        - analyzeSignalP, analyzePFAM, analyzeCPAT now better handles empty files.
        - All documentation regarding PFAM was updated to use EBI's homepage (and their restrictions).
        - Updated package title to reflect the introduction of the alternative splicing module
        - A requirement for tximport >= 1.8.0 was introduced (due to problems with importing from RSEM in previous versions)
        - Highligting that import of GTF files can be done from both unziped and gziped gtf files.
        - Updated NEWS file to follow bioconductor style guideline
        - Genral update to support condition (and covariate) names compatible with model building in R.
        - All general support functions (potentially) used more than once place were moved to tool.R and names were streamlined.
        - Various updates in vignette to reflect all changes desribed above as well as update of installation instructions.
        - Various updates to input testing to catch commonly occuring problems.
        - Correction of loads of spelling mistakes kindely pointed out by @afonsoguerra - thanks!

1.1.10: IsoformSwitchAnalyzeR 2018-04-24 ( minor )
    - Corrected a mistake in extractSplicingEnrichment() and extractConsequenceEnrichment() which
      caused p-values to be corrected for multiple testing with Holms methods instead of BH/FDR (which it is now).

1.1.09: IsoformSwitchAnalyzeR 2018-04-23 ( minor )
    - Small update to importRdata which in rare circumstances could cause an error (J1 not found)

1.1.08: IsoformSwitchAnalyzeR 2018-04-17 ( minor )
    - The preFilter function was updated to only allow filtering on mean expression/usage (gene expression, isoform expression and isoform usage)
         accross all samples since filtering on individal conditions can lead to loss of false discovery rate.
         For more information refere to https://www.nature.com/articles/nmeth.3885 and the IWH Bioconductor package.
         Therefore
         - All import* functions was updated to include calculation of these means.
         - All example data was updated to include these meanse.
         - Relevant documentation was updated to include description of these means
         - Vignette was updated to reflect these changes
    - The importRdata() was updated to better handle differences in which isoforms have been quantified and which isoforms are in the GTF and quantifications.
    - Information on how to install from the developmental branch of Bioconductor was added to vignette.
    - Small updates to make error messages more informative
    - Update of unclear import error message
    - Updated FAQ in vignette

1.1.07: IsoformSwitchAnalyzeR 2018-04-04 ( minor )
    - A bug was fixed in analyzeIntronRetention() so it now works.
    - All import functions (importRdata and importGTF) now per default import CDS as ORF if a GTF file is suppled.
    - Small corrections in vignette.
    - Improved NEWS layout

1.1.06: IsoformSwitchAnalyzeR 2018-03-28 ( major )
    - We are very pleased to introduce a splicing modul for the analysis of isoform switches which
      allows for thorough analysis of alternative splicing, alternative transcription start sites
      and alternative transcription termination sites. Although the core of this modul is a liftover
      of the main functions form the now decapitated R pacakge spliceR we have made several new post
      analysis directly available. The introduction does however cause a few changes:
        - The main function for analyzing alternative splicing (including intron retention)
          is now the analyzeAlternativeSplicing() function (although analyzeIntronRetention() is keept for backward compatability).
            - The resulting analysis is stored in the 'AlternativeSplicingAnalysis'
              entry of the switchAnalyzeRlist (instead of under 'IntronRetentionAnalysis')

    - IsoformSwitchAnalyzeR have been extensively updated with build in functions
      for global analysis of consequences and splicing. Here we introduce the following function:
        - extractSwitchOverlap()                    : Visualizes the overlap in switching features in different comparisons
        - extractConsequenceEnrichment()            : Analyze for enrichment of either of opposite consequences
                                                      (e.g. more protein domain loss than gain?)
        - extractConsequenceEnrichmentComparison()  : Comparare enrichment of either of opposite consequences
                                                      (e.g. more protein domain loss than gain?) between comparisons

        - extractSplicingSummary()                  : Global summary of alternative splicing events
        - extractSplicingEnrichment()               : Analyze for enrichment of either of opposite consequences
                                                      (e.g. more exon skipping than exon inclusion?)
        - extractSplicingEnrichmentComparison()     : Comparare enrichment of either of opposite consequences
                                                      (e.g. more exon skipping than exon inclusion?) between comparisons
        - extractGenomeWideSplicingAnalysis()       : Global analysis of changes in isoform fraction of
                                                      isoforms with a specific splice patterns (e.g. exon skipping)
    - The example data 'exampleSwitchListAnalyzed' included in IsoformSwitchAnalyzeR was
      exchanged to a dataet which better illustrate the usefullness of the analysis that can be done.
    - The vignette were updated to reflect these changes with a whole section of analysis of alternative splicing.
    - The vignette also got a thorough workover.
    - The getCDS spliceR function and CDSset class was lifted over and updated to the current UCSC genome browser layout.
    - isoformSwitchTest() was updated so it only callibrates p-values if all comparisons meet the requirements.
    - The switchPlotTranscript() was updated to handle condition names is a perfect substring of another condition name.
    - Small improvements in documentations

1.1.05: IsoformSwitchAnalyzeR 2018-03-06 (minor)
    - The importIsoformExpression() function was improved to handle file names with costom pre-fixes
      and now adds the 'isoform_id' column itself making the matrixes directly compatible with importRdata().
    - Various small imporvements in documentation.

1.1.04: IsoformSwitchAnalyzeR 2018-03-01 (major)
    - Fixed a problem which could cause signal peptides not to be plotted - we highly remend
      redoing switchPlots (only the visualizations were affected - not the underlying analysis).
      Thanks to Maxim Ivanov for discovring the problem.
    - Added indication of update importance (minor/major) retrospectively to the NEWS.

1.1.03: IsoformSwitchAnalyzeR 2018-02-27 (minor)
    - Small updates to the switchPlot* functions making them more robust to edge cases
    - Fixed a problem in the assignment of NAs to isoforms without ORFs. The example datasets were updated accordingly.
    - Various small imporvements for robustness.

1.1.02: IsoformSwitchAnalyzeR 2018-02-21  (minor)
    - Update to accommodate analysis of no-replicate pilot experiments (see guide in vignette)
    - Various small bug-fixes

1.1.01: IsoformSwitchAnalyzeR 2017-12-19 (minor)
    - (The large version-bump is due to the release of the next itteration of Bioconductor)
    - Corrections for a lot of spelling mistakes in the package - huge shoutout to @khoegenauer for the suggestions
    - A few small updates to import functions making the progress even smoother

0.99.15: IsoformSwitchAnalyzeR 2017-10-25 (minor)
    - Fixed a small mistake in the documentation causing build warnings

0.99.14: IsoformSwitchAnalyzeR 2017-10-22 (minor)
    - isoformSwitchTestDRIMSeq() was updated to per default use dmFilter()
    - Small updates to documentation better explaining the functionalities from udate 0.99.12

0.99.13: IsoformSwitchAnalyzeR 2017-10-19 (minor)
    - Version bump for Bioconductor to keep up

0.99.12: IsoformSwitchAnalyzeR 2017-10-12 (major)
    - importIsoformExpression() have been completely redesigned to utilize the tximport package as well as implementing the option for inter-library normalization of abundance (TxPM) values.
    - The vignette got a thorough workover - huge shoutout to Maria Dalby for the help!
    - isoformSwitchTestDRIMSeq() was extended to also include the dmFilter() functionality as part of the workflow.
    - The internal process calculating gene expression from isoform expression was cast as its own function: isoformToGeneExp().
    - Fixed an error that could cause problems when importing CDSs from a GTF file
    - Updated descriptions and other minor style issues.

0.99.11: IsoformSwitchAnalyzeR 2017-06-01 (major)
    - Fixes some issue raised in the Bioconductor review
        To adhere to Bioconductor conventions the subset() method was removed and replaced by the subsetSwitchAnalyzeRlist() function.
    - The importIsoformExpression() function was updated to support import of Transcript Per Million (TxPM) as the relative abundance measure (Instead of TPM and RPKM/FPKM, which are discontinued) when importing data from Kallisto, Salmon and RSEM.
    - The isoformSwitchTestDRIMSeq() function was updated to make one linear model (one dmFit) instead of one model per pairwise comparison.
    - Small update to the switchPlot() functions to make it robust to NA annotation in non-essential data.
    - Added citation information since the article describing the R package was published: Vitting-Seerup et al. The Landscape of Isoform Switches in Human Cancers. Mol. Cancer Res. (2017).

0.99.10: IsoformSwitchAnalyzeR 2017-05-24 (minor)
    - Fixes some issue raised in the Bioconductor review
    - Fixes a but introdued during the recent update in how pfam results were integrated.
    - Updates of the vignette for inproved readability.

0.99.9: IsoformSwitchAnalyzeR 2017-05-19 (major)
    MAJOR update which:
        1) Introduces the iso_ref and gene_ref handles to all entires
           in the switchAnalyzeRlist which allows for easy integration of data across the different enteries.
        2) Now offers full integration with the DRIMSeq tool which utilizises advanced linear models
           to identify significant changes in isoform usage at isoform level enabling robust analysis of
           more complex designs including batch effects. The integraiton is availabe
           via the isoformSwitchTestDRIMSeq() function.
        3) Updates IsoformSwitchAnalyzeR to handle EBI's new server for running Pfam.
        4) To enable the integration with DRIMSeq switchAnalyzeRlist object have been
           extended with: a) Isoform replciate count matrix. b) A design matrix.
        5) The preFilter function have been updated with new functionalities and
           default cutoffs that are more suitable for use with DRIMSeq. See function documentation for details.
        6) Implements suggested updates from Bioconductor reviewer
    This update is so large backward compatability is unfortunatly not feasiblie so all existing switchAnalyzeRlists will have to be remade.

    The extention of the switchAnalyzeRlist have also made a few changes in how to import data nessesary. Specifically:
        - The importRdata() function now take a replicate count matrix as it's main input and the replicate FPKM matrix is optional.
        - The importBallgownData() function and it's accompanying "exampleRdata.RData" have been decapitated since it does not contain count information.
        - The importIsoformExpression() function have been introduced to help with importing data
          from Kallisto, Salmon and RSEM. This function generates a isoform count matrix from the
          parent directory of the Kallisto/Salmon/RSEM analysis - which can easily be used with
          the importRdata() function to generate a switchAnalyzeRlist.
    Lastly the vignette have naturally been updated and improved accordingly.

0.99.1-8: IsoformSwitchAnalyzeR 2017-04-XX (multiple minor)
    Small incremental updates to ensure IsoformSwitchAnalyzeR lives up to all Bioconductor standards mostly consering how namespaces are organised and imported.

0.99.0: IsoformSwitchAnalyzeR 2017-04-18 (minor)
    The following functionalities were added:
    	- Enable filtering for significant switches in the preFilter() function.
    	- The extractGenomeWideAnalysis() function was extended with the "annotationToAnalyze" parameter enabling specification of which annotation types to analyze.
    	- The analyzeSwitchConsequences() function was extended to enable analysis of truncated protein (by supplying 'domain_length' to the 'consequencesToAnalyze' argument).
    	- The analyzeSwitchConsequences() function was extended so the 'ntCutoff' also applies to TSS and TTS analysis.
    The following bugs were corrected:
        - A bug where importCufflinksCummeRbund() imported all genomic features of isoforms, including CDS etc, resulting in duplicated regions which caused problems for the intron retention analysis. This is only a problem for Cufflinks/Cuffdiff analysis where the refrence transcriptome contaied non-exon annotation (as defined in the type columns (column 3)) of the gtf file.
        - A bug in the analyzePFAM() function that sometimes prevented IsoformSwitchAnalyzeR in correctly format the result file whereby the function could not run.
        - The multi-threading option was removed since it was not supported by windows computers. We plan to bring it back in a later update.
        - The option of manually supplying the start and stop codon sequences that the annotateORF() function should scan for in transcripts.
    Furthermorethe vignette was extended for enhanced usability.

0.98.0: IsoformSwitchAnalyzeR 2016-09-01 (Major)
    We are proud to introduce IsoformSwitchAnalyzeR - fresh out of in-house beta version.
