deepvariant icon indicating copy to clipboard operation
deepvariant copied to clipboard

google/deepvariant:1.6.1 docker says version 1.6.0

Open fellen31 opened this issue 1 year ago • 7 comments

Have you checked the FAQ? https://github.com/google/deepvariant/blob/r1.6.1/docs/FAQ.md:

Describe the issue: When I check the version of google/deepvariant:1.6.1 it says 1.6.0, and the docker image has ENV VERSION=1.6.0

docker run google/deepvariant:1.6.1 /opt/deepvariant/bin/run_deepvariant --version
2024-06-13 12:25:30.001574: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F AVX512_VNNI FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
DeepVariant version 1.6.0

fellen31 avatar Jun 13 '24 12:06 fellen31

@fellen31 ,

version 1.6.1 had a very small incremental change and the docker version was not updated. I can confirm that 1.6.1 docker has the code change required but the version update for printing the version wasn't changed. Is this a blocking issue for you? Otherwise we will update it the next version appropriately in the next release.

kishwarshafin avatar Jun 13 '24 18:06 kishwarshafin

I'd say it's mostly because the VCF also says ##DeepVariant_version=1.6.0, which could be confusing. If it's not too much of a hassle to rebuild 1.6.1 and 1.6.1-gpu so they output the correct version, I think that would be great. Otherwise I could always refer to this issue.

fellen31 avatar Jun 13 '24 18:06 fellen31

Hi @fellen31 ,

Thanks for the suggestion. For the official Docker file, we usually don't like to modify it after we push it. This is mostly for reproducibility concern. Even when we don't change everything else on our side, rebuilding at a later time can cause confusion if some other components (not in our control) has changed, and then might result in unexpected reproducibility differences.

