Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

caveman estep 1.12.0 #77

Closed
OCS-Consult opened this issue Jan 23, 2018 · 12 comments
Closed

caveman estep 1.12.0 #77

OCS-Consult opened this issue Jan 23, 2018 · 12 comments

Comments

@OCS-Consult
Copy link

This error has been reported before

[ERROR] (src/output.c: output_vcf_header:302 errno: No such file or directory) Error (0) writing contigs.
[ERROR] (src/estep.c: estep_main:517 errno: None) Error writing header to muts file.

The thread was closed suspecting a zlib error (fixed @ 1.2.8)
However we have the same error and this is on Centos 7 with zlib 1.2.7
$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
and currently supports zlib:-
[root@server213-171-196-65 /]# rpm -qa zlib*
zlib-1.2.7-17.el7.x86_64
zlib-1.2.7-17.el7.i686
zlib-devel-1.2.7-17.el7.x86_64

As far a I understand there isn't a version of zlib 1.2.8 available for Centos 1.2.7.

Any advice will be appreciated.

@ghost
Copy link

ghost commented Mar 6, 2018

zlib >= 1.2.3.5 should be sufficient given the functionality used.
Are you getting the correct zlib version linked used when you run
ldd caveman?

@OCS-Consult
Copy link
Author

OCS-Consult commented Mar 6, 2018 via email

@ChristopheLegendre
Copy link

ChristopheLegendre commented Aug 28, 2018

@drjsanger
Hi David,

I have the same error for the caveman's step "estep". The error message is:
caveman estep -i 1
[ERROR] (src/output.c: output_vcf_header:302 errno: No such file or directory) Error (0) writing contigs. [ERROR] (src/estep.c: estep_main:518 errno: None) Error writing header to muts file.

My system is CentOS 7.2 with default gcc coming with that centOS version. The default libz is 1.2.7.
I forgot to mention that I am trying to use the latest version of caVEMan, i.e. 1.13.2 .

Despite version 1.2.7> 1.2.3.5 (the minimum version), caveman raised the error with libz version 1.2.7.
So I installed the latest version of zlib and it looks like it has been linked correctly to caveman (see below) after I ran the command " ./setup . " to install caveman with local htslib version provided by your script.

ldd /tools/CaVEMan/bin/caveman
linux-vdso.so.1 => (0x00007ffdce7d4000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fcfc979a000) libz.so.1 => /tools/libz/1.2.11/lib/libz.so.1 (0x00007fcfc957e000) libm.so.6 => /lib64/libm.so.6 (0x00007fcfc927c000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fcfc9078000) libc.so.6 => /lib64/libc.so.6 (0x00007fcfc8cb4000) /lib64/ld-linux-x86-64.so.2 (0x00007fcfc99de000)

I do not know C programming, but it seems that functions related to libz are not recognized, such as gzprintf, gzopen

Questions:

  • Is there any other library that should be linked to caveman?
  • Should I install the version 1.2.3.5 for libz and link caveman to it?
  • Would it be possible to get static binaries for caveman?

Thanks in advance for your help,
Best,
Chris

@ghost ghost added the Under Investigation label Sep 3, 2018
@ghost
Copy link

ghost commented Sep 4, 2018

@ChristopheLegendre I have just tested this using centos7 and it worked for me. Can I ask what reference you're using please?

@ChristopheLegendre
Copy link

@drjsanger
Sure.
The reference Genome is hs37d5 (GRCh37).
The contigs are not prefixed by "chr".
Contigs list attached.
hs37d5.fa.chrom.contigs.txt

@ghost
Copy link

ghost commented Sep 6, 2018

Thank you @ChristopheLegendre .

A quick update:

I have tested with a clean install of Centos 7

$ cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

Using yum installed libraries only:

$ ldd install/bin/caveman
	linux-vdso.so.1 =>  (0x00007ffc61ed3000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f58f7fe5000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f58f7dcf000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f58f7acc000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f58f78c8000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f58f74fb000)
	/lib64/ld-linux-x86-64.so.2 (0x000055c64e6a5000)

Which leads to CaVEMan using zlib version 1.2.7

$ ls -l /lib64/libz.so.1
lrwxrwxrwx. 1 root root 13 Mar  2  2018 /lib64/libz.so.1 -> libz.so.1.2.7

This is failing to reproduce the error when using GRCh37d5 (including all contigs to ensure largest length header possible).

It looks from your ldd output you have libz 1.2.11 installed and linked.

I'll try that next.

Dave

@ghost
Copy link

ghost commented Sep 6, 2018

I can't replicate this error using zlib 1.2.11.

I've noticed your GRCh37 has more contigs than ours. I'll try this again using GRCh38 as that has even more contigs to push to limit of the zlib buffer setting and see that is what's causing the problems. Since @OCS-Consult reported that changing the zlib buffer was fixing things I am suspecting a lot of contigs is growing to large for the write buffer.

I'd like to reproduce it before I go ahead and make a hotfix though. Still working on it.

Dave

@ghost
Copy link

ghost commented Sep 6, 2018

I have now successfully reproduced using a larger number of contigs (GRCh38).

Centos 7.4
zlib 1.2.11

I'll investigate how modifying the buffer size for zlib after file opening can correct this.

@ChristopheLegendre
Copy link

Hi David,

Thanks for investigating.
For information, the extra contigs we added to our reference are very small contigs such the ERCC-xxxx, EBV and some ribosomal ones.

@ghost ghost closed this as completed in f02abcf Sep 7, 2018
ghost pushed a commit that referenced this issue Sep 7, 2018
* Add gzbuffer call after gzopen to ensure we don't hit the limit where many contigs are printed
* Added unit test for additional methods
* Fixes #77
* Update license dates
@ghost
Copy link

ghost commented Sep 7, 2018

I've added a dynamic calculation of contig header section size to ensure the gzbuffer is now set correctly.

1.13.3 contains this fix. @OCS-Consult
apologies this took so long to get fixed!

@ChristopheLegendre
Copy link

@drjsanger
Hi David,

No problems. I am glad I could give some feedback.
Thanks for updating caveman.
I have tested it and got errors; I opened a new issue #82
Before running my newcaveman 1.13.3 executable, I checked and it is well linked to libz 1.2.11.

Best,
Chris

@OCS-Consult
Copy link
Author

OCS-Consult commented Sep 9, 2018 via email

@ghost ghost removed the Under Investigation label Sep 12, 2018
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants