Coder Social home page Coder Social logo

jabba's People

Contributors

andref1989 avatar evanbiederstedt avatar imielinski avatar jsam356 avatar maxlchao avatar shaiberalon avatar shihabdider avatar tanubrata avatar xtyao avatar zining01 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jabba's Issues

installation with Gurobi not work

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:
...

  • installing source package ‘JaBbA’ ...
    ** using staged installation
    CPLEX_DIR environment variable not set, please set (e.g. ~/Path/To/CPLEX_Studio/) prior to installing in order to install JaBbA with CPLEX functionality
    ** libs
    ...
    ** R
    ** inst
    ** byte-compile and prepare package for lazy loading
    Warning message:
    multiple methods tables found for ‘seqinfo<-’
    ** 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<-’
    Error: package or namespace load failed for ‘JaBbA’:
    .onLoad failed in loadNamespace() for 'JaBbA', details:
    call: jerror("${CPLEX_DIR}/cplex not found")
    error: JaBbA 2022-03-18 14:48:28: ${CPLEX_DIR}/cplex not found
    Error: loading failed
    Execution halted
    ERROR: loading failed
  • removing ‘/home/wangyz/anaconda3/envs/R_4.1/lib/R/library/JaBbA’
    Warning message:
    In i.p(...) :
    installation of package ‘/tmp/RtmphSVXqF/file6b3c508ffcf3/JaBbA_0.0.0.9000.tar.gz’ had non-zero exit status

could you have a look on this? thank you.

Error in smooth.spline(fdat$lag, fdat$ac, spar = spar) : 'tol' must be strictly positive and finite

Hi,
This R pacakge ran well until I met this problem

Error in smooth.spline(fdat$lag, fdat$ac, spar = spar) : 'tol' must be strictly positive and finite

##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!

'Rcplex2.o' failed

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!

Difficulty installing the package(s)

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

Error running test example

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

failed to install 'unknown package' from GitHub.

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

  • Use usethis::create_github_token() to create a Personal Access Token.
  • Use 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

Using --nseg with sequenza purity/ploidy estimation

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)

jba is not passing the coverage and junctions arguments to the JaBbA correctly

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

definition of coverage

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!

in ramip_stub function, call 'es = data.table(which(adj!=0, arr.ind=T))' on line 1835 uses base which function, rather than Matrix::which

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))

Using deprecated/undocumented igraph functions

The following igraph functions are all deprecated/undocumented.

JaBbA/NAMESPACE

Lines 91 to 94 in b4d4b01

importFrom(igraph,clusters)
importFrom(igraph,graph)
importFrom(igraph,graph.adjacency)
importFrom(igraph,induced.subgraph)

They should be components, make_graph, graph_from_adjacency_matrix and induced_subgraph, respectively

Error in replCmat4

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

[Feature Request] Docker Installation

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

Sequenza has been removed from CRAN

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).

A couple files not written to output directory

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

Expected output of toy example

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

JaBbA crashes when DNAcopy::segment returns reverse strand segments

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
            }

fragCounter automatically strips out 'chr' from the chromosome names in the final cov.rds output

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.

Trying to run test example... failing with write.table() error?

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:

Screenshot 2022-09-05 at 16 12 16

Have you seen this before / do you have any thoughts on how to work around it?

Error in the final step (R): 'by' appears to evaluate to column names but isn't c() or key()'

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

Problem size limits exceeded

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!

Compatibility with Gurobi as alternative to CPLEX

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

About input hets files

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.

double chromosomes notation in JaBbA's output

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]

default

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):

chr

Am I doing something wrong? Thank you in advance!

Generate coverage txt file using GRIDSS-PURPLE-LINX

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

JaBbA installation error

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

  • removing ‘/Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/library/JaBbA’
    Warning message:
    In i.p(...) :
    installation of package ‘/var/folders/_1/p32n59195519xglhbr23ch800000gn/T//RtmpSqVlsl/file1683d5bae49/JaBbA_1.1.tar.gz’ had non-zero exit status

Your advice will be very appreciated. Thank you!

Add jba executable to your Path

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

Ensembl Connectivity Warning

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

Error running the test case

$ 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)){

License

Would suggest adding a LICENSE file, since the GPLv3 license designation is only listed in some of the R files.

events() function in gGnome

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_

Error in Aggregate.Formula

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?

Failed install JaBbA package

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

  • removing 'D:/R/R-3.6.3/library/JaBbA'

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.

无法安装cplex

./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)

CPLEX or Gurobi optimizers

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

Error in aggregate.formula(...)

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.