- Use feature-wise permutation for propr()
- Fix bug when calling updateCutoffs with func
- Use harmonic mean when calculating weighted lrv and lrm
- Add trend=TRUE flag for updateF to use mean-variance trend in limma moderation
- Use sample weights for limma when calculating weighted theta in propd()
- Added option to shrink the covariance matrix before computing the propd theta
- Fix issues when using user provided weights in
propdfunction
- Added option to use user provided weights in
propdfunction
- Fixed bug in
updateCutoffsrelated to the use ofcustom_cutoffs - Fixed
runNormalizationto properly work whentheta_modis used
- Added
results_to_matrixfunction
- Corrected
tails = 'both'to symmetric two-sided FDR test
- Restructured
graflexto speed up
- Speed up
graflexrelated functions
- Allowed
updateCutoffsfunction to compute the FDR values for negative cutoffs - Added
getCutoffFDRto get a significant cutoff based on the permuted FDR - Changed
runCutoffintogetCutoffFstat - Added
getSignificantResultsFDRandgetSignificantResultsFstatto get the significant pairs as results table - Added
getAdjacencyFDRandgetAdjacencyFstatfunctions to get the adjacency matrix with the significant pairs - Optimized
graflexrelated 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::pcorbycorpcor::cor2pcorfor coherence with the shrunk partial correlations - Parallelized
propdwhen ncores > 1
- Added fixseed option for runGraflex
- Fix bug: NAs produced by integer overflow in getOR
- Added fixseed option for updatePermutes
- Merge parts of
graflexpackage 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
corpcorandppcorin imports - Update README and CITATION
- Merge pull request for new shrinkage method
- Remove any function that exists only to produce plots
- Rename functions:
- Rename
pratoselectRatios - Rename
getReferencetoselectReference - Rename
qthetatorunCutoff - Rename
getNormThetatorunNormalization - Rename
posthoctorunPostHoc - Rename back-end functions
- Rename
- Fix bug: partial correlation FDR cutoff checks wrong direction
- Fix bug:
lr2corsaves t-statistic, not r-statistic
- Accept speed-up pull requests from Ryan Moore
- Add support for partial correlations
ppcorpackage called bypropr(x, metric = "pcor")corpcorpackage called bypropr(x, metric = "pcor.shrink")
- Add
updateCutoffswarning for asymmetric phi FDR call
- Allow user to skip log-ratio transformation with
ivar = NA
- Fix new R version
classbug where matrix is also an array
- New
posthocmethod- Performs post-hoc testing for an ANOVA of >2 groups
- Update CITATION and README
- Update
propdmethodcalculateThetaextended to support ANOVA with >2 groupspropdupdated to allow >2 groups
- Modified visualization tools
- Add checks for methods that require 2 groups
parallelshould support 3 groups
- Update
pramethod- Fix bug introduced by
tryCatch
- Fix bug introduced by
- Revise vignettes for thesis publication
- Update
pramethod- Add
tryCatchto handle the Lapack routine 'dgesdd' error - This error occurs when the SVD fails to converge
- Add
- Update
getmethods- Pass
cutoffand other arguments togetColours - Have
getColoursshow which feature is DE
- Pass
- New
updateCutoffs.proprparallel update- Add parallel check and alternate computation for ncores > 1
- Pass ncores argument from
updateCutoffswrapper
- New
getmethods- New
getNormThetacalculates a per-feature theta against normalization factors - New
getColourcolours pairs based on differential expression results
- New
- Update
proprmethods- Fix error where
selectis used in presence of zeros
- Fix error where
- Update
propdmethods- All methods now use
N + propd@dfzdegrees-of-freedom - Omega no longer used for F-statistic by
updateF - Omega no longer used for cutoff by
qtheta
- All methods now use
- Update
qthetamethods- New
fdrargument inqthetamethod returns cutoff for FDR-adjusted p-value - Remove
moderatedargument fromqthetamethod
- New
- Update
getmethods- New
getAdjoffers a faster alternative togetAdjacency - Have
getAdjacencyandgetMatrixset diagonal to 0
- New
- Update
propdmethods- Return to using N-K degrees-of-freedom for
pfandqfcalls - Have
qthetastill use Omega (biased) to calculate theta from F-stat
- Return to using N-K degrees-of-freedom for
- Update
propdmethods- 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
qthetato use Omega (biased) degrees-of-freedom - Remove superfluous
calculateThetainput checks - Stop export of
calculateThetafunction
- Update C++ backend
- Add
Omegafunction to compute population-level pre-factor - Remove superfluous first argument to
omegafunction
- Add
- New tests
- Add
getMatrixtest
- Add
- New
getmethods- Add
getMatrixto return propr or propd object as matrix
- Add
- Update
propdmethods- Have
updateFreturn NA theta_mod whenmoderated = FALSE - Have
updateFreturn BH-adjusted p-values
- Have
- Update
getmethods- Add
orargument togetResults, toggles howincludeworks - Add
orargument togetNetwork, toggles howincludeworks - Add
orargument togetRatios, toggles howincludeworks
- Add
- Add methods
- New
getAdjacencyfunction returns adjacency matrix - Uses
includeandorarguments
- New
- Update
propdmethods- Add theta_g routine to
calculateTheta
- Add theta_g routine to
- Add methods
- New
pramethod for principal ratio analysis - Add
veganto NAMESPACE
- New
- General maintenance
- Fix
getResultswarning - Fix
getReferencebug
- Fix
- Update
proprmethods- Extend
proprfunction and object to supportmetric = "vlr"
- Extend
- Update
propdmethods- Add
setEmergentwarning for unequal group sizes - Extend
parallelto replaceslice
- Add
- Update
getmethods- Now use only one color for
getNetworkof theta_d (cytescapestill uses two) - New
includeargument forgetResults,getNetwork, andgetRatios
- Now use only one color for
- Add methods
- New
parallelmethod visualizes sample-wise log-ratios
- New
- Update
getResultsmethod- For
propdobjects, any cutoff > 1 will return top N pairs - Now always return data sorted according to outcome
- For
- Update
getRatiosmethod- For
propdobjects, define ratio so Group 1 is at top
- For
- Add methods
- Add
getReferenceto find a component proportional to center
- Add
- Update
getRatiosmethod- 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
slateandshaleexport
- Stop
- Update
getNetworkmethod- Simplify use by guessing network type based on first argument
- Update
proprmethod- Fix bug where alpha-based method always used
ivar = "clr"
- Fix bug where alpha-based method always used
- Update
ratiosmethod- Add
alphaargument to set LR = (partner^alpha - pair^alpha) / alpha - Now returns log-ratios instead of ratios
- Add
- Add methods
- Add
wide2longto melt counts and log-ratios for visualization - Add
getRatiosfunction to retrieve melted log-ratios
- Add
- Add tests
- Add test for
getNetwork - Add test for
getRatios
- Add test for
- Add methods
- Add
getResultsto retrieve results from aproprorpropdobject - Add
getNetworkto build networks fromproprandpropdobjects
- Add
- Update
ivar2indexmethod- Now replaces zeros with 1 to calculate IQR (fixes "iqlr" bug for alpha > 0)
- Update
proprobject backend and API- Heavily revise documentation to harmonize
propdwithpropr - Create
proprfunction to replaceperb,phit, andphis - Add
@resultsslot for storing proportionality half-matrix - Add
@permutesslot for storing reproducible permutations - Update
subsetand[to disable@resultsand@permutes - Add
@fdrslot for storing FDR results - Add
alphaargument- Adjusts alpha-based VLR by var[(component^alpha - reference^alpha)/alpha]
- Saves
alphato@alphaand alpha-based counts to@logratio - Note this is not yet technically equivalent to
propdmethod
- Add
updateCutoffsfunction to permute FDR for proportionality- Add
@metric,@ivarand@alphaslots 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
propdobject backend and API- Heavily revise documentation to harmonize
propdwithpropr - Fix bug where zeros still get replaced for
lrmcalculation - The
updateCutoffsfunction is now an S4 method - Turn
@thetaslot into@resultsslot - Rebuild
pd.dandpd.eobjects
- Heavily revise documentation to harmonize
- Update
aldex2proprmethod- Update
aldex2proprand[to disable@resultsand@permutes - Add
lr2glmandaldex.glmfunctions
- Update
- Add methods
- Add
qthetato 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
lrmC++ code- Clone
Yfulland set to power of alpha - Add argument
Wfullfor complete weights (and check) - Update calls to pass
Wfullif provided - Implement new non-weighted alpha-transformed means
- Implement new weighted alpha-transformed means
- Revise alpha-based unit tests
- Clone
- Update
lrvC++ code- Clone
Yfulland set to power of alpha - Add argument
Wfullfor complete weights (and check) - Update calls to pass
Wfullif provided - Implement new non-weighed alpha-transformed variances
- Implement new weighted alpha-transformed variances
- Revise alpha-based unit tests
- Clone
- Remove
lrzfunction
- Update
- Prepare alpha-transformation routine for update
- Update
lrmC++ code- Add argument
aand prepare code for alpha-based lrm - Add argument
Yfullfor complete data (and check) - Update calls to pass
Yfullif provided
- Add argument
- Update
lrvC++ code- Add argument
Yfullfor complete data (and check) - Update calls to pass
Yfullif provided
- Add argument
- Update
- Update C++ code to use
&&and||instead of&and|
- Modified
propdmethods- Users can now disable alpha transformation by setting
alpha = 0 - Improve
NaNtheta value replacement with 1 - Modified
updateFformoderated = 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
proprandpropdinput for negative counts - Modified
propdmethods- Add
dfzslot to thepropdclass (defaults to 0)- Have
updateFpopulatedfzslot if moderated - Use
dfzto calculate p-value from F-stat
- Have
- Implement revised F-stat moderation
- Now uses simple moderation term based only on LRV
- Update
test-Fstat.Rto reflect changes
- Add
- Modified
propdmethods- Allow
p = 0when initializingpropdobjects - Have
calculateThetacompute new weights each permutation
- Allow
- Update
proprto work with Rcpp >= 0.12.12 - Modified
propdmethods- All out-of-bounds theta_mod replaced with 1
- Add
@Fivarslot to thepropdclass - Extend
updateCutoffstotheta_mod
- Automatically set
@matrixcolumn 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
ratiosandratiosRcppfunctions recast matrix as feature ratios
- Rename "Calculating Differential Proportionality" vignette
- Update CITATION file and README
- Modified
propdmethods- Stop plot functions from creating surplus figure in notebook
- Use theta_d network method for any non-emergent theta type
- Add
suppressWarningstocompositions::plotcall
- New vignette to discuss F-statistics
- Modified
propdmethods- Add
suppressWarningstocompositions::acompcall
- Add
- Modified
propdmethods- The
propdfunction no longer callsupdateCutoffs - The
calculateThetafunction no longer calculates F-statistic - Update vignette to reflect these changes
- Object now stores weights if weighted
- The
- Modified
calculateTheta- Added
weightsargument to pass pre-computed weights - Still calculates weights if
NAweights argument - Consolidated weighted and alpha lrv calls
- Added
- Modified C++ backend
- Extend
lrvto weighted alpha calls - Added unit test for weighted alpha calls
- Merge
boxRcppwithlrvand removeboxRcpp - Merge
lrmRcppwithlrmand removelrmRcpp - Rename
lrvModfunction toomega
- Extend
- New
updateFfunction- Added new
ivar2indexfunction used byproprandupdateF - Calculates 4 types of moderated F-statistics
- Calculates 4 types of non-moderated F-statistics
- Update
propddocumentation to reflect change - Extend moderation to non-clr references
- Added new
- New
corrfunction calculates log-ratio based correlation - Fixed mistake with vignette indexing
- Modified visualization tools
- Correctly spell
geiserfunction asgeyser - Allow
propdmethods to accept 0s
- Correctly spell
- Update documentation
- Finish revision of all vignettes
- Modified
propdClass- 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
decomposedfunction for LRV decomposition - Uses LRV modifier for weighted theta types
- New
- Modified visualization tools
- Updated
plot.propdmethod to displaytheta_f
- Updated
- Modified
propdClass- Added
@weightedslot now used byupdateCutoffs
- Added
- Implement @theta for "weighted theta" calculation
- Added
wtmRcppfor weighted mean calculation - Added
wtvRcppfor weighted variance calculation - Added
lrmfunction with optional weighted calculations - Added
lrvfunction with optional weighted calculations
- Added
- Implement "weighted theta" calculation
- Added
calculateThetaW_oldfor unit testing - Added weighted lrv calculation
- Added
- Modified
calculateTheta- Moved log-ratio mean calculations here
- Added weighted lrm calculation
- Modified
propdClass- Added
@activeslot now used byupdateCutoffs - Added
setActivemethod to switch between theta types
- Added
- Modified
calculateTheta- Added
theta_fwhich equals1 - theta_e - Added
onlyargument 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:
propdand 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
requireNamespacecheck forALDEx2tests - Added unit tests from propriety project
- Added
- Modified data
- Rebuilt
pd.dandpd.edata - Added
top.countsas count data using filteredcaneToad.counts - Added
top.lras log-ratio data using filteredcaneToad.counts - Removed
topdata
- 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
rhoToPhsfunction withlr2phs- Fixed
phisbug when using alr-transformation - Fixed
aldex2proprbug when using alr-transformation - Add unit tests for
lr2withivar
- Fixed
- Create
initializemethod to handleivarandselectphit,perb, andphisusenewwithlr2phitnow acceptsivarandselectphitnow haspcaandsnapshot- Add
iqlrand "multi"-alr
- Updated "Frequently Asked Questions" vignette
- Modified visualization tools
- The
bucketfunction now uses non-parametric ANOVA - The
cytescapefunction now supports 3D visualization - The
cytescapefunction now names columns correctly
- The
- Add "Frequently Asked Questions" vignette
- Removed
lrmodelmodule
- Force column and row names when calculating proportionality
- Added
plotChecktocytescapefunction
- Added
- The
aldex.corfunction now returns average p-value- Now uses
cor.testaslr2corfoundation instead ofcor
- Now uses
- Modified
aldex2proprfunction- Added
selectargument like inperbfunction - Documented
selectargument in Details
- Added
- Modified
perbfunction- Alerts user when 'ivar' is missing from 'select'
- Documented
selectargument in Details
- Stop exporting
progressandmigraphfunctions - Color
cytescapeedges correctly when plotting phi or phs - Add
progressbar tosmearfunction
- Add
progressbar toaldex2proprandaldex.corfunctions - Penalize
lr2corandaldex.corp-values for two-tailed test - Add the
migraphmodule to help makeigraphnetworks - Modified visualization tools
- Rebuilt
cytescapeusingmigraphmodule
- Rebuilt
- New
aldex2proprfunction convertsaldex.clrobject- Uses Monte Carlo instances from
ALDEx2package
- Uses Monte Carlo instances from
- New
lr2corandaldex.corfunctions- Measures feature associations with continuous variables
- Modified backend code
- New
backend.hallows import ofbackend.cpp - New
lr2functions calculate proportionality- Input log-ratio transformed counts
- New
- Modified visualization tools
- Removed
minPairsargument fromcytescape
- Removed
- Modified visualization tools
- New
pcafunction masksmdsfunction
- New
- Include inst/CITATION file
- Modified
proprClass- Merged
propr-classandproprdocumentation
- Merged
- Modified
phit,perbfunctions- Merged
phitandperbdocumentation - New
phisfunction 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
cytescapefunction- Uses
@pairsslot to build an interaction network
- Uses
- Modified visualization tools
- Courtesy
promptargument extended tosmearanddendrogram - Improved error handling and documentation
- Courtesy
- Modified
abstractfunction- New
dtargument indexes significant results in@pairs
- New
- Modified
simplifyfunction- Now builds index of lower left triangle of matrix
- New
adjacentfunction- Uses
@pairsslot to build an adjacency matrix
- Uses
- Modified visualization tools
bucketnow depends onslatefunction
- Modified backend code
- New
coordToIndexperforms inverse ofindexToCoord
- New
- Modified
prop2probfunction- Return p-values as a sorted
data.table - Now lets user select
methodfor p-value adjustment - New
promptargument turns off big data prompt - Fix pass by reference bug in
linRcpp
- Return p-values as a sorted
- New
abstractfunction- Combines two
proprobjects into one
- Combines two
- New
lrmodelclass- Use
modelCLRto capture the clr-transformation rule - Use
predictto deploy this rule to new data
- Use
- Modified backend code
- Added
corRcppfunction fromcorrelateRpackage - Added
linRcppfunction for Z-transformation - Added
lltRcppandurtRcppto retrieve a half-matrix - Added
labRcppto label a half-matrix
- Added
- New
prop2probfunction- Allows hypothesis testing of rho equals naught
- Tests differential proportionality
- Modified visualization tools
plotCheckextended to all plot functionsplotmethod now callssmearfunctiondendrogramplot now rendered usingggplot2snapshotplot now rendered usingggplot2bokehplot now on positive log scaleplotlysupport added
- Modified backend code
- Temporarily removed
a_boolfunction
- Temporarily removed
- Modified
[method- Removed
boolandcopyarguments
- Removed
- Modified backend code
- New
a_boolfunction returns thresholded boolean matrix
- New
- Modified
[method- New
boolargument toggles whether to usea_bool - New
tinyargument toggles whether to usesimplify - New
copyargument togglesa_boolcopy-on-modify
- New
- New visualization tools
slatereturns a table of VLR, VLS, and rhobokehplots pairs by the individual variances
- Modified index-naive plot functions
- Now uses
fastcluster::hclustimplementation - New
promptargument turns off big data prompt prismnow depends onslatefunction
- Now uses
- Modified
dendrogramfunction- Now uses
fastcluster::hclustimplementation - Now returns an
hclustobject
- Now uses
- Modified
subsetmethod- Argument
selectnow correctly rearranges features
- Argument
- Modified
rhoRcppfunction- Now accommodates new
perbfunction feature
- Now accommodates new
- Modified
perbfunction- New
selectargument returns subsetted matrix - This subset does not alter values of rho
- New
- Modified
perbfunction- User can now specify name of
ivarreference
- User can now specify name of
- Altered
imagemethod- Now includes dendrogram with heatmap
- No longer uses index pairs
- Now called
snapshot
- New
prismfunction - New
bucketfunction - New
mdsfunction - New vignette
- Modified
phit,perbfunctions- These functions now force zero removal
- New
simplifyfunction- Subsets
proprobject based on index in@pairsslot - Returns an updated index
- Subsets
- Modified
phit,perbfunctions- Permutation testing removed
- Added
lazyPairsconstruct- Slot @pairs not populated until after
[
- Slot @pairs not populated until after
- Modified
proprClass@pairsslot now integer vector- Populated with
indexPairsfunction - Translate with
indexToCoordfunction
- Populated with
showmethod updated forlazyPairsconstruct[method completely redesigned- First argument specifies operation
- Second argument specifies reference
- Indexes @matrix based on these
subsetmethod revised but still copy-on-modify- Resets @pairs when called
$method removed
- Visualization tools revised
plot,image,dendrogrammethods- 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
phitfunction- Implements Lovell's phi proportionality metric
- Returns object of class
propr
- Introduced
perbfunction- Implements Erb's rho proportionality metric
- Returns object of class
propr
- Introduced
proprClassshowmethod- Subsets
proprbased on@pairsslot
- Subsets
subsetmethod- Subsets
proprbased on@matrixslot
- Subsets
plotmethod- Plots pairwise lr proportionality
dendrogrammethod- Plots clusters of lr-transformed data
imagemethod- Plots heatmap of lr-transformed data