diff --git a/.github/workflows/test_example_scripts.yml b/.github/workflows/test_example_scripts.yml new file mode 100644 index 000000000..f551ea021 --- /dev/null +++ b/.github/workflows/test_example_scripts.yml @@ -0,0 +1,50 @@ +name: Test Example Scripts + +on: + push: + branches: [ main, staging ] + pull_request: + branches: [ main, staging] + +jobs: + run-scripts: + runs-on: 'ubuntu-latest' + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.3' + + - name: Install Ruby dependencies + run: gem install httparty + + - name: Run Ruby script + run: ruby examples/fetch_variant_links.rb + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.13' + + - name: Install Python dependencies + run: pip install requests + + - name: Run Python script + run: python examples/fetch_all_variants.py + + - name: Set up R + uses: r-lib/actions/setup-r@v2 + with: + r-version: '4.4' + + - name: Install system dependencies for R packages + run: | + sudo apt-get update + sudo apt-get install -y libcurl4-openssl-dev libssl-dev libxml2-dev + + - name: Run R script + run: Rscript examples/fetch_acmg_code.R diff --git a/examples/fetch_acmg_code.R b/examples/fetch_acmg_code.R index 0a6db530f..f1ba8346c 100644 --- a/examples/fetch_acmg_code.R +++ b/examples/fetch_acmg_code.R @@ -1,3 +1,4 @@ +install.packages(c("ghql", "jsonlite", "dplyr"), repos="https://cloud.r-project.org") library(ghql) library(jsonlite) library(dplyr) diff --git a/examples/fetch_all_variants.py b/examples/fetch_all_variants.py index 2aaa93341..dad648b6c 100644 --- a/examples/fetch_all_variants.py +++ b/examples/fetch_all_variants.py @@ -23,34 +23,28 @@ def run_query(query, variables): id name variantAliases - variantBases - referenceBases - referenceBuild - clinvarIds - alleleRegistryId - ensemblVersion - gene { - name + variantTypes { id - entrezId + soid + description } - hgvsDescriptions - primaryCoordinates { - start - stop - chromosome - representativeTranscript + ... on GeneVariant { + coordinates { + chromosome + start + stop + referenceBases + variantBases + representativeTranscript + referenceBuild + } } - secondaryCoordinates{ - start - stop - chromosome - representativeTranscript + ... on FactorVariant { + name + ncitId } - variantTypes { - id - soid - description + ... on FusionVariant { + viccCompliantName } } } diff --git a/examples/fetch_variant_links.rb b/examples/fetch_variant_links.rb index 2b10da217..92f5a1dde 100644 --- a/examples/fetch_variant_links.rb +++ b/examples/fetch_variant_links.rb @@ -1,4 +1,5 @@ require 'httparty' +require 'json' def call_graphql_api(url:, query:, vars:) headers = {