# 1.4.5 (4 Apr, 2018)

* Mention psichomics manuscript throughout psichomics
* Copy-edit graphical user interface and respective tutorial
* Fix warnings and errors in Bioconductor

# 1.4.4 (12 Feb, 2018)

* Update CITATION file to show citation to article in bioRxiv:
https://www.biorxiv.org/content/early/2018/02/07/261180
* Update vignettes to include a case study based on the aforementioned article
* Gene expression pipeline:
    - Perform limma-trend by default
* Alternative splicing quantification:
    - Quantification of alternative first and last exons: following more 
    thorough testing, the new exon-centred method was considered to be less 
    relevant to exploratory analysis (specially when compared with other types 
    of events); as such, both methods are now available for quantification
* Dimensionality reduction:
    - Change tolerated missing values per event to 5% by default for both PCA
    and ICA (in both visual and command-line interfaces)
    - PCA: In the table that shows the events that most contribute to the 
    selected principal components, show the rank
* Groups:
    - Automatically set sample type groups (i.e. normal, primary solid tumour,
    metastatic, etc.) for TCGA samples (visual interface only)
* Differential analysis:
    - Use numeric fields instead of sliders to precisely filter data
    - Fix table for differential expression not being filtered based on
    highlighted genes
    - Filter splicing events or genes to use when performing exploratory
    differential analyses
* Survival analysis:
    - Allow to stratify patients based on optimal gene expression cutoff
    - Select samples to be used for survival analysis

## Bug fixes

* Fix problems related with DT versions >= 0.3:
    - Groups displayed as having the same attributes as last created group
    - Table not being updated in differential analyses according to event
    filtering based on the volcano plot

# 1.4.3 (12 Jan, 2018)

* Alternative splicing quantification:
    - Improve speed and memory usage when dealing with larger datasets
    - Improve quantification of alternative first and last exons: quantify 
    alternative first and last exons based on all exon-exon junction reads that 
    support each of the alternative exons
    - Print progress bar in R console
* Principal component analysis:
    - Change tolerated missing values per event to 5% by default
    - Show/save table with the contribution of events (for alternative splicing 
    quantification) or genes (for gene expression) to the selected principal
    components
    - Add extra information when hovering variables in loading plot
    - Allow to plot top 100 variables that most contribute to the selected 
    principal components (faster rendering of and interaction with loading 
    plots)
* Differential analysis:
    - Allow to input a list of groups for the "group" argument of the functions
    "diffAnalyses" and "plotDistribution" (command-line interface)
    - Allow to input a non-numeric vector or a row of a matrix/data frame in the
    "data" argument of the function "plotDistribution" (command-line interface)
* Correlation between gene expression and alternative splicing:
    - Perform correlation between gene expression of multiple genes and 
    quantification of multiple alternative splicing events

## Bug fixes

* Fix unnamed events when only one event for a event type is returned
* Minor copy-editing and overall improvements

# 1.4.2 (19 Dec, 2017)

* Fix error when trying to load alternative splicing annotation (given updated
hg19 and hg38 annotation that is now available for use with psichomics)

# 1.4.1 (14 Dec, 2017)

* GTEx data loading:
    - Add input elements to allow GTEx gene expression loading in the graphical
    interface
    - Fix bug that did not allow to select tissues to load GTEx v7 data
    (graphical interface)
    - Fix splicing events not being quantified based on GTEx v7 junction reads
* Gene expression normalisation:
    - Fix misleading gene expression (non-)normalisation by converting reads to 
    counts per million (CPM) using `edgeR::cpm` after normalisation using
    `edgeR::calcNormFactor`
* Alternative splicing quantification:
    - Updated support to properly parse new notation of alternative splicing 
    annotation from Bioconductor (backwards compatible with older notation)
    - Raise error when no splicing events after quantification
    - Fix warning following the quantification of splicing events or its loading
    (incorrect parsing of gene information from splicing events)
* Dimensionality reduction:
    - Use the number (instead of the percentage) of tolerated missing values per
    sample as the argument to impute data from the remaining samples for those
    values before performing dimensionality reduction; by default, missing 
    values are tolerated for 10 samples
* Update file description and README
* Minor bug fixes and improvements

# 1.4.0 (22 Oct, 2017)

* Support for loading new GTEx V7 data
* Support gene expression data:
    - Load, filter, normalise and perform log2-transformation on gene expression
    data from TCGA
    - Perform principal component analysis based on gene expression data, 
    survival analysis by gene expression cutoff and pairwise differential 
    gene expression analysis
    - Correlate gene expression of a given gene against PSI values of multiple
    alternative splicing events
* Data loading:
    - Add step-wise instructions about loading of user-owned files
    - Filter GTEx junction quantification based on tissues of interest (all 
    tissues are loaded by default)
    - Quantify splicing based on a list of genes (splicing events within all 
    genes are quantified by default)
    - Parse sample information from TCGA samples using `parseTcgaSampleInfo`
    - Generate TCGA sample metadata when loading TCGA junction quantification
    - Present data summary after loading the data
* Data grouping:
    - Redesigned group creation and selection
    - Create groups based on genes and alternative splicing events
    - Assign a customisable colour per data group
    - Export or import patient and sample identifiers of data groups
    - Add new set operations when grouping (such as complement, subtraction and
    symmetric difference)
    - Suggest attributes of interest when creating groups
    - Allow to retrieve the universe of patient and sample identifiers by
    performing the complement group without any group selected
    - Statistically analyse group independence (useful to assess the overlap 
    between a PCA cluster and groups derived from clinical and sample 
    attributes, for instance)
* Differential analysis:
    - Label points based on top differentially spliced events or genes, selected 
    alternative splicing events and/or selected genes
    - Create AS event and gene groups based on filtered or selected AS events 
    and genes in the tables
* Dimensionality reduction techniques:
    - Subset data based on groups of AS events and genes before performing 
    dimensionality reduction
    - Create data groups based on the partitioning clustering of PCA scores
    - Perform independent component analysis (ICA) on alternative splicing 
    quantification and gene expression data
* Survival analysis:
    - Add p-value plot to visually infer the significance of survival analyses
    based on multiple alternative splicing quantification cutoffs
* Gene, transcript and protein information:
    - Information retrieval is now only dependent on a user-defined gene,
    instead of requiring alternative splicing quantification data to be loaded
    
## Bug fixes and other improvements

* Show progress bar when running in the command-line interface
* Fix inconsistent browser history navigation
* Updated the CLI vignette with information on analysing gene expression data
and a quick reference for functions
* Update minimum version required of shiny (1.0.3)
* Avoid replacing selected groups when manipulating new ones
* Differential splicing analysis:
    - Fix data not being rendered in the table when zooming in the plot after 
    data transformation was applied
    - Return p-value of NA instead of 0 when the value of Fligner-Killeen's Test
    for Homogeneity of Variance is infinite
    - Discard value transformations that may return invalid data for the values
    chosen for the X and Y axes
    - Fix point that remains highlighted in the plot after deselecting the only
    selected row of the table
    - Improve readability of plot's tooltip
    - Improve survival curves based on the optimal alternative splicing
    quantification cutoff:
        - Include the survival curve previews in 3 new columns within the
        differential splicing analyses table, instead of below that table; those
        columns consist of the survival curves, the optimal PSI cutoff and the 
        respective log-rank test's p-value
        - Allow to use survival data when plotting and table sorting
        - Include the optimal PSI cutoff and the respective log-rank test's 
        p-value in exported tables
        - Fix link to survival analyses using the previously calculated PSI
        cutoff
* Principal component analysis:
    - When clicking on a alternative splicing event in the loadings plot, the
    appropriate differential splicing analyses will now be automatically
    rendered with the respective options, as expected
* Survival analysis:
    - Properly set the title of survival curves based on the selected splicing
    event's quantification
    - Improve readability of Cox PH models
    - When performing survival analyses by alternative splicing cutoff, each
    patient is assigned the PSI value from the respective sample; for patients
    with more than one sample, the assigned sample is chosen based on the most
    frequent sample type across all patients (before, the first matched 
    non-normal or non-control samples were used)
* Multiple other bug fixes and visual improvements

# 1.2.1 (24 Apr, 2017)

* Gene, protein and transcript information:
    - Fix missing file required for transcript plots
* Update command-line interface tutorial to render a transcript plot

# 1.2.0 (22 Apr, 2017)

* Gene, protein and transcript information:
    - Fix tooltip text presentation in transcript plot
    - Fix JavaScript issues when zooming the transcript plot
    - Fix error when plotting events associated with multiple genes
    - Fix error when plotting single-exon transcripts
    - Protein name, length and function are now presented when available
    - Improved general presentation of the information
* Differential splicing analyses:
    - Click and drag in the plot to zoom in and subsequently filter events
    shown in the table
    - Decreased step of sliders
    - Improve interface of previewed survival curves
    - When clicking on a table link to navigate to differential splicing
    analyses of a single event, the appropriate analyses will now be
    automatically rendered with the respective options, as expected
* Settings (renamed to "Help"):
    - Add links to tutorials and user feedback
    - Add app information and acknowledgements
    - Remove unused option for choosing cores (all performed operations are 
    still single-core, given the difficulty of working with multiprocesses in
    Shiny)
* Improve dialogues regarding missing data and other minor interface elements
* Update documentation with volcano plot

# 1.0.9 (10 Apr, 2017)

* Differential splicing analyses:
    - Add volcano plot to represent events through selected attributes, such as
    p-values and descriptive statistics (e.g. median and variance) between 
    groups of interest
    - Transform values of the X and Y axis in the plot using log transformed, 
    inverted and absolute values, for instance
    - Highlight events in the plot based on values of the X and Y axis
    - Table of differential analyses per alternative splicing event is filtered
    according to highlighted and selected events in the plot
