genmod 3.9__tar.gz → 3.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- genmod-3.10/.github/workflows/build_and_publish.yml +63 -0
- genmod-3.10/.github/workflows/check_format.yml +26 -0
- genmod-3.10/.github/workflows/keep_a_changelog.yml +15 -0
- genmod-3.10/.github/workflows/lint.yml +19 -0
- genmod-3.10/.github/workflows/test.yml +24 -0
- genmod-3.10/.gitignore +20 -0
- genmod-3.10/.python-version +1 -0
- genmod-3.10/.travis.yml +16 -0
- genmod-3.10/CHANGELOG.md +49 -0
- genmod-3.10/CITATION.cff +16 -0
- genmod-3.10/DEVELOPING.md +19 -0
- genmod-3.10/Dockerfile +17 -0
- genmod-3.10/Dockerfile.pytest +9 -0
- {genmod-3.9 → genmod-3.10}/MANIFEST.in +5 -1
- genmod-3.10/Makefile +24 -0
- genmod-3.10/PKG-INFO +336 -0
- {genmod-3.9 → genmod-3.10}/README.md +2 -6
- genmod-3.10/artwork/tree_man.JPG +0 -0
- genmod-3.10/docs/commands/annotate-models.md +110 -0
- genmod-3.10/docs/commands/annotate-variants.md +44 -0
- genmod-3.10/docs/commands/build-annotation.md +28 -0
- genmod-3.10/docs/commands/filter-variants.md +43 -0
- genmod-3.10/docs/commands/score-compounds.md +23 -0
- genmod-3.10/docs/commands/score-variants.md +19 -0
- genmod-3.10/docs/genetic-models.md +75 -0
- genmod-3.10/docs/index.md +137 -0
- genmod-3.10/examples/readme.md +57 -0
- genmod-3.10/examples/score_test.ini +155 -0
- genmod-3.10/examples/small_1000G_CADD.tsv +23 -0
- genmod-3.10/examples/small_CADD.tsv +2185 -0
- genmod-3.10/examples/small_dbNSFP.txt +317 -0
- genmod-3.10/examples/small_geneset.gtf +106 -0
- genmod-3.10/examples/test_vcf.vcf +20 -0
- genmod-3.10/genmod/__init__.py +10 -0
- genmod-3.10/genmod/annotate_models/__init__.py +1 -0
- {genmod-3.9 → genmod-3.10}/genmod/annotate_models/fix_variant.py +35 -49
- {genmod-3.9 → genmod-3.10}/genmod/annotate_models/genetic_models.py +202 -227
- genmod-3.10/genmod/annotate_models/make_haploblocks.py +119 -0
- {genmod-3.9 → genmod-3.10}/genmod/annotate_models/model_score.py +22 -20
- genmod-3.10/genmod/annotate_models/models/__init__.py +15 -0
- {genmod-3.9 → genmod-3.10}/genmod/annotate_models/models/compound_model.py +54 -55
- {genmod-3.9 → genmod-3.10}/genmod/annotate_models/models/dominant_model.py +20 -20
- {genmod-3.9 → genmod-3.10}/genmod/annotate_models/models/recessive_model.py +14 -18
- {genmod-3.9 → genmod-3.10}/genmod/annotate_models/models/x_models.py +33 -30
- {genmod-3.9 → genmod-3.10}/genmod/annotate_models/variant_annotator.py +66 -62
- genmod-3.10/genmod/annotate_regions/__init__.py +0 -0
- {genmod-3.9 → genmod-3.10}/genmod/annotate_regions/get_features.py +3 -2
- {genmod-3.9 → genmod-3.10}/genmod/annotate_regions/parse_annotations.py +42 -44
- genmod-3.10/genmod/annotate_variants/__init__.py +10 -0
- genmod-3.10/genmod/annotate_variants/add_annotations.py +131 -0
- genmod-3.10/genmod/annotate_variants/annotate.py +87 -0
- {genmod-3.9 → genmod-3.10}/genmod/annotate_variants/read_tabix_files.py +47 -47
- genmod-3.10/genmod/annotations/__init__.py +7 -0
- {genmod-3.9 → genmod-3.10}/genmod/commands/__init__.py +13 -4
- genmod-3.10/genmod/commands/analyze.py +611 -0
- {genmod-3.9 → genmod-3.10}/genmod/commands/annotate_models.py +188 -187
- genmod-3.10/genmod/commands/annotate_variant.py +230 -0
- {genmod-3.9 → genmod-3.10}/genmod/commands/base.py +34 -30
- {genmod-3.9 → genmod-3.10}/genmod/commands/filter_variants.py +56 -61
- {genmod-3.9 → genmod-3.10}/genmod/commands/genmod_sort.py +42 -72
- {genmod-3.9 → genmod-3.10}/genmod/commands/score_compounds.py +70 -77
- {genmod-3.9 → genmod-3.10}/genmod/commands/score_variants.py +114 -100
- {genmod-3.9 → genmod-3.10}/genmod/commands/summarize_variants.py +81 -77
- genmod-3.10/genmod/commands/utils.py +53 -0
- genmod-3.10/genmod/errors/__init__.py +4 -0
- {genmod-3.9 → genmod-3.10}/genmod/errors/warning.py +6 -5
- {genmod-3.9 → genmod-3.10}/genmod/log.py +8 -8
- genmod-3.10/genmod/score_variants/__init__.py +19 -0
- {genmod-3.9 → genmod-3.10}/genmod/score_variants/cap_rank_score_to_min_bound.py +6 -6
- {genmod-3.9 → genmod-3.10}/genmod/score_variants/check_plugins.py +21 -18
- {genmod-3.9 → genmod-3.10}/genmod/score_variants/compound_scorer.py +147 -107
- {genmod-3.9 → genmod-3.10}/genmod/score_variants/config_parser.py +166 -190
- genmod-3.10/genmod/score_variants/rank_score_variant_definitions.py +8 -0
- {genmod-3.9 → genmod-3.10}/genmod/score_variants/score_function.py +77 -73
- {genmod-3.9 → genmod-3.10}/genmod/score_variants/score_variant.py +70 -60
- genmod-3.10/genmod/utils/__init__.py +44 -0
- {genmod-3.9 → genmod-3.10}/genmod/utils/check_individuals.py +8 -7
- {genmod-3.9 → genmod-3.10}/genmod/utils/get_batches.py +54 -52
- {genmod-3.9 → genmod-3.10}/genmod/utils/get_features.py +57 -27
- {genmod-3.9 → genmod-3.10}/genmod/utils/get_priority.py +36 -34
- {genmod-3.9 → genmod-3.10}/genmod/utils/is_number.py +3 -3
- {genmod-3.9 → genmod-3.10}/genmod/utils/pair_generator.py +17 -15
- {genmod-3.9 → genmod-3.10}/genmod/utils/variant_printer.py +37 -36
- genmod-3.10/genmod/vcf_tools/__init__.py +45 -0
- {genmod-3.9 → genmod-3.10}/genmod/vcf_tools/add_metadata.py +59 -56
- {genmod-3.9 → genmod-3.10}/genmod/vcf_tools/add_variant_information.py +46 -44
- {genmod-3.9 → genmod-3.10}/genmod/vcf_tools/check_info_header.py +6 -5
- {genmod-3.9 → genmod-3.10}/genmod/vcf_tools/genotype.py +33 -36
- genmod-3.10/genmod/vcf_tools/get_genotypes.py +29 -0
- {genmod-3.9 → genmod-3.10}/genmod/vcf_tools/header_parser.py +145 -154
- genmod-3.10/genmod/vcf_tools/parse_variant.py +97 -0
- {genmod-3.9 → genmod-3.10}/genmod/vcf_tools/print_headers.py +5 -6
- {genmod-3.9 → genmod-3.10}/genmod/vcf_tools/print_variants.py +45 -42
- {genmod-3.9 → genmod-3.10}/genmod/vcf_tools/sort_variants.py +21 -26
- genmod-3.10/mkdocs.yml +20 -0
- genmod-3.10/pyproject.toml +73 -0
- genmod-3.10/pytest.ini +5 -0
- genmod-3.10/setup.cfg +13 -0
- genmod-3.10/tests/__init__.py +0 -0
- genmod-3.10/tests/annotate_regions/test_bed_parser.py +35 -0
- genmod-3.10/tests/annotate_regions/test_build_region_trees.py +53 -0
- genmod-3.10/tests/annotate_regions/test_get_interval.py +17 -0
- genmod-3.10/tests/annotate_variants/test_add_annotations.py +101 -0
- genmod-3.10/tests/conftest.py +78 -0
- genmod-3.10/tests/fixtures/annotate_models/one_ind.ped +2 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_1000G.vcf.gz +0 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_1000G.vcf.gz.tbi +0 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_1000G_CADD.tsv.gz +0 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_1000G_CADD.tsv.gz.tbi +0 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_1000G_chr.vcf.gz +0 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_1000G_chr.vcf.gz.tbi +0 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_1000G_maxAF.vcf +316 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_1000G_maxAF.vcf.gz +0 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_1000G_maxAF.vcf.gz.tbi +0 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_CADD.tsv.gz +0 -0
- genmod-3.10/tests/fixtures/annotate_variant/small_CADD.tsv.gz.tbi +0 -0
- genmod-3.10/tests/fixtures/comp_check.vcf +17 -0
- genmod-3.10/tests/fixtures/duo.ped +3 -0
- genmod-3.10/tests/fixtures/empty.vcf +5 -0
- genmod-3.10/tests/fixtures/one_ind.ped +2 -0
- genmod-3.10/tests/fixtures/recessive_trio.ped +4 -0
- genmod-3.10/tests/fixtures/reduced_penetrance.tsv +2 -0
- genmod-3.10/tests/fixtures/resources/small_spidex.tsv +1540 -0
- genmod-3.10/tests/fixtures/resources/small_spidex.tsv.gz +0 -0
- genmod-3.10/tests/fixtures/resources/small_spidex.tsv.gz.tbi +0 -0
- genmod-3.10/tests/fixtures/score_variants/genmod_example.ini +180 -0
- {genmod-3.9/examples → genmod-3.10/tests/fixtures}/test_vcf.vcf +2 -2
- genmod-3.10/tests/fixtures/test_vcf_annotated.vcf +27 -0
- genmod-3.10/tests/fixtures/test_vcf_annotated_empty.vcf +12 -0
- genmod-3.10/tests/fixtures/test_vcf_annotated_scored.vcf +27 -0
- genmod-3.10/tests/fixtures/test_vcf_regions.vcf +21 -0
- genmod-3.10/tests/fixtures/test_vcf_regions_with_chr.vcf +21 -0
- genmod-3.10/tests/functionality/test_annotate_models.py +97 -0
- genmod-3.10/tests/functionality/test_annotate_variant.py +62 -0
- genmod-3.10/tests/functionality/test_filter_variants.py +16 -0
- genmod-3.10/tests/functionality/test_score_variants.py +62 -0
- genmod-3.10/tests/functionality/test_score_variants_ranks_score_is_float.py +98 -0
- genmod-3.10/tests/functionality/test_sort_variants.py +98 -0
- genmod-3.10/tests/functionality/test_utils.py +40 -0
- genmod-3.10/tests/genetic_models/test_dominant_model.py +138 -0
- genmod-3.10/tests/genetic_models/test_x_dominant.py +251 -0
- genmod-3.10/tests/genetic_models/test_x_recessive.py +187 -0
- genmod-3.10/tests/score_variants/test_category_score.py +294 -0
- genmod-3.10/tests/score_variants/test_config_parser.py +91 -0
- genmod-3.10/tests/score_variants/test_rankscore_capping.py +41 -0
- genmod-3.10/tests/score_variants/test_score_function.py +136 -0
- genmod-3.10/tests/utils/test_check_individuals.py +23 -0
- genmod-3.10/tests/utils/test_check_vep_annotation.py +27 -0
- genmod-3.10/tests/utils/test_generate_pairs.py +43 -0
- genmod-3.10/tests/utils/test_get_annotation.py +59 -0
- genmod-3.10/tests/utils/test_get_batches.py +215 -0
- genmod-3.10/tests/utils/test_get_priority.py +41 -0
- genmod-3.10/tests/utils/test_get_rank_score.py +75 -0
- genmod-3.10/tests/utils/test_is_number.py +31 -0
- genmod-3.10/tests/utils/test_variant_printer.py +78 -0
- genmod-3.10/tests/variant_annotation/test_get_frequencies.py +29 -0
- genmod-3.10/tests/variant_annotation/test_get_haploblocks.py +104 -0
- genmod-3.10/tests/variant_annotation/test_get_tabix_records.py +31 -0
- genmod-3.10/tests/vcf_tools/test_genotype.py +190 -0
- genmod-3.10/tests/vcf_tools/test_header_parser.py +94 -0
- genmod-3.10/tests/vcf_tools/test_parse_variant.py +19 -0
- genmod-3.10/tests/vcf_tools/test_sorting.py +55 -0
- genmod-3.10/uv.lock +1045 -0
- genmod-3.9/PKG-INFO +0 -19
- genmod-3.9/genmod/__init__.py +0 -14
- genmod-3.9/genmod/annotate_models/__init__.py +0 -7
- genmod-3.9/genmod/annotate_models/make_haploblocks.py +0 -126
- genmod-3.9/genmod/annotate_models/models/__init__.py +0 -7
- genmod-3.9/genmod/annotate_variants/__init__.py +0 -4
- genmod-3.9/genmod/annotate_variants/add_annotations.py +0 -122
- genmod-3.9/genmod/annotate_variants/annotate.py +0 -82
- genmod-3.9/genmod/annotations/__init__.py +0 -7
- genmod-3.9/genmod/commands/analyze.py +0 -628
- genmod-3.9/genmod/commands/annotate_variant.py +0 -212
- genmod-3.9/genmod/commands/utils.py +0 -53
- genmod-3.9/genmod/errors/__init__.py +0 -2
- genmod-3.9/genmod/score_variants/__init__.py +0 -8
- genmod-3.9/genmod/score_variants/rank_score_variant_definitions.py +0 -8
- genmod-3.9/genmod/utils/__init__.py +0 -67
- genmod-3.9/genmod/vcf_tools/__init__.py +0 -16
- genmod-3.9/genmod/vcf_tools/get_genotypes.py +0 -29
- genmod-3.9/genmod/vcf_tools/parse_variant.py +0 -93
- genmod-3.9/genmod.egg-info/PKG-INFO +0 -19
- genmod-3.9/genmod.egg-info/SOURCES.txt +0 -96
- genmod-3.9/genmod.egg-info/dependency_links.txt +0 -1
- genmod-3.9/genmod.egg-info/entry_points.txt +0 -3
- genmod-3.9/genmod.egg-info/requires.txt +0 -10
- genmod-3.9/genmod.egg-info/top_level.txt +0 -1
- genmod-3.9/setup.cfg +0 -14
- genmod-3.9/setup.py +0 -64
- {genmod-3.9 → genmod-3.10}/LICENSE.txt +0 -0
- /genmod-3.9/genmod/annotate_regions/__init__.py → /genmod-3.10/docs/commands/sort-variants.md +0 -0
- {genmod-3.9 → genmod-3.10}/examples/dominant_trio.ped +0 -0
- {genmod-3.9 → genmod-3.10}/examples/multi_allele_example.vcf +0 -0
- {genmod-3.9 → genmod-3.10}/examples/multi_family.ped +0 -0
- {genmod-3.9 → genmod-3.10}/examples/recessive_trio.ped +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_1000G.vcf +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_1000G.vcf.gz +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_1000G.vcf.gz.tbi +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_1000G_CADD.tsv.gz +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_1000G_CADD.tsv.gz.tbi +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_CADD.tsv.gz +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_CADD.tsv.gz.tbi +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_dbNSFP.txt.gz +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_dbNSFP.txt.gz.tbi +0 -0
- {genmod-3.9 → genmod-3.10}/examples/small_vep.vcf +0 -0
- {genmod-3.9 → genmod-3.10}/examples/test_phased_compounds.vcf +0 -0
- {genmod-3.9 → genmod-3.10}/examples/test_vcf_regions.vcf +0 -0
- {genmod-3.9 → genmod-3.10}/examples/test_vcf_regions_models.vcf +0 -0
- {genmod-3.9 → genmod-3.10}/examples/test_vcf_regions_models_scored.vcf +0 -0
- {genmod-3.9 → genmod-3.10}/genmod/annotations/ensembl_genes_37.txt.gz +0 -0
- {genmod-3.9 → genmod-3.10}/genmod/annotations/ensembl_genes_38.txt.gz +0 -0
- {genmod-3.9 → genmod-3.10}/genmod/configs/genmod_test.v1.5.ini +0 -0
- {genmod-3.9 → genmod-3.10}/genmod/configs/rank_model_cmms_v1.7.ini +0 -0
- {genmod-3.9 → genmod-3.10}/genmod/configs/rank_model_cmms_v1.9.ini +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types:
|
|
6
|
+
- created
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
pypi:
|
|
10
|
+
name: Build and publish to PyPI
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
id-token: write
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
- uses: astral-sh/setup-uv@v3
|
|
17
|
+
- run: uv build
|
|
18
|
+
- run: uv publish --trusted-publishing always
|
|
19
|
+
|
|
20
|
+
docker-image-CI:
|
|
21
|
+
name: Docker Image CI
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
steps:
|
|
24
|
+
|
|
25
|
+
- name: Check out git repository
|
|
26
|
+
uses: actions/checkout@v4
|
|
27
|
+
|
|
28
|
+
- name: Login to Docker Hub
|
|
29
|
+
uses: docker/login-action@v3
|
|
30
|
+
with:
|
|
31
|
+
username: ${{ secrets.DOCKER_USERNAME }}
|
|
32
|
+
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
33
|
+
|
|
34
|
+
- name: Set up Docker Buildx
|
|
35
|
+
id: buildx
|
|
36
|
+
uses: docker/setup-buildx-action@v3
|
|
37
|
+
|
|
38
|
+
- name: Publish server image (Dockerfile-server) to Registry
|
|
39
|
+
uses: docker/build-push-action@v6
|
|
40
|
+
with:
|
|
41
|
+
context: ./
|
|
42
|
+
file: ./Dockerfile
|
|
43
|
+
push: true
|
|
44
|
+
provenance: mode=max
|
|
45
|
+
sbom: true
|
|
46
|
+
tags: "clinicalgenomics/genmod:latest, clinicalgenomics/genmod:${{ github.event.release.tag_name }}"
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
deploy-docs:
|
|
50
|
+
name: Deploy Docs to GitHubIO
|
|
51
|
+
runs-on: ubuntu-latest
|
|
52
|
+
steps:
|
|
53
|
+
- name: Checkout repo
|
|
54
|
+
uses: actions/checkout@v4
|
|
55
|
+
- name: Setup environment for docs deployment
|
|
56
|
+
uses: actions/setup-python@v5
|
|
57
|
+
with:
|
|
58
|
+
python-version: 3.x
|
|
59
|
+
- name: Install mkdocs
|
|
60
|
+
run: pip install mkdocs mkdocs-material markdown-include
|
|
61
|
+
- name: Deploy documentation
|
|
62
|
+
run: mkdocs gh-deploy --force
|
|
63
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Basic CI setup: Lint format with ruff
|
|
2
|
+
name: Format-check
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
pull_request:
|
|
6
|
+
types: [ opened, synchronize, reopened, ready_for_review, labeled, unlabeled ]
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
lint-format:
|
|
10
|
+
name: Ruff includes and format
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
- name: Ruff check import sorting
|
|
16
|
+
uses: astral-sh/ruff-action@v3
|
|
17
|
+
with:
|
|
18
|
+
version: "latest"
|
|
19
|
+
args: "check --select I ."
|
|
20
|
+
|
|
21
|
+
- name: Ruff format diff
|
|
22
|
+
uses: astral-sh/ruff-action@v3
|
|
23
|
+
with:
|
|
24
|
+
version: "latest"
|
|
25
|
+
args: "format --diff ."
|
|
26
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name: "Changelog Reminder"
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
# Enforces the update of a changelog file on every pull request
|
|
8
|
+
changelog:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v4
|
|
12
|
+
- uses: dangoslen/changelog-enforcer@v3
|
|
13
|
+
with:
|
|
14
|
+
changeLogPath: 'CHANGELOG.md'
|
|
15
|
+
skipLabels: 'Skip-Changelog'
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Basic CI setup: Lint with ruff
|
|
2
|
+
name: Lint
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
pull_request:
|
|
6
|
+
types: [ opened, synchronize, reopened, ready_for_review, labeled, unlabeled ]
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
lint:
|
|
10
|
+
name: Lint
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
- name: Ruff lint
|
|
16
|
+
uses: astral-sh/ruff-action@v3
|
|
17
|
+
with:
|
|
18
|
+
version: "latest"
|
|
19
|
+
args: "check ."
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
#push:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
run-tests:
|
|
9
|
+
timeout-minutes: 30
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- name: Checkout Repository
|
|
13
|
+
uses: actions/checkout@v4
|
|
14
|
+
with:
|
|
15
|
+
ref: "${{github.event.inputs.branch_name}}"
|
|
16
|
+
fetch-depth: 0
|
|
17
|
+
|
|
18
|
+
- name: Run Tests
|
|
19
|
+
run: |
|
|
20
|
+
make test
|
|
21
|
+
|
|
22
|
+
- name: Run Packaging Test
|
|
23
|
+
run: |
|
|
24
|
+
make test_dist
|
genmod-3.10/.gitignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.13
|
genmod-3.10/.travis.yml
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# config file for automatic testing at travis-ci.org
|
|
2
|
+
language: python
|
|
3
|
+
|
|
4
|
+
python:
|
|
5
|
+
- "2.7"
|
|
6
|
+
|
|
7
|
+
install:
|
|
8
|
+
# install test dependencies and package
|
|
9
|
+
- pip install pytest
|
|
10
|
+
- pip install .
|
|
11
|
+
|
|
12
|
+
script:
|
|
13
|
+
- py.test
|
|
14
|
+
|
|
15
|
+
notifications:
|
|
16
|
+
email: no
|
genmod-3.10/CHANGELOG.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
All notable changes to this project will be documented in this file.
|
|
3
|
+
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
|
+
|
|
5
|
+
About changelog [here](https://keepachangelog.com/en/1.0.0/)
|
|
6
|
+
|
|
7
|
+
Please add a new candidate release at the top after changing the latest one. Feel free to copy paste from the "squash and commit" box that gets generated when creating PRs
|
|
8
|
+
|
|
9
|
+
Try to use the following format:
|
|
10
|
+
|
|
11
|
+
## [3.10]
|
|
12
|
+
### Changed
|
|
13
|
+
- Use `uv` with `hatchling` to build and publish ([#104](https://github.com/Clinical-Genomics/genmod/issues/143))
|
|
14
|
+
- Automation for Docker publish and mkdocs githubio ([#161](https://github.com/Clinical-Genomics/genmod/issues/161))
|
|
15
|
+
### Fixed
|
|
16
|
+
- The optional fields Source and Version are allowed in the VCF header([#106](https://github.com/Clinical-Genomics/genmod/pull/106))
|
|
17
|
+
- Released the constraint on Python 3.8 (collections, pkg_resources to importlib, tests) ([#142](https://github.com/Clinical-Genomics/genmod/pull/142))
|
|
18
|
+
- Update annotation examples ([#144](https://github.com/Clinical-Genomics/genmod/pull/144))
|
|
19
|
+
- Updated documentation with warning about compounds only being scored within the first family in the VCF ([#151](https://github.com/Clinical-Genomics/genmod/pull/151))
|
|
20
|
+
- Fixed sorting of variants ([#152](https://github.com/Clinical-Genomics/genmod/pull/152))
|
|
21
|
+
- genmod annotate for mitochondrial variants when using the `chrM` notation ([#157](https://github.com/Clinical-Genomics/genmod/pull/157))
|
|
22
|
+
- Fix linting issues ([#154](https://github.com/Clinical-Genomics/genmod/issues/154))
|
|
23
|
+
- genmod models adds headers to VCF even if it contains no variants ([#160](https://github.com/Clinical-Genomics/genmod/pull/160))
|
|
24
|
+
|
|
25
|
+
## [3.9]
|
|
26
|
+
- Fixed wrong models when chromosome X was named `chrX` and not `X` ([#135](https://github.com/Clinical-Genomics/genmod/pull/135))
|
|
27
|
+
- Added GitHub Actions workflows for automatic publishing to PyPI on release, and keep a changelog reminder ([#136](https://github.com/Clinical-Genomics/genmod/pull/136))
|
|
28
|
+
- Optional user defined threshold and penalty for compound scoring ([#138](https://github.com/Clinical-Genomics/genmod/pull/138))
|
|
29
|
+
- Update README with current github.io docs page ([#140](https://github.com/Clinical-Genomics/genmod/pull/140))
|
|
30
|
+
|
|
31
|
+
## [3.8.3]
|
|
32
|
+
- Fixed unstable compounds order in models output ([#134](https://github.com/Clinical-Genomics/genmod/pull/134))
|
|
33
|
+
- Added `six` to requirements.txt and setup.py ([#134](https://github.com/Clinical-Genomics/genmod/pull/134))
|
|
34
|
+
|
|
35
|
+
## [3.8.0]
|
|
36
|
+
- Rank score normalisation
|
|
37
|
+
|
|
38
|
+
## [3.7.4]
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
- OSError crashes due to socket address conflicts when using containers
|
|
42
|
+
|
|
43
|
+
## [x.x.x]
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- Adds support for escaped characters in FORMAT description header strings
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
- Documentation about cli options `strict` and `phased`
|
genmod-3.10/CITATION.cff
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
message: If you use this software, please cite it using these metadata.
|
|
3
|
+
title: genmod
|
|
4
|
+
abstract: Tool for annotating patterns of genetic inheritance in Variant Call Format (VCF) files.
|
|
5
|
+
authors:
|
|
6
|
+
- family-names: Magnusson
|
|
7
|
+
given-names: Måns
|
|
8
|
+
orcid: "https:// https://orcid.org/0000-0002-0001-1047"
|
|
9
|
+
version: 3.7.3
|
|
10
|
+
date-released: "2018-11-15"
|
|
11
|
+
identifiers:
|
|
12
|
+
- description: Updates click dependency
|
|
13
|
+
type: doi
|
|
14
|
+
value: "10.5281/zenodo.3841142"
|
|
15
|
+
license: MIT Licence
|
|
16
|
+
repository-code: "https://github.com/Clinical-Genomics/genmod"
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Developing
|
|
2
|
+
|
|
3
|
+
## Host Requirements
|
|
4
|
+
* Docker
|
|
5
|
+
* package "build-essentials" for running Makefile
|
|
6
|
+
|
|
7
|
+
## Run pytest
|
|
8
|
+
There's support for pytest via Docker.
|
|
9
|
+
|
|
10
|
+
Run the following to run pytest:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
make test
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Running Genmod CLI
|
|
17
|
+
```
|
|
18
|
+
python3 -m genmod.commands.base
|
|
19
|
+
```
|
genmod-3.10/Dockerfile
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
###############################################
|
|
2
|
+
# Dockerfile to build GeMod container image
|
|
3
|
+
###############################################
|
|
4
|
+
FROM ghcr.io/astral-sh/uv:python3.13-alpine
|
|
5
|
+
|
|
6
|
+
RUN apk update & apk add build-base zlib-dev
|
|
7
|
+
# Copy the project into the image
|
|
8
|
+
ADD . /app
|
|
9
|
+
|
|
10
|
+
# Sync the project into a new virtual environment, using the frozen lockfile
|
|
11
|
+
WORKDIR /app
|
|
12
|
+
RUN uv sync --frozen
|
|
13
|
+
|
|
14
|
+
# Add the project venv to PATH to be able to run genmod without changing to the environment
|
|
15
|
+
ENV PATH="/app/.venv/bin:$PATH"
|
|
16
|
+
|
|
17
|
+
ENTRYPOINT ["genmod"]
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
include CHANGELOG.md
|
|
2
|
+
include LICENSE.txt
|
|
3
|
+
include README.md
|
|
4
|
+
|
|
1
5
|
recursive-include examples *.ped *.vcf *.gz *.tbi
|
|
2
6
|
recursive-include genmod/annotations *.gz
|
|
3
7
|
recursive-include genmod/configs *.ini
|
|
4
8
|
recursive-exclude * __pycache__
|
|
5
|
-
recursive-exclude * *.py[co]
|
|
9
|
+
recursive-exclude * *.py[co]
|
genmod-3.10/Makefile
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.PHONY: *
|
|
2
|
+
|
|
3
|
+
DOCKER=DOCKER_BUILDKIT=1 docker
|
|
4
|
+
|
|
5
|
+
all:
|
|
6
|
+
# Nothing to be built
|
|
7
|
+
|
|
8
|
+
docker-build:
|
|
9
|
+
$(DOCKER) build -t genmod/test --force-rm=true --rm=true -f Dockerfile.pytest .
|
|
10
|
+
|
|
11
|
+
test: docker-build
|
|
12
|
+
$(DOCKER) run -i -l genmod-test genmod/test -v
|
|
13
|
+
|
|
14
|
+
test_%: docker-build
|
|
15
|
+
$(DOCKER) run -i -l genmod-test genmod/test -v -k $@
|
|
16
|
+
|
|
17
|
+
test_dist: docker-build
|
|
18
|
+
$(DOCKER) run -i -l genmod-test --entrypoint=bash genmod/test -c \
|
|
19
|
+
"uv build && \
|
|
20
|
+
pip3 install dist/genmod*.tar.gz && \
|
|
21
|
+
uv run genmod -v annotate --annotate-regions --genome-build 37 examples/test_vcf.vcf"
|
|
22
|
+
|
|
23
|
+
docker-clean-images:
|
|
24
|
+
docker system prune
|