A few possible solutions:

  1. We'll make sure to update the version number in future releases, and we'll be careful even with a PATCH version update. (But we'll do nothing right now)
  2. Or, if it's absolutely necessary for you to access a Docker under our Docker Hub and/or gcr.io, I can build one for you, but it will be called something like 1.6.1-fix-version (instead of overwriting the 1.6.1 images).

To do 2, it will take some time and effort on my side, but it's doable if it's important for you. Let me know!

pichuan avatar Jun 14 '24 20:06 pichuan

Hi, sorry to be a bother. If it was just me that was going to use it I wouldn't care, but in this particular case it would be preferable to have a fix-version under your Docker Hub. If you could do it, I'd really appreciate it.

fellen31 avatar Jun 24 '24 07:06 fellen31

@fellen31 ,

The easiest solution here would be for you to downgrade to 1.6.0 as these two versions should generate identical outputs. The only fix is in call_variants in cases with empty shards which happens very rarely when you are running things broken into multiple steps. Unless you are experiencing the issue, you can continue using 1.6.0.

Please let us know if that solution doesn't work for you and we will build a docker for you, but, it may take some time so you may need to wait.

kishwarshafin avatar Jun 25 '24 20:06 kishwarshafin

Sure @kishwarshafin, I'll try 1.6.0. If I would build the docker myself, is ARG VERSION=1.6.0 the only thing I would need to change from the current Dockerfile?

fellen31 avatar Jun 26 '24 08:06 fellen31

Hi @fellen31 ,

That's right.

I checked the files. Only the ARG in Dockerfiles are relevant.

$ find . -type f -exec grep -H '1\.6\.0'  {} \; 
./scripts/inference_deeptrio.sh:  # --use_slim_model is introduced only after 1.6.0.
./scripts/inference_deepvariant.sh:  # --use_slim_model is introduced only after 1.6.0.
./Dockerfile.deeptrio:ARG VERSION_DEEPTRIO=1.6.0
./Dockerfile:ARG VERSION=1.6.0
./.git/packed-refs:6b167016a0e6b92ca5b492e2dac9000d97c8d3ee refs/tags/v1.6.0
./docs/FAQ.md:## Do models from before r1.6.0 work with current inference code?
./docs/FAQ.md:No. We have moved from Slim to Keras. All models before `1.6.0` were trained in
./docs/FAQ.md:Slim platform. So they are not compatible with `1.6.0` anymore.
./docs/deeptrio-details-training-data.md:1.6.0        | <sup>[(6)](#vfootnote6)</sup>4 HG001, 3 HG002, 3 HG003, 3 HG004, 7 HG005, 6 HG006, 6 HG007, 4 NA12891, 4 NA12892 | 704,394,556
./docs/deeptrio-details-training-data.md:1.6.0        | <sup>[(6)](#vfootnote6)</sup>2 HG001, 3 HG002, 3 HG003, 3 HG004, 7 HG005, 6 HG006, 6 HG007, 2 NA12891, 2 NA12892 | 457,420,038
./docs/deeptrio-details-training-data.md:| 1.6.0        | <sup>[(6)](#vfootnote6)</sup>9 HG001, 7 HG002, 7 HG003, 7 HG004, 8 HG005, 8 HG006, 8 HG007, 9 NA12891, 9 NA12892 | 27,783,324 |
./docs/deeptrio-details-training-data.md:| 1.6.0        | <sup>[(6)](#vfootnote6)</sup>6 HG002, 6 HG003, 6 HG004, 8 HG005, 8 HG006, 8 HG007 | 13,039,595  |
./docs/deeptrio-details-training-data.md:| 1.6.0        | 9 HG002, 5 HG003, 5 HG004, 1 HG005, 1 HG006, 1 HG007 | 890,016,014<sup>[(5)](#vfootnote5)</sup> |
./docs/deeptrio-details-training-data.md:| 1.6.0        | 9 HG002, 5 HG003, 5 HG004, 1 HG005, 1 HG006, 1 HG007 | 838,515,085<sup>[(5)](#vfootnote5)</sup> |
./docs/deeptrio-details-training-data.md:| 1.6.0        | 1 HG002, 1 HG002, 1 HG004 | 50,249,704<sup>[(5)](#vfootnote5)</sup> |
./docs/deeptrio-details-training-data.md:| 1.6.0        | 1 HG002, 1 HG002, 1 HG004 | 99,675,190<sup>[(5)](#vfootnote5)</sup> |
./deeptrio/testdata/golden.calling_examples.tfrecord.gz-00002-of-00003.example_info.json:{"version": "1.6.0", "shape": [300, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/HG002_ONT_deeptrio.denovo.examples.tfrecord.gz.example_info.json:{"version": "1.6.0", "shape": [300, 199, 9], "channels": [1, 2, 3, 4, 5, 6, 7, 9, 10]}
./deeptrio/testdata/customized_classes.golden.training_examples.tfrecord.gz.example_info.json:{"version": "1.6.0", "shape": [300, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/golden.calling_examples.tfrecord.gz.example_info.json:{"version": "1.6.0", "shape": [300, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/golden.postprocess_gvcf_output.g.vcf:##DeepVariant_version=1.6.0
./deeptrio/testdata/golden.training_examples.tfrecord.gz-00002-of-00003.example_info.json:{"version": "1.6.0", "shape": [300, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/golden.vcf_candidate_importer.calling_examples.tfrecord.gz.example_info.json:{"version": "1.6.0", "shape": [140, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/golden.calling_examples.tfrecord.gz-00000-of-00003.example_info.json:{"version": "1.6.0", "shape": [300, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/golden.calling_examples.tfrecord.gz-00001-of-00003.example_info.json:{"version": "1.6.0", "shape": [300, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/golden.postprocess_single_site_output.vcf:##DeepVariant_version=1.6.0
./deeptrio/testdata/golden.training_examples.vcf:##DeepVariant_version=1.6.0
./deeptrio/testdata/HG002_ONT_deeptrio.examples.tfrecord.gz.example_info.json:{"version": "1.6.0", "shape": [300, 199, 9], "channels": [1, 2, 3, 4, 5, 6, 7, 9, 10]}
./deeptrio/testdata/golden.vcf_candidate_importer.training_examples.tfrecord.gz.example_info.json:{"version": "1.6.0", "shape": [140, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/alt_aligned_pileup.golden.training_examples.tfrecord.gz.example_info.json:{"version": "1.6.0", "shape": [140, 199, 8], "channels": [1, 2, 3, 4, 5, 6, 9, 10]}
./deeptrio/testdata/golden.training_examples.tfrecord.gz-00000-of-00003.example_info.json:{"version": "1.6.0", "shape": [300, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/golden.training_examples.tfrecord.gz.example_info.json:{"version": "1.6.0", "shape": [300, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./deeptrio/testdata/golden.training_examples.tfrecord.gz-00001-of-00003.example_info.json:{"version": "1.6.0", "shape": [300, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}
./Dockerfile.deepsomatic:ARG VERSION_DEEPSOMATIC=1.6.0
./deepvariant/testdata/golden.vcf_candidate_importer_calling_examples.tfrecord.example_info.json:{"version": "1.6.0", "shape": [100, 221, 6], "channels": [1, 2, 3, 4, 5, 6]}

pichuan avatar Jun 26 '24 15:06 pichuan