- Fixed bug in
updateCutoffs
related to the use ofcustom_cutoffs
- Fixed
runNormalization
to properly work whentheta_mod
is used
- Added
results_to_matrix
function
- Corrected
tails = 'both'
to symmetric two-sided FDR test
- Restructured
graflex
to speed up
- Speed up
graflex
related functions
- Allowed
updateCutoffs
function to compute the FDR values for negative cutoffs - Added
getCutoffFDR
to get a significant cutoff based on the permuted FDR - Changed
runCutoff
intogetCutoffFstat
- Added
getSignificantResultsFDR
andgetSignificantResultsFstat
to get the significant pairs as results table - Added
getAdjacencyFDR
andgetAdjacencyFstat
functions to get the adjacency matrix with the significant pairs - Optimized
graflex
related functions to Rcpp C++ - Removed fixseed, since setting
set.seed()
before calling any function is enough to ensure reproducibility - Fix bug: when
ivar=NA
, the already preprocessed data given by the user are replaced when there are zeros, which should not - Replaced
ppcor::pcor
bycorpcor::cor2pcor
for coherence with the shrunk partial correlations - Parallelized
propd
when ncores > 1
- Added fixseed option for runGraflex
- Fix bug: NAs produced by integer overflow in getOR
- Added fixseed option for updatePermutes
- Merge parts of
graflex
package intopropr
- Fix bug: change NA in alr partial correlation to 0 so that FDR can be computed
- Fix bug: implemented updatePermutes inside propr() and propd()
- Added
corpcor
andppcor
in imports - Update README and CITATION
- Merge pull request for new shrinkage method
- Remove any function that exists only to produce plots
- Rename functions:
- Rename
pra
toselectRatios
- Rename
getReference
toselectReference
- Rename
qtheta
torunCutoff
- Rename
getNormTheta
torunNormalization
- Rename
posthoc
torunPostHoc
- Rename back-end functions
- Rename
- Fix bug: partial correlation FDR cutoff checks wrong direction
- Fix bug:
lr2cor
saves t-statistic, not r-statistic
- Accept speed-up pull requests from Ryan Moore
- Add support for partial correlations
ppcor
package called bypropr(x, metric = "pcor")
corpcor
package called bypropr(x, metric = "pcor.shrink")
- Add
updateCutoffs
warning for asymmetric phi FDR call
- Allow user to skip log-ratio transformation with
ivar = NA
- Fix new R version
class
bug where matrix is also an array
- New
posthoc
method- Performs post-hoc testing for an ANOVA of >2 groups
- Update CITATION and README
- Update
propd
methodcalculateTheta
extended to support ANOVA with >2 groupspropd
updated to allow >2 groups
- Modified visualization tools
- Add checks for methods that require 2 groups
parallel
should support 3 groups
- Update
pra
method- Fix bug introduced by
tryCatch
- Fix bug introduced by
- Revise vignettes for thesis publication
- Update
pra
method- Add
tryCatch
to handle the Lapack routine 'dgesdd' error - This error occurs when the SVD fails to converge
- Add
- Update
get
methods- Pass
cutoff
and other arguments togetColours
- Have
getColours
show which feature is DE
- Pass
- New
updateCutoffs.propr
parallel update- Add parallel check and alternate computation for ncores > 1
- Pass ncores argument from
updateCutoffs
wrapper
- New
get
methods- New
getNormTheta
calculates a per-feature theta against normalization factors - New
getColour
colours pairs based on differential expression results
- New
- Update
propr
methods- Fix error where
select
is used in presence of zeros
- Fix error where
- Update
propd
methods- All methods now use
N + propd@dfz
degrees-of-freedom - Omega no longer used for F-statistic by
updateF
- Omega no longer used for cutoff by
qtheta
- All methods now use
- Update
qtheta
methods- New
fdr
argument inqtheta
method returns cutoff for FDR-adjusted p-value - Remove
moderated
argument fromqtheta
method
- New
- Update
get
methods- New
getAdj
offers a faster alternative togetAdjacency
- Have
getAdjacency
andgetMatrix
set diagonal to 0
- New
- Update
propd
methods- Return to using N-K degrees-of-freedom for
pf
andqf
calls - Have
qtheta
still use Omega (biased) to calculate theta from F-stat
- Return to using N-K degrees-of-freedom for
- Update
propd
methods- Now compute F-stat and F-mod using Omega (biased) for weighted thetas
- Now compute p-value from F-stat and F-mod using Omega (biased) degrees-of-freedom
- Update
qtheta
to use Omega (biased) degrees-of-freedom - Remove superfluous
calculateTheta
input checks - Stop export of
calculateTheta
function
- Update C++ backend
- Add
Omega
function to compute population-level pre-factor - Remove superfluous first argument to
omega
function
- Add
- New tests
- Add
getMatrix
test
- Add
- New
get
methods- Add
getMatrix
to return propr or propd object as matrix
- Add
- Update
propd
methods- Have
updateF
return NA theta_mod whenmoderated = FALSE
- Have
updateF
return BH-adjusted p-values
- Have
- Update
get
methods- Add
or
argument togetResults
, toggles howinclude
works - Add
or
argument togetNetwork
, toggles howinclude
works - Add
or
argument togetRatios
, toggles howinclude
works
- Add
- Add methods
- New
getAdjacency
function returns adjacency matrix - Uses
include
andor
arguments
- New
- Update
propd
methods- Add theta_g routine to
calculateTheta
- Add theta_g routine to
- Add methods
- New
pra
method for principal ratio analysis - Add
vegan
to NAMESPACE
- New
- General maintenance
- Fix
getResults
warning - Fix
getReference
bug
- Fix
- Update
propr
methods- Extend
propr
function and object to supportmetric = "vlr"
- Extend
- Update
propd
methods- Add
setEmergent
warning for unequal group sizes - Extend
parallel
to replaceslice
- Add
- Update
get
methods- Now use only one color for
getNetwork
of theta_d (cytescape
still uses two) - New
include
argument forgetResults
,getNetwork
, andgetRatios
- Now use only one color for
- Add methods
- New
parallel
method visualizes sample-wise log-ratios
- New
- Update
getResults
method- For
propd
objects, any cutoff > 1 will return top N pairs - Now always return data sorted according to outcome
- For
- Update
getRatios
method- For
propd
objects, define ratio so Group 1 is at top
- For
- Add methods
- Add
getReference
to find a component proportional to center
- Add
- Update
getRatios
method- Now subsets ratios to include only pairs returned by
getResults
- Now subsets ratios to include only pairs returned by
- Update zero handling
- Package now replaces 0s with next smallest value (instead of 1)
- General maintenance
- Stop
slate
andshale
export
- Stop
- Update
getNetwork
method- Simplify use by guessing network type based on first argument
- Update
propr
method- Fix bug where alpha-based method always used
ivar = "clr"
- Fix bug where alpha-based method always used
- Update
ratios
method- Add
alpha
argument to set LR = (partner^alpha - pair^alpha) / alpha - Now returns log-ratios instead of ratios
- Add
- Add methods
- Add
wide2long
to melt counts and log-ratios for visualization - Add
getRatios
function to retrieve melted log-ratios
- Add
- Add tests
- Add test for
getNetwork
- Add test for
getRatios
- Add test for
- Add methods
- Add
getResults
to retrieve results from apropr
orpropd
object - Add
getNetwork
to build networks frompropr
andpropd
objects
- Add
- Update
ivar2index
method- Now replaces zeros with 1 to calculate IQR (fixes "iqlr" bug for alpha > 0)
- Update
propr
object backend and API- Heavily revise documentation to harmonize
propd
withpropr
- Create
propr
function to replaceperb
,phit
, andphis
- Add
@results
slot for storing proportionality half-matrix - Add
@permutes
slot for storing reproducible permutations - Update
subset
and[
to disable@results
and@permutes
- Add
@fdr
slot for storing FDR results - Add
alpha
argument- Adjusts alpha-based VLR by var[(component^alpha - reference^alpha)/alpha]
- Saves
alpha
to@alpha
and alpha-based counts to@logratio
- Note this is not yet technically equivalent to
propd
method
- Add
updateCutoffs
function to permute FDR for proportionality- Add
@metric
,@ivar
and@alpha
slots to calculate metric exactly - Count rho > cutoff and cor > cutoff as positive results
- Count phi < cutoff and phs < cutoff as positive results
- Add
- Heavily revise documentation to harmonize
- Update
propd
object backend and API- Heavily revise documentation to harmonize
propd
withpropr
- Fix bug where zeros still get replaced for
lrm
calculation - The
updateCutoffs
function is now an S4 method - Turn
@theta
slot into@results
slot - Rebuild
pd.d
andpd.e
objects
- Heavily revise documentation to harmonize
- Update
aldex2propr
method- Update
aldex2propr
and[
to disable@results
and@permutes
- Add
lr2glm
andaldex.glm
functions
- Update
- Add methods
- Add
qtheta
to calculate a cutoff of theta for a given p-value
- Add
- Remove methods
- Remove
differentialCheck
- Remove
prop2prob
- Remove
abstract
- Remove
initialize
- Remove
adjacent
- Remove
- Revise vignettes
- Update CITATION file and README
- Update alpha-transformation routine
- Update
lrm
C++ code- Clone
Yfull
and set to power of alpha - Add argument
Wfull
for complete weights (and check) - Update calls to pass
Wfull
if provided - Implement new non-weighted alpha-transformed means
- Implement new weighted alpha-transformed means
- Revise alpha-based unit tests
- Clone
- Update
lrv
C++ code- Clone
Yfull
and set to power of alpha - Add argument
Wfull
for complete weights (and check) - Update calls to pass
Wfull
if provided - Implement new non-weighed alpha-transformed variances
- Implement new weighted alpha-transformed variances
- Revise alpha-based unit tests
- Clone
- Remove
lrz
function
- Update
- Prepare alpha-transformation routine for update
- Update
lrm
C++ code- Add argument
a
and prepare code for alpha-based lrm - Add argument
Yfull
for complete data (and check) - Update calls to pass
Yfull
if provided
- Add argument
- Update
lrv
C++ code- Add argument
Yfull
for complete data (and check) - Update calls to pass
Yfull
if provided
- Add argument
- Update
- Update C++ code to use
&&
and||
instead of&
and|
- Modified
propd
methods- Users can now disable alpha transformation by setting
alpha = 0
- Improve
NaN
theta value replacement with 1 - Modified
updateF
formoderated = TRUE
- Now offsets counts by 1 to prevent zeros in reference set
- Now correctly checks for zeros in reference set
- Users can now disable alpha transformation by setting
- Check
propr
andpropd
input for negative counts - Modified
propd
methods- Add
dfz
slot to thepropd
class (defaults to 0)- Have
updateF
populatedfz
slot if moderated - Use
dfz
to calculate p-value from F-stat
- Have
- Implement revised F-stat moderation
- Now uses simple moderation term based only on LRV
- Update
test-Fstat.R
to reflect changes
- Add
- Modified
propd
methods- Allow
p = 0
when initializingpropd
objects - Have
calculateTheta
compute new weights each permutation
- Allow
- Update
propr
to work with Rcpp >= 0.12.12 - Modified
propd
methods- All out-of-bounds theta_mod replaced with 1
- Add
@Fivar
slot to thepropd
class - Extend
updateCutoffs
totheta_mod
- Automatically set
@matrix
column names when usingpropr
- Address notice by CRAN about using Suggests conditionally
- Vignette will no longer calculate theta when
weighted = TRUE
- Tests for "Fstat" and "theta" now check for
limma
- Vignette will no longer calculate theta when
- New
ratios
andratiosRcpp
functions recast matrix as feature ratios
- Rename "Calculating Differential Proportionality" vignette
- Update CITATION file and README
- Modified
propd
methods- Stop plot functions from creating surplus figure in notebook
- Use theta_d network method for any non-emergent theta type
- Add
suppressWarnings
tocompositions::plot
call
- New vignette to discuss F-statistics
- Modified
propd
methods- Add
suppressWarnings
tocompositions::acomp
call
- Add
- Modified
propd
methods- The
propd
function no longer callsupdateCutoffs
- The
calculateTheta
function no longer calculates F-statistic - Update vignette to reflect these changes
- Object now stores weights if weighted
- The
- Modified
calculateTheta
- Added
weights
argument to pass pre-computed weights - Still calculates weights if
NA
weights argument - Consolidated weighted and alpha lrv calls
- Added
- Modified C++ backend
- Extend
lrv
to weighted alpha calls - Added unit test for weighted alpha calls
- Merge
boxRcpp
withlrv
and removeboxRcpp
- Merge
lrmRcpp
withlrm
and removelrmRcpp
- Rename
lrvMod
function toomega
- Extend
- New
updateF
function- Added new
ivar2index
function used bypropr
andupdateF
- Calculates 4 types of moderated F-statistics
- Calculates 4 types of non-moderated F-statistics
- Update
propd
documentation to reflect change - Extend moderation to non-clr references
- Added new
- New
corr
function calculates log-ratio based correlation - Fixed mistake with vignette indexing
- Modified visualization tools
- Correctly spell
geiser
function asgeyser
- Allow
propd
methods to accept 0s
- Correctly spell
- Update documentation
- Finish revision of all vignettes
- Modified
propd
Class- Now only replaces 0s if alpha is missing or
NA
- Now tabulates 0s whether replaced or not
- Now only replaces 0s if alpha is missing or
- Modified
calculateTheta
- Now replaces 0s to calculate LRM if alpha is provided
- Now alerts user when using alpha to approximate LRV
- Update documentation
- Create new DESCRIPTION that includes differential proportionality
- Create new README that includes differential proportionality
- Revise "a_introduction" and move portion to stand-alone critique
- Revise "b_visualization" and fix co-cluster selection mistake
- Fork off and revise "d_advanced" as stand-alone critique
- Spell check and revise other vignettes
- Modified
calculateTheta
- Now saves log-ratio variance (LRV) modifier in output
- Modified visualization tools
- New
decomposed
function for LRV decomposition - Uses LRV modifier for weighted theta types
- New
- Modified visualization tools
- Updated
plot.propd
method to displaytheta_f
- Updated
- Modified
propd
Class- Added
@weighted
slot now used byupdateCutoffs
- Added
- Implement @theta for "weighted theta" calculation
- Added
wtmRcpp
for weighted mean calculation - Added
wtvRcpp
for weighted variance calculation - Added
lrm
function with optional weighted calculations - Added
lrv
function with optional weighted calculations
- Added
- Implement "weighted theta" calculation
- Added
calculateThetaW_old
for unit testing - Added weighted lrv calculation
- Added
- Modified
calculateTheta
- Moved log-ratio mean calculations here
- Added weighted lrm calculation
- Modified
propd
Class- Added
@active
slot now used byupdateCutoffs
- Added
setActive
method to switch between theta types
- Added
- Modified
calculateTheta
- Added
theta_f
which equals1 - theta_e
- Added
only
argument to retrieve only one theta type
- Added
- Modified package skeleton
- Added differential proportionality article to CITATION
- Added propriety project pre-merger changelog to OLDNEWS.md
- Manually merged R functions from propriety project
- New functions:
propd
and methods,calculateTheta
,updateCutoffs
- Added deprecated functions anticipating unit tests
- New functions:
- Manually merged C++ functions from propriety project
- New functions:
half2matrix
,boxRcpp
,ctzRcpp
,lrmRcpp
- Added deprecated functions anticipating unit tests
- New functions:
- Modified unit tests
- Added
requireNamespace
check forALDEx2
tests - Added unit tests from propriety project
- Added
- Modified data
- Rebuilt
pd.d
andpd.e
data - Added
top.counts
as count data using filteredcaneToad.counts
- Added
top.lr
as log-ratio data using filteredcaneToad.counts
- Removed
top
data
- Rebuilt
- Modified dataset from Rollins et al. 2015
- Removed transcripts with < 10 counts in < 10 samples
- Add dataset from Marguerat et al. 2012
- Absolute data stored as
marg.abs
- Absolute data stored as
- Replace
rhoToPhs
function withlr2phs
- Fixed
phis
bug when using alr-transformation - Fixed
aldex2propr
bug when using alr-transformation - Add unit tests for
lr2
withivar
- Fixed
- Create
initialize
method to handleivar
andselect
phit
,perb
, andphis
usenew
withlr2
phit
now acceptsivar
andselect
phit
now haspca
andsnapshot
- Add
iqlr
and "multi"-alr
- Updated "Frequently Asked Questions" vignette
- Modified visualization tools
- The
bucket
function now uses non-parametric ANOVA - The
cytescape
function now supports 3D visualization - The
cytescape
function now names columns correctly
- The
- Add "Frequently Asked Questions" vignette
- Removed
lrmodel
module
- Force column and row names when calculating proportionality
- Added
plotCheck
tocytescape
function
- Added
- The
aldex.cor
function now returns average p-value- Now uses
cor.test
aslr2cor
foundation instead ofcor
- Now uses
- Modified
aldex2propr
function- Added
select
argument like inperb
function - Documented
select
argument in Details
- Added
- Modified
perb
function- Alerts user when 'ivar' is missing from 'select'
- Documented
select
argument in Details
- Stop exporting
progress
andmigraph
functions - Color
cytescape
edges correctly when plotting phi or phs - Add
progress
bar tosmear
function
- Add
progress
bar toaldex2propr
andaldex.cor
functions - Penalize
lr2cor
andaldex.cor
p-values for two-tailed test - Add the
migraph
module to help makeigraph
networks - Modified visualization tools
- Rebuilt
cytescape
usingmigraph
module
- Rebuilt
- New
aldex2propr
function convertsaldex.clr
object- Uses Monte Carlo instances from
ALDEx2
package
- Uses Monte Carlo instances from
- New
lr2cor
andaldex.cor
functions- Measures feature associations with continuous variables
- Modified backend code
- New
backend.h
allows import ofbackend.cpp
- New
lr2
functions calculate proportionality- Input log-ratio transformed counts
- New
- Modified visualization tools
- Removed
minPairs
argument fromcytescape
- Removed
- Modified visualization tools
- New
pca
function masksmds
function
- New
- Include inst/CITATION file
- Modified
propr
Class- Merged
propr-class
andpropr
documentation
- Merged
- Modified
phit
,perb
functions- Merged
phit
andperb
documentation - New
phis
function returns(1 - rho) / (1 + rho)
- NAs in count matrix now throw error
- 0s now replaced with 1s
- Merged
- Modified visualization tools
- Merged documentation
- Modified
[
method- Now joins newly indexed pairs with any existing index
- New
cytescape
function- Uses
@pairs
slot to build an interaction network
- Uses
- Modified visualization tools
- Courtesy
prompt
argument extended tosmear
anddendrogram
- Improved error handling and documentation
- Courtesy
- Modified
abstract
function- New
dt
argument indexes significant results in@pairs
- New
- Modified
simplify
function- Now builds index of lower left triangle of matrix
- New
adjacent
function- Uses
@pairs
slot to build an adjacency matrix
- Uses
- Modified visualization tools
bucket
now depends onslate
function
- Modified backend code
- New
coordToIndex
performs inverse ofindexToCoord
- New
- Modified
prop2prob
function- Return p-values as a sorted
data.table
- Now lets user select
method
for p-value adjustment - New
prompt
argument turns off big data prompt - Fix pass by reference bug in
linRcpp
- Return p-values as a sorted
- New
abstract
function- Combines two
propr
objects into one
- Combines two
- New
lrmodel
class- Use
modelCLR
to capture the clr-transformation rule - Use
predict
to deploy this rule to new data
- Use
- Modified backend code
- Added
corRcpp
function fromcorrelateR
package - Added
linRcpp
function for Z-transformation - Added
lltRcpp
andurtRcpp
to retrieve a half-matrix - Added
labRcpp
to label a half-matrix
- Added
- New
prop2prob
function- Allows hypothesis testing of rho equals naught
- Tests differential proportionality
- Modified visualization tools
plotCheck
extended to all plot functionsplot
method now callssmear
functiondendrogram
plot now rendered usingggplot2
snapshot
plot now rendered usingggplot2
bokeh
plot now on positive log scaleplotly
support added
- Modified backend code
- Temporarily removed
a_bool
function
- Temporarily removed
- Modified
[
method- Removed
bool
andcopy
arguments
- Removed
- Modified backend code
- New
a_bool
function returns thresholded boolean matrix
- New
- Modified
[
method- New
bool
argument toggles whether to usea_bool
- New
tiny
argument toggles whether to usesimplify
- New
copy
argument togglesa_bool
copy-on-modify
- New
- New visualization tools
slate
returns a table of VLR, VLS, and rhobokeh
plots pairs by the individual variances
- Modified index-naive plot functions
- Now uses
fastcluster::hclust
implementation - New
prompt
argument turns off big data prompt prism
now depends onslate
function
- Now uses
- Modified
dendrogram
function- Now uses
fastcluster::hclust
implementation - Now returns an
hclust
object
- Now uses
- Modified
subset
method- Argument
select
now correctly rearranges features
- Argument
- Modified
rhoRcpp
function- Now accommodates new
perb
function feature
- Now accommodates new
- Modified
perb
function- New
select
argument returns subsetted matrix - This subset does not alter values of rho
- New
- Modified
perb
function- User can now specify name of
ivar
reference
- User can now specify name of
- Altered
image
method- Now includes dendrogram with heatmap
- No longer uses index pairs
- Now called
snapshot
- New
prism
function - New
bucket
function - New
mds
function - New vignette
- Modified
phit
,perb
functions- These functions now force zero removal
- New
simplify
function- Subsets
propr
object based on index in@pairs
slot - Returns an updated index
- Subsets
- Modified
phit
,perb
functions- Permutation testing removed
- Added
lazyPairs
construct- Slot @pairs not populated until after
[
- Slot @pairs not populated until after
- Modified
propr
Class@pairs
slot now integer vector- Populated with
indexPairs
function - Translate with
indexToCoord
function
- Populated with
show
method updated forlazyPairs
construct[
method completely redesigned- First argument specifies operation
- Second argument specifies reference
- Indexes @matrix based on these
subset
method revised but still copy-on-modify- Resets @pairs when called
$
method removed
- Visualization tools revised
plot
,image
,dendrogram
methods- Improved performance
- Compatible with new @pairs indexing
- No longer requires column names
- Modified backend code
- Rephrased code for
proprPhit
- Rephrased code for
proprPerb
- Rephrased code for
proprVLR
- All functions translated into C++
- Estimated 80% reduction in RAM overhead
- Estimated 100-fold performance increase
- ALR methods no longer drop dimension
- All have modify-in-place behavior
- Rephrased code for
- New orientation expected for input data
- Updated backend and vignette accordingly
- Removed redundant transpositions
- Fixed rare subsetting errors
- Tweaked plot methods
- Introduced
phit
function- Implements Lovell's phi proportionality metric
- Returns object of class
propr
- Introduced
perb
function- Implements Erb's rho proportionality metric
- Returns object of class
propr
- Introduced
propr
Classshow
method- Subsets
propr
based on@pairs
slot
- Subsets
subset
method- Subsets
propr
based on@matrix
slot
- Subsets
plot
method- Plots pairwise lr proportionality
dendrogram
method- Plots clusters of lr-transformed data
image
method- Plots heatmap of lr-transformed data