zqfang / haplomap

Haplotype-based computational genetic mapping (HBCGM) for inbred population
Other
5 stars 1 forks source link

ghmap population structure analysis fail in certain MPD cases #2

Closed byoo1 closed 4 years ago

byoo1 commented 4 years ago

e.g. 14201 (below)

14201_m_pheno.txt 14201_m_strains.txt

MeiyueComputBio commented 4 years ago

The entire MPD case fail or certain blocks?

zqfang commented 4 years ago

@byoo1 Could you provide output information?

run ghmap with "-v". I could not reproduce this bug

byoo1 commented 4 years ago

-v outputs the following:

[reading blocks summary file... 14900 (19 s)] [reading phenotype file... 14900 (0 s)] [reading gene expressions file... 14900 (0 s)] [reading go term file... 14900 (0 s)] [reading genetic relation matrix... 14900 (0 s)] [computing ANOVA p-values... 14900 Parameter 14 to routine source_gemm_r.h was incorrect Aborted (core dumped)

byoo1 commented 4 years ago

After updating to the new code and GSL2.6 still getting the same error message.

This is the line causing the issue: Thought it might be because tss was not initialized to a number so I tried setting the matrix to an all zero matrix but still the same error

gsl_blas_dgemm(CblasTrans, CblasNoTrans, 1.0, _Mat, _Mat, 0.0, tss); ( in manova.cpp)

zqfang commented 4 years ago

@byoo1 , Could you print out the last haplotype pattern before the program die? It will be much easier to debug using unitest

byoo1 commented 4 years ago

01022003040

Is the last one. I have been trying to find some pattern but have not been able to yet.

zqfang commented 4 years ago

Why your pattern have 11 strains while pheno input only got 10

byoo1 commented 4 years ago

I’m not sure. I’ll have to check why that is happening. This could be the issue? but many other patterns (even with ones with no question mark) with 11 strains is returning just fine. I’m running the code with the same number of strains for the blocker and ghmap (it’s not causing segmentation fault)

byoo1 commented 4 years ago

I believe the last 0 is not part of the block. It’s part of the pointer address so it should be 0102200304 sorry about that

zqfang commented 4 years ago

Problem fixed. Please re-run your data if PS pvalue is critical to your final candidate list