Skip to content

Releases: bartongroup/RATS

RATs v0.6.7

02 Jun 12:52
b0712f1
Compare
Choose a tag to compare

The main aim of this release is to address issue #69.

What's Changed

Full Changelog: v.0.6.6...v.0.6.7

v.0.6.6

17 Dec 09:16
749bf9e
Compare
Choose a tag to compare

The main reason for this release is the fix of a bug preventing the import of Kallisto data when the number of samples in the two conditions is not equal. The bug had been fixed for a long time but got forgotten as attention was redirected outside this project.

Another important change is the introduction of a lean mode as the default. Instead of storing all the iteration results to analyse at the end, selected metrics are calculated and updated on the go. This drastically reduces the memory footprint of RATs and how that scales with the number of bootstrap iterations (from linear to constant), at the cost of more limited information on the iterations. The old mode is still available.

What's Changed

Full Changelog: 0.6.5...v.0.6.6

RATs 0.6.5 - R source package

04 Feb 10:43
Compare
Choose a tag to compare

This release includes the F1000 pre-publication pre-print manuscript, figures, the extended data and the code that sits alongside the manuscript.

RATs 0.6.4 - R source package

18 May 11:23
b0eeabf
Compare
Choose a tag to compare

Bug fixes

This release mainly addresses a few minor bugs of the annoying but non-critical variety.

  • #54 The optional dependencies are now actually optional. This was an issue with how they were declared and used.
  • #55 An update to data.table changed behaviour of some type conversions and was causing fish4rodents() to crash. This is now fixed.
  • #56 A mysterious issue with some hdf5 library binaries prevents kallisto abundance.h5 files from being parsed by fish4rodents() using rhdf5. The problem remains unidentified, but as a workaround fish4rodents() can now alternatively parse the plaintext format of Kallisto output.

Enhancements and Changes

  • The *_p_mean field in the $Genes and $Transcripts tables is replaced with *_p_median instead, to better reflect the exponential/logarithmic way in which pvals are interpreted.
  • The *_p_stdev field in the $Genes and $Transcripts tables is removed as meaningless, for the same reason as above.
  • New fields *_Dprop_mean, *_Dprop_stdev, *_Dprop_max and *_Dprop_min are added to the $Transcripts table.
  • General house-keeping: Fixed various typos, tidied up code, improved code doc, updated vignette...

RATs 0.6.3 - R source package

14 Mar 16:27
8d32c68
Compare
Choose a tag to compare

