diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 282a39632..6320d8ce1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: ### Linux build linux_build: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: matrix: config: @@ -60,57 +60,57 @@ jobs: ### Mac OS build - macos_build: - runs-on: macos-10.15 - strategy: - matrix: - config: - - {cc: "gcc", cxx: "g++"} - - {cc: "clang", cxx: "clang++"} - - steps: - - uses: actions/checkout@v2 - - name: Install dependencies - run: | - brew update - brew install boost sqlite3 - ./install_dependencies.sh osx - - name: Compile and test - run: | - mkdir build && cd build && cmake -G "Unix Makefiles" -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} -DCMAKE_C_COMPILER=${{ matrix.config.cc }} .. - export LIBRARY_PATH=${LIBRARY_PATH}:/usr/local/opt/icu4c/lib - make -j2 - cd .. && ./build/bin/test_validation_suite - - name: Rename release files - if: ${{ matrix.config.cc == 'clang' }} - run: | - mv build/bin/vcf_validator vcf_validator_macos - mv build/bin/vcf_debugulator vcf_debugulator_macos - mv build/bin/vcf_assembly_checker vcf_assembly_checker_macos - - name: Upload vcf-validator - uses: actions/upload-artifact@v3 - if: ${{ matrix.config.cc == 'clang' }} - with: - name: vcf_validator_macos - path: vcf_validator_macos - - name: Upload vcf-debugulator - uses: actions/upload-artifact@v3 - if: ${{ matrix.config.cc == 'clang' }} - with: - name: vcf_debugulator_macos - path: vcf_debugulator_macos - - name: Upload vcf-assembly-checker - uses: actions/upload-artifact@v3 - if: ${{ matrix.config.cc == 'clang' }} - with: - name: vcf_assembly_checker_macos - path: vcf_assembly_checker_macos +# macos_build: +# runs-on: macos-11 +# strategy: +# matrix: +# config: +# - {cc: "gcc", cxx: "g++"} +# - {cc: "clang", cxx: "clang++"} +# +# steps: +# - uses: actions/checkout@v2 +# - name: Install dependencies +# run: | +# brew update +# brew install boost sqlite3 +# ./install_dependencies.sh osx +# - name: Compile and test +# run: | +# mkdir build && cd build && cmake -G "Unix Makefiles" -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} -DCMAKE_C_COMPILER=${{ matrix.config.cc }} .. +# export LIBRARY_PATH=${LIBRARY_PATH}:/usr/local/opt/icu4c/lib +# make -j2 +# cd .. && ./build/bin/test_validation_suite +# - name: Rename release files +# if: ${{ matrix.config.cc == 'clang' }} +# run: | +# mv build/bin/vcf_validator vcf_validator_macos +# mv build/bin/vcf_debugulator vcf_debugulator_macos +# mv build/bin/vcf_assembly_checker vcf_assembly_checker_macos +# - name: Upload vcf-validator +# uses: actions/upload-artifact@v3 +# if: ${{ matrix.config.cc == 'clang' }} +# with: +# name: vcf_validator_macos +# path: vcf_validator_macos +# - name: Upload vcf-debugulator +# uses: actions/upload-artifact@v3 +# if: ${{ matrix.config.cc == 'clang' }} +# with: +# name: vcf_debugulator_macos +# path: vcf_debugulator_macos +# - name: Upload vcf-assembly-checker +# uses: actions/upload-artifact@v3 +# if: ${{ matrix.config.cc == 'clang' }} +# with: +# name: vcf_assembly_checker_macos +# path: vcf_assembly_checker_macos ### Release job (tags only) create_release: if: startsWith(github.ref, 'refs/tags/') - needs: [ linux_build, macos_build ] + needs: [ linux_build ] runs-on: ubuntu-latest steps: - name: Download artifacts diff --git a/src/vcf/record.cpp b/src/vcf/record.cpp index 675311aef..dd185f047 100644 --- a/src/vcf/record.cpp +++ b/src/vcf/record.cpp @@ -698,6 +698,9 @@ namespace ebi raise(std::make_shared(line, " meta specification Number=" + number + " is not one of [A, R, G, ., ]")); } + if(!values.empty()) { + if (values.front() == MISSING_VALUE) { return; } // No need to check missing data + } bool number_matches = true; if (expected_cardinality > 0) { diff --git a/test/input_files/v4.1/passed/passed_body_samples.vcf b/test/input_files/v4.1/passed/passed_body_samples.vcf index e54023271..f86d45044 100644 --- a/test/input_files/v4.1/passed/passed_body_samples.vcf +++ b/test/input_files/v4.1/passed/passed_body_samples.vcf @@ -9,3 +9,4 @@ 1 300 rs180734498 C T 100 PASS AC=4 GT:MY 1/0:A 0|1:A,B,C 1 400 rs180734498 C T,A 100 PASS AC=4,6 GT:CU 1/2:1,5 0|1:2,0 1 500 rs180734498 C T 100 PASS AC=4 DP 1 4 +1 700 rs180734498 C T 100 PASS AC=4 GT:GL 0|0:.,.,. 0|1:. diff --git a/test/input_files/v4.2/passed/passed_body_samples.vcf b/test/input_files/v4.2/passed/passed_body_samples.vcf index e94ebc541..2ea56cc01 100644 --- a/test/input_files/v4.2/passed/passed_body_samples.vcf +++ b/test/input_files/v4.2/passed/passed_body_samples.vcf @@ -11,3 +11,4 @@ 1 400 rs180734498 C T,A 100 PASS AC=4,5 GT:CU 1/2:1,5 0|1:2,0 1 500 rs180734498 C T,G 100 PASS AC=4,6 GT:CU2 1/2:-0.13,-0.58,-3.62 0|1:-2.45,-0.00,-5.00 1 600 rs180734498 C T 100 PASS AC=4 DP 1 4 +1 700 rs180734498 C T 100 PASS AC=4 GT:GL 0|0:.,.,. 0|1:. diff --git a/test/input_files/v4.3/passed/passed_body_samples.vcf b/test/input_files/v4.3/passed/passed_body_samples.vcf index 6bf9bedc0..49c77c9d6 100644 --- a/test/input_files/v4.3/passed/passed_body_samples.vcf +++ b/test/input_files/v4.3/passed/passed_body_samples.vcf @@ -11,3 +11,5 @@ 1 400 rs180734498 C T,A 100 PASS AC=4,5 GT:CU 1/2:1,5 0|1:2,0 1 500 rs180734498 C T,G 100 PASS AC=4,6 GT:CU2 1/2:-0.13,-0.58,-3.62 0|1:-2.45,-0.00,-5.00 1 600 rs180734498 C T 100 PASS AC=4 DP 1 4 +1 700 rs180734498 C T 100 PASS AC=4 GT:GL 0|0:.,.,. 0|1:. +