Comments (6)
This doesn't happen for the simulations but does on real data experiments (probably due to the trick to estimate DoH and then minor and major CNs).
We may put a "warning" at the beginning of the algorithm to warn user that some estimates of Z1 are greater than Z2.
from c3co.
Would you mind commenting on what you did to address this issue, and link to a specific commit?
from c3co.
Modification of get.Z.
Remove
Z1 <- sapply(idx, function(ii){
jj <- which(Z1[,ii]>Z2[,ii])
Z1[jj, ii] <- Z2[jj, ii]
return(Z1[,ii])
})
minor CN > major CN cannot happen if estimates are correctly done.
from c3co.
If it cannot happen, then you should add a sanity check that it doesn't, using e.g. stopifnot()
.
If it may happen in weird case, then you should at least add a warning
.
It would also be nice to have a test about this, but I'm not sure how to do that.
from c3co.
Add a warning when Z1 is larger than Z2.
5e91d7d
from c3co.
In most of cases Z1 is larger than Z2 when the optimal number of archetype is reached.
An example is given below, after p>=4 :
set.seed(147)
len <- 500*10
nbClones <- 3
bkps <- list(c(100,250)*10, c(150,400)*10,c(150,400)*10)
regions <- list(c("(1,2)", "(0,2)", "(1,2)"),
c("(1,1)", "(0,1)", "(1,1)"), c("(0,2)", "(0,1)", "(1,1)"))
dataAnnotTP <- acnr::loadCnRegionData(dataSet="GSE13372_HCC1143", tumorFraction=1)
dataAnnotN <- acnr::loadCnRegionData(dataSet="GSE13372_HCC1143", tumorFraction=0)
datSubClone <- buildSubclones(len, dataAnnotTP, dataAnnotN, nbClones, bkps, regions)
W = rSparseWeightMatrix(15, 3, 0.7)
datList <- mixSubclones(subClones=datSubClone, W)
l1 <- seq(from=1e-8, to=1e-5, length.out=10)
nb.arch <- 2:6
parameters.grid <- list(lambda1=l1, nb.arch=nb.arch)
res <- c3co(datList, parameters.grid, verbose=FALSE)
from c3co.
Related Issues (20)
- HELP: PVE: 'Percentage Variance Explained' -> 'Percentage of Variation Explained' HOT 1
- TASK: challenge fitC3co() with easy and not so easy problems
- TASK: reproduce the experiments described in the c3co manuscript
- TASK: update on 'buildSubclones' HOT 2
- NOTE on how rank deficiency in Z is handled in get.W HOT 2
- Inconsistency in get.W: when M = 2, ncol(Z) = 2 x J (and not J) HOT 2
- Centering data and normal tumor subtype modelling HOT 1
- Avoid requiring a normal in buildSubclones() ?
- BUG: When converged is FALSE in positieFusedLasso(), we should not compute any statistics
- Task: Let the possibility to include an intercept term in the model to describe normal subclones
- CLEANUP: Calculate Y=Y1+Y2, Z=Z1+Z2, ... outside of positiveFusedLasso()
- Use pneuvial/c3co.data (was pneuvial/c3co-data)
- Better handling of the case where K > J in c3co()
- get.W(..., type=2L): Re-implement ridge regularization to control amount of added jitter (currently eps=1e-08)
- New RNG version in R-devel (R 3.6.0) breaks package HOT 3
- Error in if (BIC > bestBIC) { : missing value where TRUE/FALSE needed
- fitC3co(): "Error in names(fitList) <- Ks: 'names' attribute [5] must be the same length as the vector [3]" HOT 1
- Handle when failing to converged, e.g. represent as missing values and BIC=NA
- ROBUSTNESS: Add explicit 'stringsAsFactors' arguments [data.frame]
- ROBUSTNESS: Add explicit 'stringsAsFactors' arguments [rbind] HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from c3co.