mskilab-org / jabba Goto Github PK
View Code? Open in Web Editor NEWMIP based joint inference of copy number and rearrangement state in cancer whole genome sequence data.
License: MIT License
MIP based joint inference of copy number and rearrangement state in cancer whole genome sequence data.
License: MIT License
hi, I tried install with Gurobi but failed. I tested gurobi and it could work in my R.
Either by devtools::install() or by install.packages('...v1.1.tar.gz', ...) does not work.
Both gave:
...
could you have a look on this? thank you.
Hi,
This R pacakge ran well until I met this problem
##Calls: suppressPackageStartupMessages ... [.data.table -> .waviness -> predict -> smooth.spline
##In addition: There were 38 warnings (use warnings() to see them)
##Execution halted
The junction vcf I used was from the overlap by manta and gridss, and there were 529 junctions detected by it. coverage I used were from gridss-purple as someone mentioned #37.
--ploidy=3.45 --purity=0.34 was also form purple
So how can I solve it?should I set some argument?
Thanks for you time!
Hi,
I added export CPLEX_DIR=/path/to/your/copy/of/CPLEX_Studio/
to .bashrc. I was trying to install the package in R but I'm getting following errors while I'm installing the package:
CPLEX_DIR environment variable, found (CPLEX_DIR=/fh/fast/ha_g/user/mko/CPLEX/cplex), will install CPLEX functionality
In file included from Rcplex2.c:2:0:
Rcplex2.h:4:10: fatal error: ilcplex/cplex.h: No such file or directory
#include <ilcplex/cplex.h>
^~~~~~~~~~~~~~~~~
compilation terminated.
/app/software/R/3.6.1-foss-2018b/lib/R/etc/Makeconf:167: recipe for target 'Rcplex2.o' failed
I confirmed that I can find ./include/ilcplex/cplex.h
but I wonder where Rcplex2 is located.
Do you have any suggestions for this error?!
Thanks!
Hi there, congrats on a wonderful piece of work- I can see there's a lot of work being put into this. Amazing stuff.
I've had issues installing the JaBbA package. CPLEX installation seems OK however for the actual package, it always seems to throw error on dependencies.
I've tried using a fresh R installation, a fresh conda installation etc.
And i've tried Sys.setenv(R_REMOTES_NO_ERRORS_FROM_WARNINGS = TRUE)
also
Still not managed to install to completion (same applies for fragCounter).
I wonder if somebody can hold my hand and help me install it. I'm running linux on a computer cluster. I've previously installed fishHook on my macbook and that works OK. I'm aware you're currently doing a workflow best practice so would be good to troubleshoot that.
Many thanks in advance! And once again congrats!
A
Describe the bug
It seems I have successfully installed JaBbA, but I am having trouble running the test example. In particular, when I run the code, I am getting an error back from CPLEX. The R error is:
Starting optimization with CPLEX!
Error in names(x) <- c("xopt", "obj", "status", "extra", "epgap") :
'names' attribute [5] must be the same length as the vector [1]
This occurs because CPLEX is returning a CPXERR_BOUNDS_INFEAS error (CODE 1100) instead of a solution.
Here is the full output of JaBbA:
JaBbA 2023-06-26 16:43:05: Located junction file ****/R/x86_64-pc-linux-gnu-library/4.1/JaBbA/extdata//junctions.vcf
JaBbA 2023-06-26 16:43:05: Located coverage file ****/R/x86_64-pc-linux-gnu-library/4.1/JaBbA/extdata//coverage.txt
JaBbA 2023-06-26 16:43:05: Loading packages ...
JaBbA 2023-06-26 16:43:05: Starting analysis in /home/***/jabba_test
JaBbA 2023-06-26 16:43:07: Read in 83 total input junctions
JaBbA 2023-06-26 16:43:07: In the input, There are 0 tier 1 junctions; 83 tier 2 junctions; 0 tier 3 junctions.
JaBbA 2023-06-26 16:43:07: Read in 1,805 1000bp bins of coverage data across 1 chromosomes
JaBbA 2023-06-26 16:43:07: Using previous segmentation found in jabba directory
JaBbA 2023-06-26 16:43:07: Loaded 83 junctions from the input.
JaBbA 2023-06-26 16:43:08: Found tier field enforcing >=1 CN at 0 junctions
JaBbA 2023-06-26 16:43:08: Removing 0 tier 3 junctions
JaBbA 2023-06-26 16:43:08: 69 INDEL-like isolated events
JaBbA 2023-06-26 16:43:08: 69 INDEL-like isolated junctions mandatorily EXCLUDED in the final model
JaBbA 2023-06-26 16:43:09: Conform the reference sequence length of: seg, coverage, and ra, to be:
12:100746000
16:90354753
19:59128983
JaBbA 2023-06-26 16:43:09: Number of gaps with nonzero width: 6
JaBbA 2023-06-26 16:43:09: Number of segments before gap filtering: 19
JaBbA 2023-06-26 16:43:10: 13 segments produced after gap filtering
JaBbA 2023-06-26 16:43:12: Brand new function for reciprocal junctions calling.
.
JaBbA 2023-06-26 16:43:13: Excluding 14 aberrant junctions whose both breakpoints are in NA coverage regions
JaBbA 2023-06-26 16:43:13: Cancel nudge for 0 aberrant junctions where one of the 2 breakpoint is in NA coverage regions
JaBbA 2023-06-26 16:43:13: In sum, we are forcing 0 junctions, excluding 14 junctions, and nudging 0 junctions
JaBbA 2023-06-26 16:43:13: number of specified max.threads: 12
JaBbA 2023-06-26 16:43:13: number of specified max.threads after processing: 12
JaBbA 2023-06-26 16:43:13: param.file contents:
CPLEX Parameter File Version 12.10.0.0
CPXPARAM_Threads 12
CPXPARAM_MIP_Limits_TreeMemory 16384
CPXPARAM_WorkMem 9830
JaBbA 2023-06-26 16:43:14: Creating ILOG CPLEX PARAMETER FILE in /home/***/jabba_test/jabba.raw.rds.prm
JaBbA 2023-06-26 16:43:14: Excluding aberrant junctions: 1,2,3,4,5,6,7,8,9,10,11,12,13,14
JaBbA 2023-06-26 16:43:14: Using existing mipstart in the current directory
JaBbA 2023-06-26 16:43:14: Applying mipstarts from previous jabba solution
reading karyograph from file
Marking nodes with cn contained in column: cnmle
Computing node weights using variance contained in column: loess.var
Rewards not supplied on edges!
Starting LP balance on gGraph with...
Number of nodes: 41
Number of edges: 52
detected no tier 1 junctions
No duplicate Tier 1 junctions detected
Grabbing available memory...
Currently used: 669.7 Mb
Allowed: 16000 Mb
Treemem: 14330.3 Mb
creating copy of input gGraph
Checking inputs
adding l0 penalty indicator
adding delta constraints for LP
Unique cids (A): 979
Unique cids (b): 979
Number of variables: 1072
bvec length: 979
Amat nrow: 979
Starting optimization with CPLEX!
Error in names(x) <- c("xopt", "obj", "status", "extra", "epgap") :
'names' attribute [5] must be the same length as the vector [1]
Could someone who is able to successfully run the test case let me know what the expected output is? It would help with understanding what is going wrong.
To Reproduce
I am following the instructions to run the test case.
Desktop (please complete the following information):
Here is my R sessionInfo for when the error occurs:
R version 4.1.0 (2021-05-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.3.so
locale:
[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8
[5] LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8
[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats4 stats graphics grDevices utils datasets
[8] methods base
other attached packages:
[1] JaBbA_0.0.0.9000 gGnome_0.1 reshape2_1.4.4
[4] Matrix_1.3-4 igraph_1.5.0 gTrack_0.1.0
[7] gUtils_0.2.0 data.table_1.14.8 GenomicRanges_1.44.0
[10] GenomeInfoDb_1.28.4 IRanges_2.26.0 S4Vectors_0.30.2
[13] BiocGenerics_0.38.0 optparse_1.7.3
loaded via a namespace (and not attached):
[1] bitops_1.0-7 matrixStats_1.0.0
[3] bit64_4.0.5 filelock_1.0.2
[5] progress_1.2.2 httr_1.4.2
[7] tools_4.1.0 utf8_1.2.1
[9] R6_2.5.0 KernSmooth_2.23-20
[11] DBI_1.1.3 lazyeval_0.2.2
[13] colorspace_2.1-0 DNAcopy_1.66.0
[15] tidyselect_1.2.0 prettyunits_1.1.1
[17] bit_4.0.5 curl_4.3.2
[19] compiler_4.1.0 iotools_0.3-2
[21] cli_3.6.1 Biobase_2.52.0
[23] xml2_1.3.2 DelayedArray_0.18.0
[25] plotly_4.10.2 rtracklayer_1.52.1
[27] caTools_1.18.2 scales_1.2.1
[29] readr_2.1.4 pbapply_1.7-0
[31] rappdirs_0.3.3 stringr_1.5.0
[33] digest_0.6.27 Rsamtools_2.8.0
[35] XVector_0.32.0 pkgconfig_2.0.3
[37] htmltools_0.5.5 MatrixGenerics_1.4.3
[39] BSgenome_1.60.0 dbplyr_2.3.2
[41] fastmap_1.1.0 htmlwidgets_1.6.2
[43] rlang_1.1.1 rstudioapi_0.13
[45] RSQLite_2.3.1 sequenza_3.0.0
[47] BiocIO_1.2.0 generics_0.1.3
[49] zoo_1.8-12 jsonlite_1.7.2
[51] gtools_3.9.4 BiocParallel_1.26.2
[53] dplyr_1.1.2 VariantAnnotation_1.38.0
[55] RCurl_1.98-1.12 magrittr_2.0.1
[57] GenomeInfoDbData_1.2.6 fishHook_0.1
[59] Rcpp_1.0.6 munsell_0.5.0
[61] fansi_0.5.0 lifecycle_1.0.3
[63] stringi_1.6.2 yaml_2.2.1
[65] SummarizedExperiment_1.22.0 zlibbioc_1.38.0
[67] gplots_3.1.3 plyr_1.8.8
[69] BiocFileCache_2.0.0 grid_4.1.0
[71] blob_1.2.4 crayon_1.4.1
[73] lattice_0.20-44 Biostrings_2.60.2
[75] GenomicFeatures_1.44.2 hms_1.1.3
[77] KEGGREST_1.32.0 seqminer_8.9
[79] pillar_1.9.0 rjson_0.2.21
[81] biomaRt_2.48.3 XML_3.99-0.14
[83] glue_1.6.2 squash_1.0.9
[85] copynumber_1.32.0 tzdb_0.4.0
[87] vctrs_0.6.3 png_0.1-8
[89] gtable_0.3.3 getopt_1.20.3
[91] purrr_1.0.1 tidyr_1.3.0
[93] cachem_1.0.5 ggplot2_3.4.2
[95] restfulr_0.0.15 viridisLite_0.4.2
[97] tibble_3.2.1 GenomicAlignments_1.28.0
[99] AnnotationDbi_1.54.1 memoise_2.0.1
Dear KaBbA authors:
I tried install the package under module load R/4.2.1 by the command:
devtools::install_github('mskilab/JaBbA')
Hit the similar message of
...
The downloaded source packages are in
‘/tmp/Rtmp9JUgRy/downloaded_packages’
Error: Failed to install 'unknown package' from GitHub:
Failed to install 'unknown package' from GitHub:
Failed to install 'gChain' from GitHub:
HTTP error 403.
API rate limit exceeded for 143.111.84.242. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
Rate limit remaining: 0/60
Rate limit reset at: 2023-06-19 23:04:12 UTC
To increase your GitHub API rate limit
usethis::create_github_token()
to create a Personal Access Token.usethis::edit_r_environ()
and add the token as GITHUB_PAT
.I don't have a project with github.
May you please advise?
Regards,
Rong
Hi,
It looks like supplying an --nseg file while using sequenza purity/ploidy estimation causes an error:
JaBbA 2020-07-15 14:38:53: loaded hets
JaBbA 2020-07-15 14:39:02: Definining coverage good quality nodes as 10% bases covered by non-NA and non-Inf values in +/-100KB region
JaBbA 2020-07-15 14:39:02: Hard setting 139.765953 Mb of the genome to NA that didn't pass our quality threshold
JaBbA 2020-07-15 14:39:02: Using loess to fit mean to variance relationship in segments with greater than 5 bins
JaBbA 2020-07-15 14:39:03: Using Sequenza to estimate purity ploidy
Error in 1:nrow(segments) : argument of length 0
Calls: suppressPackageStartupMessages ... JaBbA -> jabba_stub -> karyograph_stub ->
In addition: There were 25 warnings (use warnings() to see them)
Jabba runs to completion when omitting the --nseg argument, or when keeping nseg but using an alternative method for purity/ploidy. I suspect the error might have something to do with this code block assuming that the seqname for the X chromosome is 'X' and not 'chrX':
if (exists("nseg") && !is.null(nseg)){
## only running w/ diploid autosomes
## to avoid situations like HCC1143BL
good.chr = union(seqnames(nseg %Q% (cn==2)), "X")
sites = sites[which(chromosome %in% good.chr)]
} else {
## only running w/ chr1-22 and X
sites = sites[which(chromosome %in% seqlevels(ss.tmp))]
}
seg.s1 = sequenza::segment.breaks(sites, breaks = sqz.seg, weighted.mean = FALSE)
Have you forgotten to check in the correct/updated version of the jba executable?
As a test of the install, I installed JaBbA into a new module that I've called "JaBbA_simplified", but it doesn't work with the test data that you provide. Here's the output from that test:
waltman@waltman-workstation:~$ cd modules/JaBbA_simplified/
waltman@waltman-workstation:~/modules/JaBbA_simplified$ ls
hydrant.deploy hydrant.deploy~ JaBbA run.sh run.sh~
waltman@waltman-workstation:~/modules/JaBbA_simplified$ ls JaBbA/
configure configure.ac DESCRIPTION inst JaBbA.pdf jba NAMESPACE R README.md rtdocs srcs tests
waltman@waltman-workstation:~/modules/JaBbA_simplified$ JaBbA/jba JaBbA/inst/extdata/junctions.vcf JaBbA/inst/extdata/coverage.txt
_____ ___ _ _____
(___ ) ( _`\ ( ) ( _ )
| | _ _ | (_) )| |_ | (_) |
_ | | /'_` )| _ <'| '_`\ | _ |
( )_| |( (_| || (_) )| |_) )| | | |
`\___/'`\__,_)(____/'(_,__/'(_) (_)
(Junction Balance Analysis)
JaBbA 2019-01-20 11:08:41: Located junction file JaBbA/inst/extdata/junctions.vcf
JaBbA 2019-01-20 11:08:41: Located coverage file JaBbA/inst/extdata/coverage.txt
JaBbA 2019-01-20 11:08:41: Loading packages ...
JaBbA 2019-01-20 11:08:42: Starting analysis in /ifs/scratch/c2b2/ac_lab/pw2470/devel/mskilab/flows/modules/JaBbA_simplified
JaBbA 2019-01-20 11:08:42: Read in 0 total junctions
JaBbA 2019-01-20 11:08:42: Empty junction input. Will do just one round of optimization.
Error in dt2gr(coverage) :
Error: Input needs to be data.table or data.frame
Calls: suppressPackageStartupMessages ... withCallingHandlers -> JaBbA -> jabba_stub -> dt2gr
In addition: There were 16 warnings (use warnings() to see them)
Execution halted
Where is this Bioconductor package even used? Or is it a dependency of DNAcopy? If so add it to the import list so we install it before installing DNAcopy.
Hi,
Could you give me more details on what's the definition of coverage as JaBba input ?
I have coverage for both tumor and normal. However, when I checked example coverage.txt (from extdata/coverage.txt) , it has column "ratio". I wasn't familiar how this coverage was calculated.
I assume coverage, segments and junctions are all based on tumor. (except HET-- this requires both tumor and normal to calculate alt.count & ref.count
Thanks!
Probably just missing bamUtils in your remotes
the following change resolves the problem. Not sure why it's happening. Perhaps because I'm running the JaBbA function in "debug" mode, i.e. I'm manually calling it within an R shell, and waiting till it crashes. Either way, the explicit call to the Matrix class' version of which will ensure that the correct version is used.
es = data.table( Matrix::which( adj!=0, arr.ind=T))
lines 5420, 5421 and 5660 all call info() without prefix'ing it with VariantAnnotation::info, which will cause the function to crash.
The following igraph functions are all deprecated/undocumented.
Lines 91 to 94 in b4d4b01
They should be components
, make_graph
, graph_from_adjacency_matrix
and induced_subgraph
, respectively
Related to #85
Switched to R 4.1 but now I get the error:
HLA-DRB1*15:03:01:01:11567
HLA-DRB1*15:03:01:02:11569
HLA-DRB1*16:02:01:11005
JaBbA 2023-02-17 23:01:58: Number of gaps with nonzero width: 6732
JaBbA 2023-02-17 23:01:58: Number of segments before gap filtering: 12719
JaBbA 2023-02-17 23:01:58: 5987 segments produced after gap filtering
JaBbA 2023-02-17 23:02:14: Brand new function for reciprocal junctions calling.
..................................................................................Error in replCmat4(x, i1 = if (iMi) 0:(di[1] - 1L) else .ind.prep2(i, :
number of items to replace is not a multiple of replacement length
Calls: suppressPackageStartupMessages ... callGeneric -> eval -> eval -> [<- -> [<- -> replCmat4
In addition: There were 12 warnings (use warnings() to see them)
Execution halted
Any advise on this?
Thanks
K
Hi,
I built a docker container to run JaBbA that I think might simplify the installation process for others. I was wondering if it could be added as an installation method?
The container and usage instructions can be found here.
This is the corresponding dockerfile:
FROM ubuntu:latest
# Add fragCounter/JaBbA executables to PATH
ENV PATH="/root/miniconda3/envs/jabba/lib/R/library/fragCounter/extdata/:/root/miniconda3/envs/jabba/lib/R/library/JaBbA/extdata/:/root/miniconda3/bin:${PATH}"
ENV CPLEX_DIR=/opt/cplex_studio/
# Copy install script and local installation of cplex studio (Linux x86-64)
COPY install_jabba.R /tmp/install_jabba.R
COPY cplex /opt/cplex_studio/
# Run all commands with bash rather than sh
SHELL ["/bin/bash", "-c"]
# Add useful linux utilities
RUN apt-get update \
&& apt-get install -y build-essential \
wget \
tree \
less \
man \
vim \
htop \
samtools \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install miniconda
RUN wget \
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
&& bash Miniconda3-latest-Linux-x86_64.sh -b \
&& rm -f Miniconda3-latest-Linux-x86_64.sh
# Install additional packages with conda
RUN conda update -n base -c defaults conda \
&& conda config --add channels bioconda \
&& conda config --add channels conda-forge \
&& conda create -n jabba r-essentials r-base r-devtools r-testthat r-devtools r-xml git \
&& conda install -n jabba -c bioconda bioconductor-genomicranges=1.46.1 bioconductor-iranges=2.28.0
# Run install script and remove cplex from image
# The R script installs JaBbA and fragCounter
RUN conda run -n jabba Rscript /tmp/install_jabba.R \
&& rm -rf /opt/cplex_studio \
&& rm -rf /tmp/install_jabba.R \
&& conda init bash
The install_jabba.R
script contains the following lines:
devtools::install_github("mskilab/bamUtils", upgrade = FALSE)
devtools::install_github('mskilab/JaBbA', upgrade = FALSE)
devtools::install_github('mskilab/fragCounter', upgrade = FALSE)
The image was built with this command (the --squash
makes sure the CPLEX installation is removed):
docker build -t graskind1/jabba:v2.1 --progress=plain --squash .
Running on the toy dataset is successful, but does generate the following warnings:
Warning messages:
1: multiple methods tables found for 'seqinfo<-'
2: In karyograph_stub(seg, coverage, ra = ra, out.file = kag.file, :
No normal copy number values supplied so defaulting to 2 for all segments.
3: In gr.findoverlaps(utarget, signal) :
findOverlaps applied to ranges with non-identical seqlengths
4: In `[.data.table`(junc.dt, , `:=`(from = NULL, to = NULL)) :
Column 'from' does not exist to remove
5: In `[.data.table`(junc.dt, , `:=`(from = NULL, to = NULL)) :
Column 'to' does not exist to remove
6: In balance(kag.gg, debug = TRUE, lambda = lambda, L0 = L0, verbose = verbose, :
cn not defined on edges, providing NA
7: multiple methods tables found for 'ranges'
I think these are expected, but please let me know if that's not the case. My labmate was also able to run JaBbA using this container on an independent dataset.
Thanks for your time!
Best,
Greg
Describe the bug
It seems like Sequenza has been removed from CRAN earlier this year, and its a dependency of this package. Therefore, normal package installation fails.
To Reproduce
Try to install the package in a new environment without any dependencies available.
Suggestions to resolve: Either change to depend on the bitbucket hosted version of Sequenza, provide instructions on how to install from CRAN archive (or work around the dependency).
Hi,
It looks like a couple files are being written to the working directory that Jabba is run from, and not the output directory specified by --outdir
:
raw.prm
raw.sols.rds
Thanks,
Will
This would allow the gGnome:jab2gg
converter to annotate gGraph nodes with ncn
field, which I think would be really useful.
Hi there,
I was wondering if there are expected outputs from the toy example $ jba ${JABBA_PATH}/junctions.vcf ${JABBA_PATH}/coverage.txt
(maybe I just can't find them!), or if they could be included, so that we can verify our installation andthat our output matches once we run it ourselves.
Thanks,
William
I suspect that this is a problem on the side of DNAcopy, and it's an issue I ran into when I was working on getting the fragCounter module going; but for whatever reason, DNAcopy::segment (called on line 690 in JaBbA.R) is returning segments where the $out$loc.end value is les than $out$loc.start. This, in turn, causes an error when seq2gr is called on line 696.
I don't understand why it is doing this as none of the ranges in my coverage object have negative lengths. It's just something that DNAcopy::CNA or DNAcopy::segment is doing. The quick workaround is something like this:
if ( any ( seg$out$loc.end < seg$out$loc.start ) ) {
whch <- which( seg$out$loc.end < seg$out$loc.start )
whchBak <- seg$out$loc.start[ whch ]
seg$out$loc.start[whch] <- seg$out$loc.end[ whch ]
seg$out$loc.end[ whch ] <- whchBak
}
Not sure if I should put this here or in the flows repo, but fragCounter automatically strips out 'chr' from the chromosome names of the regions in the final cov.rds file that it produces. This causes issues if one aligns their samples to Broad's hg38 genome, which does include the 'chr' in the names - as the vcf's produced by any breakpoint caller will use those chr-prefixed chromosomes.
As a result, JaBbA strips out all of the breakpoints because it 'thinks' that they fall in regions with NA coverage. If you're going to standardize on using the non-'chr'-prefixed chromosome names, maybe JaBbA should automatically make that adjustment to the the breakpoints it reads in (?). Since it looks like the Broad has no standardized on using hg38 for all of their tools in GATK v.4.x, this will increasingly be an issue.
Would love to get some help on how to debug this error--finally got it installed and am trying to test it out on the test data with the command:
jba ${JABBA_PATH}/junctions.vcf ${JABBA_PATH}/coverage.txt
But am running into this error:
Have you seen this before / do you have any thoughts on how to work around it?
Hi, I am trying to run fragCount as follows:
frag -b SP_1_N/SP_1_N.finalSorted.bam -w 1000 -d /srv/ngs/analysis/dalteriog/reference_genomes/hs/mapFiles -o SvABA_dir
where /srv/ngs/analysis/dalteriog/reference_genomes/hs/mapFiles
is the directory where I put both gc1000.rds
and map1000
files.
It seems to proceed regularly at the beginning, but the trouble starts when it runs R script. Here is the standard error starting from the R part:
Finished computing coverage, and making GRanges
Finished acquiring coverage
Loaded GC and mappability
length cov is 3095706, length gc is 3074148, length map is 3074148
Synced coverage, GC, and mappability
Modified gc / mappability correction
Converting to data.table
Grouping intervals
Defining 100 fold collapsed ranges
Presegmenting at NA bp scale
Error in[.data.table
(cov.dt, , list(chr = seqnames[1], start = min(start), :
'by' appears to evaluate to column names but isn't c() or key(). Use by=list(...) if you can. Otherwise, by=eval(get(paste("lev", numlevs, sep = ""))) should work. This is for efficiency so data.table can detect which columns are needed.
Calls: fragCounter -> multicoco -> seg2gr -> is -> [ -> [.data.table
In addition: Warning messages:
1: replacing previous import 'GenomicRanges::shift' by 'data.table::shift' when loading 'bamUtils'
2: replacing previous import 'GenomicAlignments::second' by 'data.table::second' when loading 'bamUtils'
3: replacing previous import 'GenomicAlignments::last' by 'data.table::last' when loading 'bamUtils'
4: replacing previous import 'GenomicAlignments::first' by 'data.table::first' when loading 'bamUtils'
5: In for (i in seq_len(n)) { :
closing unused connection 3 (SP_1_N/SP_1_N.finalSorted.bam)
6: In max(width(cov)) : no non-missing arguments to max; returning -Inf
7: In cat("Presegmenting at ", as.integer(WID * base^(numlevs)), " bp scale \n") :
NAs introduced by coercion to integer range
Execution halted
in my output directory (SvABA_dir
) it gives me these outputs:
ls SvABA_dir
cmd.args cmd.args.rds
and i tried to check if there was something wrong in the cmd.args file. Here comes the output:
cat SvABA_dir/cmd.args
--bam SP_1_N/SP_1_N.finalSorted.bam --midpoint TRUE --window 1000 --gcmapdir /srv/ngs/analysis/dalteriog/reference_genomes/hs/mapFiles --minmapq 1 --paired TRUE --exome FALSE --use.skel FALSE --outdir SvABA_dir --libdir /isva --help FALSE
Thank you so much for your help!
Giuseppe
Hi,
I downloaded free edition version for CPLEX Studio.
However, I ran into an issues while I was running JaBbA.
CPLEX environment opened Rcplex: num variables=3295154 num constraints=3532753 CPLEX Error 1016: Community Edition. Problem size limits exceeded. Purchase at https://ibm.co/2s0wqSa. Error in Rcplex2(cvec = cvec, Amat = Amat, bvec = consmeta$b, sense = consmeta$sense, : Failed to optimize problem.
I noticed that free edition is limited to 1000 variable and 1000 constraints. We've applied to IBM academic version but they rejected our application. Is there any way to run this package at this point?
Thanks!
Hi @mskilab,
I've been pretty excited to get this tool in place for some while. After some issues with trying to get ahold of IBM to register for an academic license, I went with Gurobi as suggested. The process was fairly simple with a little adjustment to some misdirected dynamic library paths to get JaBbA to load the Gurobi library properly.
However, after a few test runs, I've narrowed in on some roadblocks in completing the run with Gurobi.
It seems the error stems from expectations of using CPLEX at a few key points.
Below is a snippet of the error, I attached the log file with the complete output for reference:
JaBbA 2023-02-03 16:45:57: Number of gaps with nonzero width: 17908
JaBbA 2023-02-03 16:45:57: Number of segments before gap filtering: 25766
JaBbA 2023-02-03 16:45:58: 11200 segments produced after gap filtering
JaBbA 2023-02-03 16:45:58: creating karyograph
JaBbA 2023-02-03 16:46:27: loaded hets
JaBbA 2023-02-03 16:47:11: Definining coverage good quality nodes as >=50% bases covered by non-NA and non-Inf values in +/-100KB region
JaBbA 2023-02-03 16:47:11: Hard setting 0 Mb of the genome to NA that didn't pass our quality threshold
JaBbA 2023-02-03 16:47:11: Using loess to fit mean to variance relationship in segments with greater than 1 bins
JaBbA 2023-02-03 16:47:12: Using Sequenza to estimate purity ploidy
JaBbA 2023-02-03 16:47:17: Starting BAF model fit
JaBbA 2023-02-03 17:04:50: Built gGraph with 22712 nodes, 16136 edges, purity 0.97, and ploidy 4.4
JaBbA 2023-02-03 17:05:18: Brand new function for reciprocal junctions calling.
.
JaBbA 2023-02-03 17:05:18: Excluding 0 aberrant junctions whose both breakpoints are in NA coverage regions
JaBbA 2023-02-03 17:05:18: Cancel nudge for 4 aberrant junctions where one of the 2 breakpoint is in NA coverage regions
JaBbA 2023-02-03 17:05:18: In sum, we are forcing 0 junctions, excluding 0 junctions, and nudging 5 junctions
JaBbA 2023-02-03 17:05:18: number of specified max.threads: 12
JaBbA 2023-02-03 17:05:18: number of specified max.threads after processing: 12
sh: /Applications/CPLEX_Studio_Community2211//cplex/bin/arm64_osx/cplex: Bad CPU type in executable
Error in if (vnums[1] <= 12 && vnums[2] <= 6) { :
missing value where TRUE/FALSE needed
Calls: suppressPackageStartupMessages ... JaBbA -> jabba_stub -> ramip_stub -> .cplex_customparams
In addition: There were 24 warnings (use warnings() to see them)
Execution halted
As you can see, JaBbA makes a call/reference to my installation of CPLEX despite my selection of using Gurobi. Looking into this a bit deeper, I can see it's related to the function .cplex_customparams()
. Within in this function, there is a parameter --customparams
which evokes the following conditional:
if (customparams)
{
if (verbose) jmessage("number of specified max.threads: ", max.threads)
MAX.THREADS = Sys.getenv("LSB_DJOB_NUMPROC")
if (nchar(MAX.THREADS) == 0)
MAX.THREADS = Inf
else
MAX.THREADS = as.numeric(MAX.THREADS)
max.threads = min(max.threads, MAX.THREADS)
if (is.infinite(max.threads))
max.threads = 0
if (verbose) jmessage("number of specified max.threads after processing: ", max.threads)
param.file = paste(out.file, '.prm', sep = '')
.cplex_customparams(param.file, max.threads, treememlim = mem * 1024,
workingmemlim = floor((mem * 0.6) * 1024))
if (verbose) {
jmessage("param.file contents: ")
system2('cat', normalizePath(param.file))
}
Sys.setenv(ILOG_CPLEX_PARAMETER_FILE = normalizePath(param.file))
if (verbose)
{
jmessage('Creating ILOG CPLEX PARAMETER FILE in ', Sys.getenv('ILOG_CPLEX_PARAMETER_FILE'))
}
}
Now, there is no issue with that conditional. The problem is this parameter customparams
is always set to TRUE
when propagated from the parent function ramip_stub()
at lines 1261-1288:
ramip_stub(kag.file,
jabba.raw.rds.file,
mc.cores = mc.cores,
max.threads = max.threads,
mem = max.mem,
tilim = tilim,
edge.nudge = edgenudge,
use.gurobi = use.gurobi,
ab.force = ab.force,
ab.exclude = ab.exclude, ## we now exclude things during karyograph_stub
## ab.exclude = integer(0),
init = init,
verbose = verbose,
purity.min = purity,
mipstart = mipstart,
epgap = epgap,
purity.max = purity,
ploidy.min = ploidy,
ploidy.max = ploidy,
slack.prior = 1/slack.penalty,
loose.penalty.mode = loose.penalty.mode,
dyn.tuning = dyn.tuning,
lp = lp,
ism = ism,
tfield = tfield,
fix.thres = fix.thres,
min.bins = min.bins,
customparams = T)
I think this could be easily adjusted given that it seems the function of the customparams
parameter is directly related to CPLEX users. Therefore, you could perhaps set customparams = !use.gurobi
.
Also, maybe it is feasible to create an alternative process for similar resource settings with Gurobi.
Let me know if I can provide more info to help troubleshoot. I may cut a branch and test this in the meantime.
Best,
Patrick
jabba.log
The option --hets=HETS seems required since my Jabba runs always failed with the following message:
Checking for hets
Error in gzfile(file, "rb") : cannot open the connection
Calls: suppressPackageStartupMessages ... tryCatchList -> tryCatchOne -> -> readRDS -> gzfile
The file format in provided hets.txt is:
seqnames,start,end,width,strand,alt,ref
16,85065,85065,1,,85,11
16,85658,85658,1,,82,11
But according to the document, it should be:
tab delimited hets file output of pileup with fields seqnames, start, end, alt.count.t, ref.count.t, alt.count.n, ref.count.n
Could you please clarify how to prepare this hets file? Thanks.
Hi, I'm running JaBbA using as input the coverage file from fragCounter
, the junctions bedpe from Delly
, the segments rds file from CNVkit
and purity and ploidy from Sequenza
. Both the bedpe and segfile have the chromosomes in UCSC format, with the "chr" prefix. As you know, fragCounter
removes the "chr" but when I run JaBbA with the coverage file with or without the "chr", I always get the output with the chromosome annotated with both "chr" and without.
These are my input files:
## Coverage file, fragCounter default:
cov <- rtracklayer::import("cov.corrected.bw")
seqlevels(cov)
"1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16"
"17" "18" "19" "20" "21" "22" "X" "Y"
## Segments
seg <- readRDS("sample.segs.rds")
seqlevels(seg)
"chr1" "chr2" "chr3" "chr4" "chr5" "chr6" "chr7" "chr8" "chr9" "chr10"
"chr11" "chr12" "chr13" "chr14" "chr15" "chr16" "chr17" "chr18" "chr19" "chr20"
"chr21" "chr22" "chrX" "chrY"
## Junctions
jun <- fread("sample.bedpe", data.table = F)
unique(jun$V1)
"chr1" "chr2" "chr3" "chr4" "chr6" "chr7" "chr8" "chr9" "chr10" "chr11"
"chr12" "chr13" "chr15" "chr16" "chr17"
When I import JaBbA's output in gGnome I get:
gg.jabba = gG(jabba = "sample/jabba.simple.gg.rds")
seqlevels(gg.jabba)
"1" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "2" "20" "21" "22" "3" "4"
"5" "6" "7" "8" "9" "X" "Y" "chr1" "chr10" "chr11" "chr12" "chr13" "chr14"
"chr15" "chr16" "chr17" "chr18" "chr19" "chr2" "chr20" "chr21" "chr22" "chr3"
"chr4" "chr5" "chr6" "chr7" "chr8" "chr9" "chrX" "chrY"
And this is the plot for chromosome 7, with the warning about chr notation:
plot(gg.jabba$gt, y = '7')
Warning messages:
1: In gUtils::gr.sub(tmp.dat, "chr", "") :
Warning: gr.sub had to convert GRanges to data.table before replacing seqlevels: check input seqlevels e.g. for mixed chr and non-chr seqlevels
2: In matrix(paste("c", rep(1:ncol(B), each = 2), c(".x", ".y"), sep = ""), :
data length differs from size of matrix: [12 != 2 x 4]
When I add the "chr" to the coverage file:
cov <- rtracklayer::import("cov.corrected.bw")
seqlevelsStyle(cov) <- "UCSC"
seqlevels(cov)
"chr1" "chr2" "chr3" "chr4" "chr5" "chr6" "chr7" "chr8" "chr9" "chr10" "chr11"
"chr12" "chr13" "chr14" "chr15" "chr16" "chr17" "chr18" "chr19" "chr20" "chr21"
"chr22" "chrX" "chrY"
run JaBbA and import the output in gGnome, I still get the same result:
gg.jabba = gG(jabba = "sample_chr/jabba.simple.gg.rds")
seqlevels(gg.jabba)
"1" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "2" "20" "21" "22" "3" "4"
"5" "6" "7" "8" "9" "X" "Y" "chr1" "chr10" "chr11" "chr12" "chr13" "chr14"
"chr15" "chr16" "chr17" "chr18" "chr19" "chr2" "chr20" "chr21" "chr22" "chr3"
"chr4" "chr5" "chr6" "chr7" "chr8" "chr9" "chrX" "chrY"
The plot now looks like that (and obviously I get exactly the same warning as before):
Am I doing something wrong? Thank you in advance!
Hi there,
I've had some technical issues using fragCounter, and hence DryClean.
I want to use purity/ploidy adjusted, gc-corrected copy number calls by GRIDSS-PURPLE-LINX as I think this should be similar, and I already have this run.
Looking at your coverage.txt file, what is your definition of "ratio" ie last column. I presume it's just ?log2(absolute tumour copy number/absolute normal copy number ?)
I appreciate your help!
A
Hello, I am trying to install JaBbA with Gurobi in R 4.3.1 (under Rstudio 2023.09), on a MacOS 13.6 (64-bit). I successfully installed Gurobi and ran an example in R. When I try to install JaBbA using devtools::install_github('mskilab/JaBbA')
, I get the following error:
Warning: multiple methods tables found for ‘%&%’
JaBbA 2023-10-06 12:15:20.954732: ${CPLEX_DIR}/cplex not found
Error: package or namespace load failed for ‘JaBbA’:
.onLoad failed in loadNamespace() for 'JaBbA', details:
call: fun(libname, pkgname)
error: object 'testOptimizationFunction' not found
Error: loading failed
Execution halted
ERROR: loading failed
Your advice will be very appreciated. Thank you!
Dear JaBbA authors:
I followed https://github.com/mskilab-org/JaBbA/tree/master to install JaBbA on R/4.1.0 on RHEL 7 server.
Section Installation from GitHub, I have trouble to understand step 4
4. For convenience, add jba executable to your PATH
the instruction is :
$ JABBA_PATH=$(Rscript -e 'cat(paste0(installed.packages()["JaBbA", "LibPath"], "/JaBbA/extdata/"))')
$ export PATH=${PATH}:${JABBA_PATH}
$ jba ## to see usage
The following is my installation:
1, check out JaBbA under $HOME https://github.com/mskilab-org/JaBbA.git
-- this creates JaBbA directory under $HOME (below /rsrch3/home/itops/ryao/), with the following contents:
codecov.yml configure configure.ac DESCRIPTION inst jba LICENSE NAMESPACE old.travis.yml R README.md R-pkgs rtdocs srcs tests
2, Installed all R package by devtools::install_github('mskilab/JaBbA') under $HOME/JaBbA/R-pkgs
-- this step is not straightforward. including many troubleshooting remove and reinstall packages.
3, there are 146 packages installed under $HOME/JaBbA/R-pkgs, including JaBbA, it has the following contents:
CITATION cmd.args cmd.args.rds DESCRIPTION extdata help html libs LICENSE Meta NAMESPACE R
4, I try a test run jba executable on provided toy data:
/rsrch3/home/itops/ryao/JaBbA/jba /rsrch3/home/itops/ryao/JaBbA/R-pkgs/JaBbA/extdata/junctions.vcf /rsrch3/home/itops/ryao/JaBbA/R-pkgs/JaBbA/extdata/coverage.txt
Did not find hets file setting to NULL
Did not find nseg file setting to NULL
(___ ) ( \ ( ) ( _ ) | | _ _ | (_) )| |_ | (_) | _ | | /'_
)| _ <'| '\ | _ | ( )_| |( (_| || (_) )| |_) )| | | |
_/'`_,)(___/'(,/'() ()
(Junction Balance Analysis)
JaBbA 2023-11-09 11:56:16: Located junction file /rsrch3/home/itops/ryao/JaBbA/R-pkgs/JaBbA/extdata/junctions.vcf
JaBbA 2023-11-09 11:56:16: Located coverage file /rsrch3/home/itops/ryao/JaBbA/R-pkgs/JaBbA/extdata/coverage.txt
JaBbA 2023-11-09 11:56:16: Loading packages ...
Error in JaBbA(junctions = opt$junctions, coverage = opt$coverage, juncs.uf = opt$j.supp, :
could not find function "JaBbA"
Calls: suppressPackageStartupMessages -> withCallingHandlers
In addition: Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘JaBbA’
Execution halted
Referring to JABBA_PATH=$(Rscript -e 'cat(paste0(installed.packages()["JaBbA", "LibPath"], "/JaBbA/extdata/"))')
I guess my question is how do I specify JABBA_PATH in step 4 in order to find customized R-pkgs?
Thank you for your help.
Rong Yao
I get this warning for every run, which is not surprising, as I am running on a compute node with no internet connection. I looked through the docs and am unclear why JaBbA would be using Ensembl/biomart - just wanted some context on if this is an issue or if it can be ignored?
Possible Ensembl SSL connectivity problems detected.
Please see the 'Connection Troubleshooting' section of the biomaRt vignette
vignette('accessing_ensembl', package = 'biomaRt')Error in curl::curl_fetch_memory(url, handle = handle) :
SSL certificate problem: certificate has expired
$ jba ${JABBA_PATH}/junctions.vcf ${JABBA_PATH}/coverage.txt
Did not find hets file setting to NULL
Did not find nseg file setting to NULL
JaBbA 2020-10-08 13:06:22: Found CPLEX environment in: /software/jabba/CPLEX/
(___ ) ( \ ( ) ( _ ) | | _ _ | (_) )| |_ | (_) | _ | | /'_
)| _ <'| '\ | _ | ( )_| |( (_| || (_) )| |_) )| | | |
_/'`_,)(___/'(,/'() ()
(Junction Balance Analysis)
JaBbA 2020-10-08 13:06:22: Located junction file /home/user/R/x86_64-pc-linux-gnu-library/3.6/JaBbA/extdata//junctions.vcf
JaBbA 2020-10-08 13:06:22: Located coverage file /home/user/R/x86_64-pc-linux-gnu-library/3.6/JaBbA/extdata//coverage.txt
JaBbA 2020-10-08 13:06:22: Loading packages ...
JaBbA 2020-10-08 13:06:23: Starting analysis in /software/jabba
JaBbA 2020-10-08 13:06:24: ALT field format like BND
JaBbA 2020-10-08 13:06:25: Read in 83 total input junctions
JaBbA 2020-10-08 13:06:25: There are 0 tier 1 junctinos; 15 tier 2 junctinos; 68 tier 3 junctinos.
JaBbA 2020-10-08 13:06:25: Read in 26,625 5001bp bins of coverage data across 2 chromosomes
JaBbA 2020-10-08 13:06:25: No segmentation provided, so performing segmentation using CBS
JaBbA 2020-10-08 13:06:25: 7 coverage data points have zero value, adding a tiny value 2.22044604925031e-16 to prevent log error.
JaBbA 2020-10-08 13:06:36: Segmentation finished
JaBbA 2020-10-08 13:06:37: 235 segments produced
JaBbA 2020-10-08 13:06:37: Loaded 15 junctions from the input.
JaBbA 2020-10-08 13:06:39: Found tier field enforcing >=1 CN at 0 junctions
JaBbA 2020-10-08 13:06:39: Removing 0 tier 3 junctions
JaBbA 2020-10-08 13:06:39: 2 INDEL-like isolated events
JaBbA 2020-10-08 13:06:39: 2 INDEL-like isolated junctions mandatorily EXCLUDED in the final model
JaBbA 2020-10-08 13:06:39: Conform the reference sequence length of: seg, coverage, and ra, to be:
16:90354753
19:59128983
JaBbA 2020-10-08 13:06:39: Did not find nseg file! Ignore.
JaBbA 2020-10-08 13:06:42: Definining coverage good quality nodes as 10% bases covered by non-NA and non-Inf values in +/-100KB region
JaBbA 2020-10-08 13:06:42: Hard setting 4.825004 Mb of the genome to NA that didn't pass our quality threshold
JaBbA 2020-10-08 13:06:42: Using loess to fit mean to variance relationship in segments with greater than 5 bins
Error in file.exists(het.file) : invalid 'file' argument
maybe should use || instread of | on this line?
if (is.null(hets.gr) | !file.exists(het.file)){
Modify the configure.ac
script. I think it is not recognizing the current $CPLEX_DIR
as the desired variable but $CPLEX_DIR/cplex
. Hence every time it is trying to re-infer the path from $CPLEX_BIN
file location.
Would suggest adding a LICENSE file, since the GPLv3 license designation is only listed in some of the R files.
Dear all,
Please allow me to post this error on JaBaA github page, although it refers to gGnome package: I am following the manual, and I am getting the following error when I call the events() function :
hcc1954 = gG(jabba = system.file("extdata", "hcc1954", "jabba.rds", package = "gGnome"))
hcc1954 = events(hcc1954)
Finished simple
Finished amp (tyfonas, dm, cpxdm, bfb)
Finished chromothripsis
Error in aggregate.formula(formula = subject.id ~ grl.id, data = m, FUN = function(x) numwin - :
argument 'x' is missing -- it has been renamed from 'formula'
In addition: There were 18 warnings (use warnings() to see them)
Any suggestions on how I could fix it ?
Session.Info() gives a long list of packages :
_sessionInfo()
R version 4.2.2 (2022-10-31)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur ... 10.16
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats4 stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] MASS_7.3-58.1 gGnome_0.1 reshape2_1.4.4
[4] gTrack_0.1.0 gUtils_0.2.0 GenomicRanges_1.48.0
[7] GenomeInfoDb_1.35.16 IRanges_2.30.1 S4Vectors_0.34.0
[10] BiocGenerics_0.42.0 Matrix_1.5-3 igraph_1.3.5
[13] data.table_1.14.6
loaded via a namespace (and not attached):
[1] bitops_1.0-7 matrixStats_0.63.0
[3] bit64_4.0.5 filelock_1.0.2
[5] progress_1.2.2 httr_1.4.4
[7] tools_4.2.2 utf8_1.2.2
[9] R6_2.5.1 DBI_1.1.3
[11] lazyeval_0.2.2 colorspace_2.1-0
[13] tidyselect_1.2.0 prettyunits_1.1.1
[15] bit_4.0.5 curl_5.0.0
[17] compiler_4.2.2 cli_3.6.0
[19] Biobase_2.56.0 xml2_1.3.3
[21] DelayedArray_0.22.0 plotly_4.10.1
[23] rtracklayer_1.56.1 scales_1.2.1
[25] rappdirs_0.3.3 stringr_1.5.0
[27] digest_0.6.31 Rsamtools_2.12.0
[29] XVector_0.36.0 pkgconfig_2.0.3
[31] htmltools_0.5.4 MatrixGenerics_1.8.1
[33] dbplyr_2.3.0 fastmap_1.1.0
[35] BSgenome_1.67.4 htmlwidgets_1.6.1
[37] rlang_1.1.2 RSQLite_2.2.20
[39] BiocIO_1.6.0 generics_0.1.3
[41] zoo_1.8-11 jsonlite_1.8.4
[43] BiocParallel_1.30.4 dplyr_1.1.0
[45] VariantAnnotation_1.42.1 RCurl_1.98-1.9
[47] magrittr_2.0.3 GenomeInfoDbData_1.2.8
[49] fishHook_0.1 Rcpp_1.0.10
[51] munsell_0.5.0 fansi_1.0.4
[53] lifecycle_1.0.3 stringi_1.7.12
[55] yaml_2.3.7 SummarizedExperiment_1.26.1
[57] zlibbioc_1.42.0 plyr_1.8.9
[59] BiocFileCache_2.4.0 grid_4.2.2
[61] blob_1.2.3 parallel_4.2.2
[63] crayon_1.5.2 lattice_0.20-45
[65] Biostrings_2.64.1 GenomicFeatures_1.48.4
[67] hms_1.1.2 KEGGREST_1.36.3
[69] pillar_1.8.1 rjson_0.2.21
[71] codetools_0.2-18 biomaRt_2.52.0
[73] XML_3.99-0.13 glue_1.6.2
[75] png_0.1-8 vctrs_0.6.5
[77] gtable_0.3.1 purrr_1.0.1
[79] tidyr_1.3.0 assertthat_0.2.1
[81] cachem_1.0.6 ggplot2_3.4.1
[83] restfulr_0.0.15 viridisLite_0.4.1
[85] tibble_3.2.1 GenomicAlignments_1.32.1
[87] AnnotationDbi_1.58.0 memoise_2.0.1_
Hello,
When I attempt to run JaBbA after the gGraph has already been created:
`JaBbA 2024-03-04 14:59:47: Number of gaps with nonzero width: 5558
JaBbA 2024-03-04 14:59:47: Number of segments before gap filtering: 8337
JaBbA 2024-03-04 14:59:48: 2779 segments produced after gap filtering
JaBbA 2024-03-04 14:59:48: creating karyograph
JaBbA 2024-03-04 15:00:14: Definining coverage good quality nodes as >=50% bases covered by non-NA and non-Inf values in +/-100KB region
JaBbA 2024-03-04 15:00:14: Hard setting 0 Mb of the genome to NA that didn't pass our quality threshold
JaBbA 2024-03-04 15:00:14: Using loess to fit mean to variance relationship in segments with greater than 1 bins
JaBbA 2024-03-04 15:00:14: Using ppgrid to estimate purity ploidy
JaBbA 2024-03-04 15:00:14: setting up ppgrid matrices ..
.....................................................................................................
.....................................................................................................
JaBbA 2024-03-04 15:00:16: Built gGraph with 5826 nodes, 412 edges, purity 0.78, and ploidy 1.23
Error in aggregate.formula(...) : 'formula' missing or incorrect
Calls: suppressPackageStartupMessages ... vaggregate -> aggregate -> aggregate -> aggregate.formula`
Everything appears to run correctly before this, and there do not appear to be any issues when loading my junction or coverage files. Do you have any insight into what may be causing this error?
I installed the dependencies of the package, except for the IBM academic initiative software. When i tried to install it, R turns out this
installing source package 'JaBbA' ...
** using staged installation
WARNING: this package has a configure script
It probably needs manual configuration
** R
** inst
** byte-compile and prepare package for lazy loading
Warning messages:
1: multiple methods tables found for 'seqinfo<-'
2: replacing previous import 'GenomicRanges::shift' by 'data.table::shift' when loading 'gGnome'
3: replacing previous import 'GenomicRanges::score' by 'fishHook::score' when loading 'gGnome'
4: replacing previous import 'GenomicRanges::seqinfo<-' by 'gTrack::seqinfo<-' when loading 'gGnome'
5: replacing previous import 'Matrix::%&%' by 'gUtils::%&%' when loading 'gGnome'
6: replacing previous import 'GenomicRanges::union' by 'igraph::union' when loading 'gGnome'
7: replacing previous import 'data.table::melt' by 'reshape2::melt' when loading 'gGnome'
8: multiple methods tables found for '%&%'
** help
No man pages found in package 'JaBbA'
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
Warning: multiple methods tables found for 'seqinfo<-'
Warning: replacing previous import 'GenomicRanges::shift' by 'data.table::shift' when loading 'gGnome'
Warning: replacing previous import 'GenomicRanges::score' by 'fishHook::score' when loading 'gGnome'
Warning: replacing previous import 'GenomicRanges::seqinfo<-' by 'gTrack::seqinfo<-' when loading 'gGnome'
Warning: replacing previous import 'Matrix::%&%' by 'gUtils::%&%' when loading 'gGnome'
Warning: replacing previous import 'GenomicRanges::union' by 'igraph::union' when loading 'gGnome'
Warning: replacing previous import 'data.table::melt' by 'reshape2::melt' when loading 'gGnome'
Warning: multiple methods tables found for '%&%'
Error: package or namespace load failed for 'JaBbA' in library.dynam(lib, package, package.lib):
DLL 'JaBbA' not found: maybe not installed for this architecture?
Error: loading failed
Execution halted
ERROR: loading failed
I tried the augment devtools::install_github("mskilab/JaBbA", dependency = TRUE), but it seems that it's not working. I tried to download the source code to local files and installed it. The same error still occurs.
My operating system is win10
This is my session info
R version 3.6.3 (2020-02-29)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Simplified)_China.936 LC_CTYPE=Chinese (Simplified)_China.936
[3] LC_MONETARY=Chinese (Simplified)_China.936 LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_China.936
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] XVector_0.26.0 GenomeInfoDb_1.22.1 compiler_3.6.3 BiocManager_1.30.10 git2r_0.27.1
[6] zlibbioc_1.32.0 bitops_1.0-6 prettyunits_1.1.1 remotes_2.1.1 tools_3.6.3
[11] testthat_3.0.1 digest_0.6.25 pkgbuild_1.0.8 pkgload_1.1.0 memoise_1.1.0
[16] lattice_0.20-41 pkgconfig_2.0.3 rlang_0.4.10 igraph_1.2.5 Matrix_1.2-18
[21] cli_2.2.0 rstudioapi_0.11 curl_4.3 parallel_3.6.3 GenomeInfoDbData_1.2.2
[26] withr_2.4.0 IRanges_2.20.2 desc_1.2.0 fs_1.4.1 S4Vectors_0.24.4
[31] devtools_2.3.0 stats4_3.6.3 rprojroot_1.3-2 grid_3.6.3 data.table_1.13.0
[36] glue_1.4.1 R6_2.4.1 processx_3.4.5 fansi_0.4.1 sessioninfo_1.1.1
[41] callr_3.5.1 magrittr_1.5 backports_1.1.7 ps_1.5.0 ellipsis_0.3.1
[46] usethis_1.6.1 GenomicRanges_1.38.0 BiocGenerics_0.32.0 assertthat_0.2.1 RCurl_1.98-1.2
[51] crayon_1.3.4
Please let me know if you need more information about my computer.
when comparing the NLL to its surroundings, NA is produced
./cos_installer_preview-22.1.1.0.R0-M08SWML-linux-x86-64.bin
Preparing to install
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
UBT: caught a synchronous signal 11 in the code of UBT itself at 0x0.
[Pid 185651] ubt_Error at trap_real.cc:962
Backtrace: (address annotation unavailable: no symbol table found)
0x80080011f160
0x80080011b9fc
0x80080013aec0
Backtrace end (address 0x0 is out of UBT code)
Congratulations to the authors for developing a great algorithm !
Would it be possible to use JaBbA or the docker version without CPLEX or Gurobi optimizers ?
Unfortunately, I do not have the license, and the message that I am getting is :
_JaBbA 2023-03-07 15:04:29: Starting analysis in /Users/tanasab
Error in jerror("${CPLEX_DIR}/cplex not found") :
JaBbA 2023-03-07 15:04:29: ${CPLEX_DIR}/cplex not found
Calls: suppressPackageStartupMessages -> withCallingHandlers -> JaBbA -> jerror
In addition: Warning messages:
1: multiple methods tables found for ‘seqinfo<-’
Thanks so much,
Bogdan
Running:
jba manta/manta.tumor.svs.hg38.vcf cov.rds --field ratio --purity 0.7 --outdir $PWD/jabba --name test --cores 8 --gurobi TRUE
The cov.rds file contains the column ratio
which is the ratio of the fragCounter values for tumor/normal.
After about 2h it
produces the error:
.
.
.
JaBbA 2023-02-16 22:28:39: Number of gaps with nonzero width: 12516
JaBbA 2023-02-16 22:28:39: Number of segments before gap filtering: 14982
JaBbA 2023-02-16 22:28:40: 5987 segments produced after gap filtering
JaBbA 2023-02-16 22:28:40: creating karyograph
JaBbA 2023-02-16 22:30:03: WARNING: big karyograph > 50000 nodes, may take longer to finish.
JaBbA 2023-02-16 22:30:41: Definining coverage good quality nodes as >=50% bases covered by non-NA and non-Inf values in +/-100KB region
JaBbA 2023-02-16 22:30:41: Hard setting 58.258246 Mb of the genome to NA that didn't pass our quality threshold
JaBbA 2023-02-16 22:30:41: Using loess to fit mean to variance relationship in segments with greater than 1 bins
JaBbA 2023-02-16 23:10:31: Using ppgrid to estimate purity ploidy
JaBbA 2023-02-16 23:10:31: setting up ppgrid matrices ..
.
.
JaBbA 2023-02-16 23:11:36: Built gGraph with 1181150 nodes, 1759858 edges, purity 0.7, and ploidy 1.25
Error in aggregate.formula(...) :
argument 'x' is missing -- it has been renamed from 'formula'
Calls: suppressPackageStartupMessages ... vaggregate -> aggregate -> aggregate -> aggregate.formula
In addition: There were 50 or more warnings (use warnings() to see the first 50)
Execution halted
I have tried with different purities an different variations of the cov.rds file but the error is the same
R version 4.2.2 Patched (2022-11-10 r83330) -- "Innocent and Trusting"
GUROBI v10.0.0
Thanks in advance for your help
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.