biona001 / GhostKnockoffGWAS

Knockoff-based analysis of GWAS summary statistics data
MIT License
8 stars 1 forks source link

`solveblock` throws crazy error when no SNPs is between `start_bp` and `end_bp` #19

Closed biona001 closed 5 months ago

biona001 commented 5 months ago

MWE (the first SNP is chr1 POS 58814)

using GhostKnockoffGWAS
vcffile = "/oak/stanford/groups/zihuai/paisa/VCF/chr1.vcf.gz"
chr = 1
start_bp = 1 
end_bp = 10583 
outdir = "/oak/stanford/groups/zihuai/paisa/LD_files"
hg_build = 19
julia> solve_blocks(vcffile, chr, start_bp, end_bp, outdir, hg_build)

 ** On entry to DGETRI parameter number  6 had an illegal value
ArgumentError: invalid argument #6 to LAPACK call

Stacktrace:
  [1] chklapackerror
    @ /share/software/user/open/julia/1.9.0/share/julia/stdlib/v1.9/LinearAlgebra/src/lapack.jl:38 [inlined]
  [2] getri!(A::Matrix{Float64}, ipiv::Vector{Int64})
    @ LinearAlgebra.LAPACK /share/software/user/open/julia/1.9.0/share/julia/stdlib/v1.9/LinearAlgebra/src/lapack.jl:1045
  [3] inv!
    @ /share/software/user/open/julia/1.9.0/share/julia/stdlib/v1.9/LinearAlgebra/src/lu.jl:508 [inlined]
  [4] _inv(A::LinearAlgebra.Symmetric{Float64, Matrix{Float64}})
    @ LinearAlgebra /share/software/user/open/julia/1.9.0/share/julia/stdlib/v1.9/LinearAlgebra/src/symmetric.jl:632
  [5] inv
    @ /share/software/user/open/julia/1.9.0/share/julia/stdlib/v1.9/LinearAlgebra/src/symmetric.jl:648 [inlined]
  [6] choose_group_reps(Σ::LinearAlgebra.Symmetric{Float64, Matrix{Float64}}, groups::Vector{Int64}; threshold::Float64, prioritize_idx::Nothing, Σinv::Nothing)
    @ Knockoffs /home/groups/sabatti/.julia/packages/Knockoffs/AqvY6/src/group.jl:1974
  [7] choose_group_reps
    @ /home/groups/sabatti/.julia/packages/Knockoffs/AqvY6/src/group.jl:1929 [inlined]
  [8] macro expansion
    @ /home/groups/sabatti/.julia/dev/GhostKnockoffGWAS/src/make_hdf5.jl:269 [inlined]
  [9] macro expansion
    @ ./timing.jl:393 [inlined]
 [10] solve_blocks(vcffile::String, chr::Int64, start_bp::Int64, end_bp::Int64, outdir::String, hg_build::Int64; snps_to_keep::Nothing, tol::Float64, min_maf::Float64, min_hwe::Float64, force_block_diag::Bool, method::String, linkage::String, force_contiguous::Bool, group_cor_cutoff::Float64, group_rep_cutoff::Float64, verbose::Bool)
    @ GhostKnockoffGWAS /home/groups/sabatti/.julia/dev/GhostKnockoffGWAS/src/make_hdf5.jl:266
 [11] solve_blocks(vcffile::String, chr::Int64, start_bp::Int64, end_bp::Int64, outdir::String, hg_build::Int64)
    @ GhostKnockoffGWAS /home/groups/sabatti/.julia/dev/GhostKnockoffGWAS/src/make_hdf5.jl:228
 [12] top-level scope
    @ In[94]:20