J35P312 / TIDDIT

TIDDIT - structural variant calling
Other
10 stars 0 forks source link

error #7

Closed jungminchoilab closed 6 years ago

jungminchoilab commented 6 years ago

Hi!

Thanks for sharing the software! I tried it and got the following errors. Could you kindly look into this and let me know how to fix?

Thanks for your time, Jungmin

$ python /home/jc2545/programs/TIDDIT/TIDDIT.py --sv --bam /ycga-ba/ba_sequencers3/scratch/jc2545/LMS_WGS/bams/LEYONFF1.bam --ref /home/jc2545/ref_data/h_sapiens/1000genomes/2.5/b37/human_g1k_v37_decoy.fasta -o LEYONFF1
/ycga-ba/ba_sequencers5/scratch/sz97/Mathieu/jc2545/programs/TIDDIT/bin/TIDDIT: symbol lookup error: /ycga-ba/ba_sequencers5/scratch/sz97/Mathieu/jc2545/programs/TIDDIT/bin/TIDDIT: undefined symbol: _ZN8BamTools9BamReader4OpenERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
Traceback (most recent call last):
  File "/home/jc2545/programs/TIDDIT/TIDDIT.py", line 52, in <module>
    TIDDIT_clustering.cluster(args)
  File "TIDDIT_clustering.py", line 512, in TIDDIT_clustering.cluster
    coverage_data=coverage(args)
  File "TIDDIT_clustering.py", line 13, in TIDDIT_clustering.coverage
    for line in open(args.o+".tab"):
IOError: [Errno 2] No such file or directory: 'LEYONFF1.tab'
J35P312 commented 6 years ago

Hello there! That was a tricky error! It is a symbol lookup error: /ycga-ba/ba_sequencers5/scratch/sz97/Mathieu/jc2545/programs/TIDDIT/bin/TIDDIT: symbol lookup error: /ycga-ba/ba_sequencers5/scratch/sz97/Mathieu/jc2545/programs/TIDDIT/bin/TIDDIT: undefined symbol: _ZN8BamTools9BamReader4OpenERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

In essence, there is some problem linking the c++ components of TIDDIT. I have never gotten this error, so we need to do a bit of searching. There is probably some library missing or some odd looking link somewhere.

If you download TIDDIT into a new folder: mkdir test git clone https://github.com/J35P312/TIDDIT.git

and then compile it without using the install script: mkdir build cd build cmake .. make

Does the compiler crash, or will it run to completion? If it completes, you should end up with this message in the end:

[100%] Linking CXX static library libbamtools.a [100%] Built target BamTools-static Scanning dependencies of target APIHeaders [100%] Built target APIHeader

If it crash, what message do you get?

if it compiled succesfully, enter the tiddit binary folder: cd .. cd bin

and write: ldd TIDDIT

what output do you get from ldd? Also which version of GCC do you use?

type: gcc -v

good luck!

J35P312 commented 6 years ago

I also created a singularity container for TIDDIT. If you install singularity, and run the following command:

singularity shell TIDDIT.simg

you will get an environment containing all the libraries you need for installing tiddit. You can install singularity from here: https://github.com/singularityware/singularity

After entering the TIDDIT.simg container, you can install and run tiddit according to the manual.

jungminchoilab commented 6 years ago

Thanks so much for your prompt response. After spending some time last night (I did not try your solution yet), I found I had to load GCC and set the LD_LIBRARY_PATH as shown below. I am sure your suggestions would have fixed it but sharing what I did just in case.

Best, Jungmin

module load GCC; export LD_LIBRARY_PATH=/home/jc2545/programs/TIDDIT/build/lib/bamtools/src/api/:$LD_LIBRARY_PATH; python /home/jc2545/programs/TIDDIT/TIDDIT.py --sv --bam /ycga-ba/ba_sequencers3/scratch/jc2545/LMS_WGS/bams/LEYONFF1.bam --ref /home/jc2545/ref_data/h_sapiens/1000genomes/2.5/b37/human_g1k_v37_decoy.fasta -o LEYONFF1