Bug fixes

  • (#51) Fixed a filtering bug that wrongly flagged as ineligible cases where proportion shifted 100% from one isoform to another (meaning 0 reads in all other isoforms). Although critical in theory, our trials showed negligible impact in practice, as even a single read on another isoform would negate this bug.
  • (#49) Results obtained from inconsistent annotation usage used to be explicitly left with NA values, but this caused plotting functions to fail. RATs will now handle this better. Inconsistencies are caught at the beginning of the run. If execution is forced despite them, RATs will replace NA counts with 0 at the end of the run, to allow plotting of genes with a mixture of consistent and problematic isoforms. Proceeding with annotation inconsistencies remains a scenario strongly advised against.

Enhancements

  • (#48) The noise threshold is now additionally applied to the gene as a whole in each condition, not just to individual transcripts. The idea is to enable preventing gene switch-on/off events from getting picked up as DTU due to the artificially massive proportion shifts caused by low counts in one of the conditions.
  • (#52) Annotation inconsistencies are no longer silently ignored. Transcript IDs are now checked more thoroughly for consistency across samples and between samples and annotation. Now RATs will abort the run if the sets of IDs differ in any way. Execution can be forced using the reckless parameter, if necessary and if justifiable by circumstances, but as the name suggests this is dangerous territory. Mixing annotations remains a very bad idea.

RATs v0.6.2 - R source package

16 Feb 18:40
20018b6
Compare
Choose a tag to compare

Critical bug-fix release

A tiny typo meant that the cross-replicate reproducibility feature ended up testing within a condition instead of across conditions. This resulted in erroneous rejection of perfectly valid DTU cases. #46

This bug has been present since the introduction of the feature and affected all versions of RATs from 0.4.0 to 0.6.1, inclusive. It only affects results obtained with the rboot=TRUE parameter. This is default for 0.6.x, but older releases of RATs have that parameter set to FALSE.

Users of all versions of RATs prior to 0.6.2 are strongly encouraged to upgrade a.s.a.p. and re-run any analyses for which rboot was set to TRUE.

RATs v0.6.1 - R source package

15 Feb 17:01
fe87aca
Compare
Choose a tag to compare

Bug fixes

  • RATs should not longer crash if none of the genes/transcripts meet the eligibility criteria for testing. #35
  • The number of genes in the annotation is now recorded correctly in $Parameters. #38

New features

  • RATs now supports reproducible "random" subsampling, by supplying a seed as argument to call_DTU() #41
  • RATs now supports scaling of abundances independently for each sample. #39
  • New plot type: pairwise Pearson's correlation heatmap among samples.

Enhancements

  • The logical columns in the results tables are no longer allowed to be NA as a result of ineligibility to test. Instead, all NA will be reclassified as FALSE. This makes subsetting of the tables behave in a much more intuitive way. #36
  • Additional internal tests, code cleanup and decoupling of current functionality from deprecated functionality. None of these should affect the end-user.

RATs v0.6.0 (R source package)

20 Sep 15:25
Compare
Choose a tag to compare

Changes in v0.6.0

  • Support for input directly from sleuth objects has been removed. ( #33 ) This is due to changes in sleuth 0.29 that result in the bootstrap data no longer been available. An alternative has already been in place via fish4rodents() which allows input of bootstrap data directly from the Kallisto/Salmon quantifications.
  • The rrep_as_crit parameter has been removed. the same effect can be achieved more transparently by setting rrep_thresh to 0.

Bugfixes

  • An off-by-one error in the reporting functions for isoform switch events has been fixed. ( #34 )
  • Out of date function docs have been fixed.

Changes in v0.5.0

Despite drafting the release of 0.5.0, I realised too late that I never actually packaged up and published it. Several important changes were made in it and they still apply to 0.6.0, so I'm including them here.

New features

  1. The $Transcripts table records absolute fold-change per transcript (log2FC). How meaningful that is will depend on whether your input abundances are normalised across replicates or not. RATs currently does not normalise across replicates (except for data imported via fish4rodents(), see below), because proportions are by definition already normalised for size.
  2. A new overview plot maps the fold-change against the difference in proportion ("fcVSdprop"). Same caveat as above.
  3. Directly import from Salmon/Kallisto output using fish4rodents(). This saves a little time and a lot of memory, compared to importing via Sleuth.
  4. The volcano plot can now also be done for genes, instead of only for transcripts.
  5. In overview plots, DTU-positive points are always layered over the DTU-negative points, ensuring none are hidden.
  6. The histogram of effect sizes can now be made for both transcripts and genes.
  7. A scaling factor for abundances is introduced. This could be useful when running RATs with TPM or similar normalised abundances, as 1 million transcripts is a gross under-estimation of the library size. Scaling the TPM accordingly would improve statistical power of RATS. Misuse of scaling will artificially inflate or deflate the significance of the observed differences!

Other improvements

  1. Styling tweaks to gene and overview plots to reduce clutter and improve encoding consistency.
  2. The summary reports are now presented as data.frames instead of named vectors. This makes them much more legible.
  3. The replicate lines in the gene plot are now slightly offset, to avoid becoming hidden by one another when the measurements are very similar.
  4. The interactive volcano plot now plots genes instead of transcripts. Hovering will provide brief info on the gene(s) under(/near) the pointer, clicking will pull up all the relevant information from the $Genes and $Transcripts tables for that gene and produce the relevant gene plot.
  5. The histogram of gene effect sizes now segregates positive and negative changes rather than showing the absolute values.
  6. General documentation improvements.
  7. Un-complicate parts of the code.
  8. Bootstrapping the replicates previously used a single sample from each condition "as is". This was not relatable to comparing one set of replicates against another and generally was extremely conservative and unhelpful. In this version, this alleviated by scaling the chosen samples by the number of samples per condition.

Bugfixes

  1. Restored table of contents for the vignettes.
  2. In the summaries, NA genes for transcript-level and both-levels tallies are now reported correctly instead of being always 0.
  3. Fixed some hard-coded field names that could cause failure with non-standard input field names.
  4. Better protection against entries in the annotation and abundances being in incompatible orders.

Other changes

  1. Optional dependency added for wasabi. Needed when importing data from Salmon.
  2. Plot improvements require ggplot2 version >= 2.2.0.
  3. The use of multi-threading by-default by data.table, means that RATs now requires version >= 1.9.8 in order to prevent mismanagement of resources.

RATs v0.4.4 (R source package)

19 Apr 16:22
Compare
Choose a tag to compare

Changes

  1. The G test of independence is now used both at the gene level and the transcript level. This means that the gene-level tests perform a single test of independence per gene, instead of two tests of goodness of fit, and the transcript-level tests are no longer based on R's prop.test() and chiqs.test(). Additionally, this clarifies and simplifies the testing procedure. No continuity corrections are applied in either case.
  2. As a consequence of 1., the Genes table now has a single set of fields, instead of duplicate fields suffixed by AB and BA. This should not affect usage, unless you were explicitly accessing these fields.
  3. As a consequence of 1., the FPR should be slightly reduced for both gene-level calls and transcript-level calls.
  4. As a consequence of 1., the number of tests executed for the gene-level calls is halved and should result in a noticeable boost in speed.
  5. rboot is now by default FALSE.
  6. The previously exported g.test() (goodness of fit) is now replaced by g.test.1() (goodness of fit) and g.test.2() (independence). This prevents potential naming clash with more general-purpose g.test functions provided by other third-party packages. Both are heavily stripped down for efficiency and leave all data validity checks to the user. RATs only uses the version for test of independence. The goodness of fit version may get deprecated in future releases.

New features

  1. Added: functions to get tally and IDs of genes/transcripts implicated in isoform-switching. This report will also be displayed at the end of a verbose run.

RATs v0.4.2 - R source package

05 Apr 17:47
Compare
Choose a tag to compare

Features

  • Now exporting the previously internal but potentially useful function denest_sleuth_boots() for extracting and consolidating bootstrapped abundances from a Sleuth object.
  • Also exporting the previously internal group_samples() which restructures the information from the sample_to_covariates table of a Sleuth object.
  • Also exporting the previously internal version of g.test() that performs our G-test.
  • plot_gene() now allows customisation of the information layers and colours used. You can choose what (if any) information is encoded as colour, fill and shape, as well as what colours are used. Please consult the Plots vignette for details on how to use them.

Other changes

  • Revised default values. Following false positive benchmarking, abund_thresh was lowered from 10 to 5 and dprop_thresh was increased from 0.1 to 0.2.
  • dtu_summary() and get_dtu_ids() have been clarified and extended. Additional categories are now reported and the names used for the categories are now shared between the two functions. Please consult the Raw Output vignette for details.
  • plot_gene() styles have been revised. Some were no longer necessary, after the customisation options added. The two remaining styles have been renamed to be clearer and a new third style was added. The old style names "lines" and "merged" are still recognised.
  • The Output and Plots vignette has been split into two separate vignettes, one for the raw output and one for the plots.
  • Four types of plot_overview() have been removed. The types had been left undocumented and should not affect your user experience. "volcano" and "maxdprop" are still valid types.
  • Development will now take place on a separate branch. Even/Odd version number convention for tagging release and developmental version will remain. The current developmental stage can be obtained via devtools::install_github("bartongroup/rats", ref="development")

Bug fixes

  • Switched vignette engine to knitr::knitr. This should prevent some rendering issues.
  • Corrected the missing title from the LICENSE document.
  • Input checks for validity of structure of bootstrapped data are now performed correctly and more thoroughly. Previously they applied only to Sleuth objects, not to generically formatted data.