EXCAVATOR2 EMFastCall Error
Enhanced tool for detecting CNVs from whole-exome sequencing data
Status: Beta
Brought to you by:
albertomagi
Hello, and thanks for the great tool!
I am trying to run EXCAVATORDataAnalysis.pl with the pooling mode.
The program ends with the following error
Error in if (abs(LikeliNew - LikeliOld) < threshold) { :
missing value where TRUE/FALSE needed
Calls: EMFastCall
Execution halted
Error in file(file, "rt") : cannot open the connection
Calls: read.table -> file
In addition: Warning message:
In file(file, "rt") :
cannot open file '/mount/ictr1/Users/xizhil/OutEXCAVATOR22/Results_MyProject_w20000/Results/201041103@0175535335/FastCallResults_201041103@0175535335.txt': No such file or directory
Execution halted
BTW, is it possible that I can skip the error and continue to run the program?
Hi!
I'm having the exact same problem.
Running the analysis for several samples with the same kit and the same reference genome, some get the actual results while others don't.
Thanks in advance for any response.
Have a great day,
Irene
I hava the exact same problem too. Have you solved the problem?
I have been struggling with the same problem for a very long time and may have finally solved it. Please note that this is an informal solution.
Fix EXCAVATOR2/lib/R/LibraryFastCall.R.
In the EM Algorithm, modify the part below
"LikeliNew<-sum(PosteriorP(mdata,muvec,sdvec,prior)*prior)"
as follows.
Unnecessary parts are commented out.
Dear YSK,
thank you for the tip. I have tried to change the EM algorithm in the LibraryFastCall.R as below:
############# EM Algorithm
EMFastCall<-function(mdata,thru,thrd)
{
StartPar<-StartCond(mdata,thru,thrd)
muvec<-StartPar$muvec
sdvec<-StartPar$sdvec
prior<-c(0.05,0.1,0.7,0.1,0.05)
lvec<-c(-20,-1.3,-thrd,thru,0.9)
uvec<-c(-1.3,-thrd,thru,0.9,20)
LikeliNew<-sum(PosteriorP(mdata,muvec,sdvec,prior)*prior)
threshold<-1e-05
for (i in 1:1000)
{
muvecold<-muvec
LikeliOld<-LikeliNew
taux<-EStep(mdata,muvec,sdvec,prior,lvec,uvec)
MResult<-MStep(mdata,taux,muvec,sdvec)
muvec<-MResult$mu
sdvec<-MResult$sdev
prior<-MResult$prior
LikeliNew<-sum(PosteriorP(mdata,muvec,sdvec,prior)*prior)
x = abs(LikeliNew-LikeliOld)-threshold
if(is.na(x)) {
x=FALSE
}else {
if(x<0) {
break
}
}
# if (abs(LikeliNew-LikeliOld)<threshold)
# {
# break
# }
}
Results<-list()
Results$muvec<-muvec
Results$sdvec<-sdvec
Results$prior<-prior
Results$iter<-i
Results$bound<-cbind(lvec,uvec)
Results
}
But now I have another error in the nohup file:
Error in JointSegIn(DataSeq1, muk, mi, smu, sepsilon, Pos1, omega, eta, :
NA/NaN/Inf in foreign function call (arg 3)
Execution halted
Segmentation and Calling Complete
Error in file(file, "rt") : cannot open the connection
Calls: read.table -> file
In addition: Warning message:
In file(file, "rt") :
cannot open file '/home/irene/CNV_trio_urgente/trio_2546S/EXCAVATOR2_output_trio_2546S_sample_2546S/Results/2546S/HSLMResults_2546S.txt': No such file or directory
Execution halted
I was wondering if it is due to the modification I made in the file LibraryFastCall.R
Thank you in adavance,
Irene
Dear Irene,
I can't tell you about the best solution, but did you check this post?
https://sourceforge.net/p/excavator2tool/tickets/1/
Please try to correct your bed file and rerun! :)