From 193468c8c2f1183f6f6ade25ac2861800ab7f3f2 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Thu, 13 Feb 2025 14:38:45 -0500 Subject: [PATCH 1/3] cicd: add publish action --- .github/workflows/publish.yaml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/publish.yaml diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..4628e0b --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,34 @@ +name: publish to GHCR +on: + release: + types: [published] +jobs: + publish-image: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: | + ghcr.io/${{ github.repository_owner }}/vrsix:${{ github.event.release.tag_name }} + ghcr.io/${{ github.repository_owner }}/vrsix:latest From 5a735d0f779cee2a518adcb716f1a897a860cc0b Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Fri, 14 Feb 2025 14:58:37 -0500 Subject: [PATCH 2/3] more --- .github/workflows/publish.yaml | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 4628e0b..e580e71 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -8,8 +8,11 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Login to GitHub Container Registry - uses: docker/login-action@v1 + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ vars.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -17,18 +20,8 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Log in to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build and push Docker image - uses: docker/build-push-action@v4 + - name: Build and push + uses: docker/build-push-action@v6 with: - context: . push: true - tags: | - ghcr.io/${{ github.repository_owner }}/vrsix:${{ github.event.release.tag_name }} - ghcr.io/${{ github.repository_owner }}/vrsix:latest + tags: user/app:latest From 437cc8cbca814436a940d7208e5ae6971c309c21 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Fri, 14 Feb 2025 15:54:32 -0500 Subject: [PATCH 3/3] stashing progress --- .github/workflows/publish.yaml | 9 +- containers/base/Dockerfile | 3 +- test/GIAB_sample_annotated.vcf | 245 +++++++++++++++++++++++++++++++++ test/test_index_input.db | Bin 0 -> 24576 bytes test/test_inputs.json | 4 + test/test_vcf_input.vcf | 0 vrsix-construct.wdl | 6 +- 7 files changed, 258 insertions(+), 9 deletions(-) create mode 100644 test/GIAB_sample_annotated.vcf create mode 100644 test/test_index_input.db create mode 100644 test/test_vcf_input.vcf diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index e580e71..f0ac187 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -8,11 +8,12 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Login to Docker Hub + - name: Login to GHCR uses: docker/login-action@v3 with: - username: ${{ vars.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ghcr.io + username: gks-anvil + password: ${{ secrets.GHCR_TOKEN }} - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -24,4 +25,4 @@ jobs: uses: docker/build-push-action@v6 with: push: true - tags: user/app:latest + tags: ghcr.io/gks-anvil/vrsix-workflow:latest diff --git a/containers/base/Dockerfile b/containers/base/Dockerfile index c777a9d..cfbf873 100644 --- a/containers/base/Dockerfile +++ b/containers/base/Dockerfile @@ -1,5 +1,4 @@ -# TODO python version -from circleci/python:3.12 +FROM cimg/python:3.12 RUN pip install vrsix~=0.1.2 diff --git a/test/GIAB_sample_annotated.vcf b/test/GIAB_sample_annotated.vcf new file mode 100644 index 0000000..627f6c5 --- /dev/null +++ b/test/GIAB_sample_annotated.vcf @@ -0,0 +1,245 @@ +##fileformat=VCFv4.2 +##FILTER= +##fileDate=20160824 +##CL=vcffilter -i - -o - --javascript "function record() {HG001.PS=\".\";}" +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##FILTER= +##FILTER= +##FILTER= +##FILTER= +##FILTER= +##FILTER= +##FILTER= +##FILTER=0.8"> +##FILTER= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT HG001 +chr1 783006 . A G 50 PASS platforms=4;platformnames=PacBio,Illumina,10X,CG;datasets=4;datasetnames=CCS15kb_20kb,HiSeqPE300x,10XChromiumLR,CGnormal;callsets=6;callsetnames=CCS15kb_20kbDV,CCS15kb_20kbGATK4,HiSeqPE300xGATK,10XLRGATK,CGnormal,HiSeqPE300xfreebayes;datasetsmissingcall=IonExome,SolidSE75bp;callable=CS_CCS15kb_20kbDV_callable,CS_CCS15kb_20kbGATK4_callable;filt=CS_CGnormal_filt;difficultregion=HG001.hg38.300x.bam.bilkentuniv.010920.dups,hg38.segdups_sorted_merged,lowmappabilityall;VRS_Allele_IDs=ga4gh:VA.dwwiZdvVtfAmomu0OBsiHue1O-bw5SpG,ga4gh:VA.MiasxyXMXtOpsZgGelL3c4QgtflCNLHD;VRS_Starts=783005,783005;VRS_Ends=783006,783006;VRS_States=A,G GT:PS:DP:ADALL:AD:GQ 1/1:.:652:16,234:0,82:312 +chr1 783175 . T C 50 PASS platforms=4;platformnames=PacBio,Illumina,10X,Solid;datasets=4;datasetnames=CCS15kb_20kb,HiSeqPE300x,10XChromiumLR,SolidSE75bp;callsets=6;callsetnames=CCS15kb_20kbDV,CCS15kb_20kbGATK4,HiSeqPE300xGATK,10XLRGATK,HiSeqPE300xfreebayes,SolidSE75GATKHC;datasetsmissingcall=CGnormal,IonExome;callable=CS_CCS15kb_20kbDV_callable,CS_CCS15kb_20kbGATK4_callable;difficultregion=HG001.hg38.300x.bam.bilkentuniv.010920.dups,hg38.segdups_sorted_merged;VRS_Allele_IDs=ga4gh:VA.5cY2k53xdW7WeHw2WG1HA7jl50iH-r9p,ga4gh:VA.jHaXepIvlbnapfPtH_62y-Qm81hCrBYn;VRS_Starts=783174,783174;VRS_Ends=783175,783175;VRS_States=T,C GT:PS:DP:ADALL:AD:GQ 1/1:.:639:0,218:0,84:194 +chr1 784860 . T C 50 PASS platforms=4;platformnames=PacBio,Illumina,10X,CG;datasets=4;datasetnames=CCS15kb_20kb,HiSeqPE300x,10XChromiumLR,CGnormal;callsets=6;callsetnames=CCS15kb_20kbDV,CCS15kb_20kbGATK4,HiSeqPE300xGATK,10XLRGATK,CGnormal,HiSeqPE300xfreebayes;datasetsmissingcall=IonExome,SolidSE75bp;callable=CS_CCS15kb_20kbDV_callable,CS_CCS15kb_20kbGATK4_callable;filt=CS_CGnormal_filt;difficultregion=HG001.hg38.300x.bam.bilkentuniv.010920.dups,hg38.segdups_sorted_merged,lowmappabilityall;VRS_Allele_IDs=ga4gh:VA.-NGsjBEx0UbPF3uYjStZ_2r-m2LbUtUB,ga4gh:VA.HLinVo6Q-i-PryQOiq8QAtOeC9oQ9Q3p;VRS_Starts=784859,784859;VRS_Ends=784860,784860;VRS_States=T,C GT:PS:DP:ADALL:AD:GQ 1/1:.:901:105,406:0,74:301 +chr1 785417 . G A 50 PASS platforms=4;platformnames=PacBio,Illumina,10X,CG;datasets=4;datasetnames=CCS15kb_20kb,HiSeqPE300x,10XChromiumLR,CGnormal;callsets=6;callsetnames=CCS15kb_20kbDV,CCS15kb_20kbGATK4,HiSeqPE300xGATK,10XLRGATK,CGnormal,HiSeqPE300xfreebayes;datasetsmissingcall=IonExome,SolidSE75bp;callable=CS_CCS15kb_20kbDV_callable,CS_CCS15kb_20kbGATK4_callable;filt=CS_CGnormal_filt;difficultregion=HG001.hg38.300x.bam.bilkentuniv.010920.dups,hg38.segdups_sorted_merged,lowmappabilityall;VRS_Allele_IDs=ga4gh:VA.qdyeeiC3cLfXeT23zxT9-qlJNN64MKVB,ga4gh:VA.cNWXR3OLq9D3L19vQFvbHw-aH0vlA5cN;VRS_Starts=785416,785416;VRS_Ends=785417,785417;VRS_States=G,A GT:PS:DP:ADALL:AD:GQ 1/1:.:820:125,383:0,70:339 +chr1 797392 . G A 50 PASS platforms=3;platformnames=PacBio,Illumina,10X;datasets=3;datasetnames=CCS15kb_20kb,HiSeqPE300x,10XChromiumLR;callsets=5;callsetnames=CCS15kb_20kbDV,CCS15kb_20kbGATK4,HiSeqPE300xGATK,10XLRGATK,HiSeqPE300xfreebayes;datasetsmissingcall=CGnormal,IonExome,SolidSE75bp;callable=CS_CCS15kb_20kbDV_callable,CS_CCS15kb_20kbGATK4_callable;filt=CS_10XLRGATK_filt,CS_CCS15kb_20kbGATK4_filt;difficultregion=HG001.hg38.300x.bam.bilkentuniv.010920.dups,hg38.segdups_sorted_merged,lowmappabilityall;VRS_Allele_IDs=ga4gh:VA.DVMcfA37Llc9QUOA0XfLJbJ-agKyGpGo,ga4gh:VA.OTiBHLE2WW93M4-4zGVrWSqP2GBj8-qM;VRS_Starts=797391,797391;VRS_Ends=797392,797392;VRS_States=G,A GT:PS:DP:ADALL:AD:GQ 0/1:.:760:161,142:25,37:147 +chr1 798618 . C T 50 PASS platforms=3;platformnames=PacBio,Illumina,10X;datasets=3;datasetnames=CCS15kb_20kb,HiSeqPE300x,10XChromiumLR;callsets=5;callsetnames=CCS15kb_20kbDV,CCS15kb_20kbGATK4,HiSeqPE300xGATK,10XLRGATK,HiSeqPE300xfreebayes;datasetsmissingcall=CGnormal,IonExome,SolidSE75bp;callable=CS_CCS15kb_20kbDV_callable,CS_CCS15kb_20kbGATK4_callable;filt=CS_10XLRGATK_filt;difficultregion=HG001.hg38.300x.bam.bilkentuniv.010920.dups,hg38.segdups_sorted_merged,lowmappabilityall;VRS_Allele_IDs=ga4gh:VA.Y2zN6aTrV5CITqfsTxNs4UoPHDWT7J1D,ga4gh:VA.iY4_r64S1HUg4qnhx1xxo6jDYOcHAS2C;VRS_Starts=798617,798617;VRS_Ends=798618,798618;VRS_States=C,T GT:PS:DP:ADALL:AD:GQ 1/1:.:526:0,196:0,65:157 +chr1 798662 . G A 50 PASS platforms=3;platformnames=PacBio,Illumina,10X;datasets=3;datasetnames=CCS15kb_20kb,HiSeqPE300x,10XChromiumLR;callsets=5;callsetnames=CCS15kb_20kbDV,CCS15kb_20kbGATK4,HiSeqPE300xGATK,10XLRGATK,HiSeqPE300xfreebayes;datasetsmissingcall=CGnormal,IonExome,SolidSE75bp;callable=CS_CCS15kb_20kbDV_callable,CS_CCS15kb_20kbGATK4_callable;filt=CS_10XLRGATK_filt;difficultregion=HG001.hg38.300x.bam.bilkentuniv.010920.dups,hg38.segdups_sorted_merged,lowmappabilityall;VRS_Allele_IDs=ga4gh:VA.Vct2_ORs6aNHZHWW6CY8chNi0uq3ZidU,ga4gh:VA.mKURBIbXRPNnJ3e_hY0PeWAxX_fuEhBf;VRS_Starts=798661,798661;VRS_Ends=798662,798662;VRS_States=G,A GT:PS:DP:ADALL:AD:GQ 1/1:.:563:0,211:0,65:147 +chr1 800046 . G A 50 PASS platforms=4;platformnames=PacBio,Illumina,10X,CG;datasets=4;datasetnames=CCS15kb_20kb,HiSeqPE300x,10XChromiumLR,CGnormal;callsets=6;callsetnames=CCS15kb_20kbDV,CCS15kb_20kbGATK4,HiSeqPE300xGATK,10XLRGATK,CGnormal,HiSeqPE300xfreebayes;datasetsmissingcall=IonExome,SolidSE75bp;callable=CS_CCS15kb_20kbDV_callable,CS_CCS15kb_20kbGATK4_callable;filt=CS_CGnormal_filt;difficultregion=HG001.hg38.300x.bam.bilkentuniv.010920.dups,hg38.segdups_sorted_merged,lowmappabilityall;VRS_Allele_IDs=ga4gh:VA.E2GQ-MdnZqu3y-ypC39G2z73Hfzz61QI,ga4gh:VA.hfQ_ETdkxA2bA8njDJ2DkKkFVR9skxvR;VRS_Starts=800045,800045;VRS_Ends=800046,800046;VRS_States=G,A GT:PS:DP:ADALL:AD:GQ 1/1:.:640:21,249:0,68:197 +chr1 801142 . A T 50 PASS platforms=4;platformnames=PacBio,Illumina,10X,CG;datasets=4;datasetnames=CCS15kb_20kb,HiSeqPE300x,10XChromiumLR,CGnormal;callsets=6;callsetnames=CCS15kb_20kbDV,CCS15kb_20kbGATK4,HiSeqPE300xGATK,10XLRGATK,CGnormal,HiSeqPE300xfreebayes;datasetsmissingcall=IonExome,SolidSE75bp;callable=CS_CCS15kb_20kbDV_callable,CS_CCS15kb_20kbGATK4_callable;filt=CS_HiSeqPE300xGATK_filt,CS_CGnormal_filt,CS_HiSeqPE300xfreebayes_filt;difficultregion=HG001.hg38.300x.bam.bilkentuniv.010920.dups,hg38.segdups_sorted_merged,lowmappabilityall;VRS_Allele_IDs=ga4gh:VA.fywWgzNY9jHrdSO1cFQX-VSeWh8HH4yh,ga4gh:VA.XWkH3tpz8pbj11jHSmUjjPu-94P0gh3W;VRS_Starts=801141,801141;VRS_Ends=801142,801142;VRS_States=A,T GT:PS:DP:ADALL:AD:GQ 1/1:.:431:51,183:0,67:246 diff --git a/test/test_index_input.db b/test/test_index_input.db new file mode 100644 index 0000000000000000000000000000000000000000..2e36f029ac7702fa205c8dbee36ade403e692469 GIT binary patch literal 24576 zcmeI%(QBJP9Kdl+6FUkaee-GL-eRZ>!k+dvTdqZxn8q4do+L{w6Vlj5Q^wvp*nhBp zssB?Scbdl4(vH0@d=Jz+y*q!u&*_7BG3v)zBrcQH)ie|DwL?wUwU0t*npRVrp|)+w z+x2Zj9rY*m*Qzz`-S_Ke>p^QYkF}Q5x^Mn!8LCP_009ILKmY**5I_I{1pY&T^M+v_ z9qE&7`ehNNHw*PS6{gY6I$F-2H;oftI)M~{bKIBWSzl{8y^3r#vil?1+c!HM{pZ_a z&f8TQE|S?ai<4zqY1Aw8RW1qZKs+h&T)18!&!jKTeRtsa6Y)t-gfk9?uBT=hNH4G} zBl6kQs6c)Wgf~>%xZkh#n0;OS?ecY!miK&lg7qrSZ?O&Rr5w5iv(G|Wt zmA>>&V`S!=vus-N8cXT zWxCFiq8(OX!(OG?xYPB0v)$J3M#W;4;gpqHWs%C$|Fl5Wd{o#Q@J(WW!td1#Q?_3V zzr1DGE313zMSGLKY|VUknC~bEAbfB*sr lAb