* Gene, protein and transcript information:
    - Transcript plot is now interactive and zoomable
    - Protein are now rendered based on selected transcript alone
    - Faster parsing of Uniprot's web API response
    - Improve display of article information when data is missing
* Principal component analysis:
    - Improve presentation of available options
* When clicking on previews of differential splicing and survival analyses, the
appropriate analyses will now be automatically rendered with the respective
options
* Fix buggy browser history when the user is directed to a different tab
* Consistently use Firebrowse and Firehose across the package
* Update documentation

# 1.0.8 (21 Feb, 2017)

* Support GTEx data loading and analysis
* Fix clinical data dependency:
    - Fix error when trying to load a file containing alternative splicing
    quantification without first loading clinical data
    - Fix error where samples from junction quantification were matched to
    clinical information even if clinical data were not loaded
    - Inform user when clinical data is not loaded while trying to plot survival
    curves
* Improve data grouping:
    - Create sample groups like patient groups and perform set operations
    between any created groups
    - Create groups using patient and sample identifiers
    - Check number of patients and samples per group
    - Rename selected groups
    - Alert user when groups cannot be created due to missing data
* Differential splicing analysis:
    - Analyse all samples as one group
* Survival analysis:
    - Select any clinical attribute for starting/follow up and ending times
* Create table containing TCGA sample metadata when calculating or loading
alternative splicing quantification
* Minor UI improvements

# 1.0.7 (22 Jan, 2017)

* Survival analysis:
    - Fix error caused by some non-matched patients not being in the 
    patient-sample matching matrix

# 1.0.6 (17 Jan, 2017)

* Update tutorials with more relevant and complex examples
* Update minimum versions required of highcharter (0.5.0) and shiny (1.0.0):
    - Fix function usage as according to new version of highcharter
    - More options available when exporting plots (PNG, JPEG, SVG, XLS and CSV)
* Faster alternative splicing quantification
* Differential splicing analysis:
    - Fix major bug where samples could be placed in the wrong groups
    - Shorten speed of the calculation for the optimal PSI cutoff that minimises
    the survival difference
    - Fix not performing statistical tests for two selected sample types while
    analysing a single event with three or more sample types
    - Fix differential analysis on one splicing event not working when using
    `diffAnalyses()` function
    - Fix differential analysis not showing for individual events before
    navigating to the page where the analysis is performed for all events
    - Improve readability and information of statistical tests for single events
* Principal component analysis:
    - Shorten time taken to calculate principal components and to render the
    loadings plot
    - Fix loadings plot error when rendering some principal components
* Survival analysis:
    - Fix incorrect number of patients from the survival groups in the 
    contextual information for the selected cutoff (below the slider)
    - Improve how alternative splicing quantification is assigned to patients
    based on their samples
* Protein annotation:
    - Warn user when trying to render proteins with no domains

# 1.0.5 (7 Jan, 2017)

* Navigate history using the browser forward and back buttons
* Fix delay when displaying large data by removing columns containing missing
values exclusively
* Principal component analysis:
    - Improve speed when calculating total contribution of each variable to the
    principal components
* Survival analysis:
    - Shorten calculation of optimal PSI that minimises the survival difference
    - Improve visual cues of optimal PSI cutoff and present p-value of selected
    PSI cutoff
    - Fix ambiguous error messages
    - Fix incorrect Cox model results for formula-based calculations
    - Fix null Cox models crashing the program
* Differential splicing analysis:
    - Select sample types for differential splicing analysis
    - Fix statistical tests not displaying for individual events after
    differentially analysing all events using the other statistical tests

# 1.0.4 (18 Dec, 2016)

* Correctly load files and quantify alternative splicing for PRAD, OV and PAAD
tumour types from The Cancer Genome Atlas (TCGA)
* Fix session disconnecting when exporting plots in Firefox
* Improve text and behaviour of fields to select datasets and AS events
* Fix author names and add contributor

# 1.0.3 (13 Dec, 2016)
    
* Bug fixes regarding gene annotation:
    - Fix disabled gene selection when choosing a splicing event associated with
    a single gene after selecting an event related to multiple genes
    - Fix display of PubMed articles related to previously selected gene when
    selecting a single-gene-associated event after selecting an event related to
    multiple genes
* Bug fixes regarding groups:
    - Fix groups by rows not working
    - Fix group selection not working when only one group exists
    - Improve argument name of getGroupsFrom()
* Other minor improvements

# 1.0.2 (3 Dec, 2016)

* Fix UTF-8 encoding in author list

# 1.0.1 (1 Dec, 2016)

* Improve metadata (title, description, authors and vignette titles)

# 1.0.0 (5 Oct, 2016)
    
* First release of psichomics
* Quantify, analyse and visualise alternative splicing data
