loqusdb 2.7.14__tar.gz → 2.7.17__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.
Files changed (95) hide show
  1. {loqusdb-2.7.14 → loqusdb-2.7.17}/PKG-INFO +1 -1
  2. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/__init__.py +1 -1
  3. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/export.py +7 -1
  4. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/load.py +9 -0
  5. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/load.py +7 -4
  6. {loqusdb-2.7.14 → loqusdb-2.7.17}/pyproject.toml +1 -1
  7. {loqusdb-2.7.14 → loqusdb-2.7.17}/LICENSE +0 -0
  8. {loqusdb-2.7.14 → loqusdb-2.7.17}/README.md +0 -0
  9. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/__main__.py +0 -0
  10. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/build_models/__init__.py +0 -0
  11. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/build_models/case.py +0 -0
  12. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/build_models/profile_variant.py +0 -0
  13. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/build_models/variant.py +0 -0
  14. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/__init__.py +0 -0
  15. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/annotate.py +0 -0
  16. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/cli.py +0 -0
  17. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/delete.py +0 -0
  18. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/identity.py +0 -0
  19. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/load_profile.py +0 -0
  20. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/migrate.py +0 -0
  21. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/restore.py +0 -0
  22. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/update.py +0 -0
  23. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/view.py +0 -0
  24. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/commands/wipe.py +0 -0
  25. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/constants/__init__.py +0 -0
  26. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/exceptions/__init__.py +0 -0
  27. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/exceptions/case.py +0 -0
  28. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/exceptions/profile.py +0 -0
  29. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/exceptions/vcf.py +0 -0
  30. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/log.py +0 -0
  31. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/models/__init__.py +0 -0
  32. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/models/case.py +0 -0
  33. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/models/identity.py +0 -0
  34. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/models/profile_variant.py +0 -0
  35. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/models/variant.py +0 -0
  36. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/plugins/__init__.py +0 -0
  37. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/plugins/mongo/__init__.py +0 -0
  38. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/plugins/mongo/adapter.py +0 -0
  39. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/plugins/mongo/case.py +0 -0
  40. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/plugins/mongo/profile_variant.py +0 -0
  41. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/plugins/mongo/structural_variant.py +0 -0
  42. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/plugins/mongo/variant.py +0 -0
  43. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/resources/__init__.py +0 -0
  44. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/resources/loqusdb.20181005.gz +0 -0
  45. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/resources/maf_50_sites_GRCh37.vcf.gz +0 -0
  46. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/resources/maf_50_sites_GRCh38.vcf.gz +0 -0
  47. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/__init__.py +0 -0
  48. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/annotate.py +0 -0
  49. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/case.py +0 -0
  50. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/delete.py +0 -0
  51. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/migrate.py +0 -0
  52. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/profiling.py +0 -0
  53. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/update.py +0 -0
  54. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/variant.py +0 -0
  55. {loqusdb-2.7.14 → loqusdb-2.7.17}/loqusdb/utils/vcf.py +0 -0
  56. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/build_models/test_build_case.py +0 -0
  57. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/build_models/test_build_variant.py +0 -0
  58. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/build_models/test_is_greater.py +0 -0
  59. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/commands/test_export.py +0 -0
  60. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/commands/test_identity.py +0 -0
  61. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/commands/test_view.py +0 -0
  62. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/conftest.py +0 -0
  63. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/643594.clinical.SV.vcf +0 -0
  64. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/643594.clinical.vcf.gz +0 -0
  65. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/double_variant.vcf +0 -0
  66. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/funny_trio.ped +0 -0
  67. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/profile_snv.vcf +0 -0
  68. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/recessive_trio.ped +0 -0
  69. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/test.SV.vcf +0 -0
  70. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/test.vcf +0 -0
  71. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/test.vcf.gz +0 -0
  72. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/test.vcf.gz.tbi +0 -0
  73. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/fixtures/unsorted.vcf +0 -0
  74. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/functional/test_cli.py +0 -0
  75. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/plugins/mongo/test_case_operations.py +0 -0
  76. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/plugins/mongo/test_connect.py +0 -0
  77. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/plugins/mongo/test_flask_extension.py +0 -0
  78. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/plugins/mongo/test_get_sv.py +0 -0
  79. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/plugins/mongo/test_load_svs.py +0 -0
  80. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/plugins/mongo/test_variant_operations.py +0 -0
  81. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_case.py +0 -0
  82. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_delete.py +0 -0
  83. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_delete_family.py +0 -0
  84. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_delete_variant.py +0 -0
  85. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_get_family.py +0 -0
  86. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_load_database.py +0 -0
  87. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_load_family.py +0 -0
  88. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_load_variants.py +0 -0
  89. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_migrate.py +0 -0
  90. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/utils/test_profiling.py +0 -0
  91. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/vcf_tools/test_check_par.py +0 -0
  92. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/vcf_tools/test_check_vcf.py +0 -0
  93. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/vcf_tools/test_format_sv_variant.py +0 -0
  94. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/vcf_tools/test_format_variant.py +0 -0
  95. {loqusdb-2.7.14 → loqusdb-2.7.17}/tests/vcf_tools/test_vcf.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: loqusdb
3
- Version: 2.7.14
3
+ Version: 2.7.17
4
4
  Summary: A simple observation count database
5
5
  License: MIT
6
6
  Author: Your Name
@@ -4,7 +4,7 @@ from pymongo import ASCENDING, IndexModel
4
4
 
5
5
  logger = logging.getLogger(__name__)
6
6
 
7
- __version__ = "2.7.14"
7
+ __version__ = "2.7.17"
8
8
 
9
9
  INDEXES = {
10
10
  "variant": [
@@ -51,7 +51,13 @@ def export(ctx, outfile, variant_type, freq):
51
51
  for chrom in existing_chromosomes:
52
52
  ordered_chromosomes.append(chrom)
53
53
 
54
- nr_cases = adapter.case_count()
54
+ if variant_type == "snv":
55
+ nr_cases = adapter.nr_cases(snv_cases=True)
56
+ elif variant_type == "sv":
57
+ nr_cases = adapter.nr_cases(sv_cases=True)
58
+ else:
59
+ raise ValueError(f"Unknown variant_type: {variant_type}, expected 'snv' or 'sv'")
60
+
55
61
  LOG.info(f"Found {nr_cases} cases in database")
56
62
 
57
63
  head = HeaderParser()
@@ -88,6 +88,13 @@ def validate_profile_threshold(ctx, param, value):
88
88
  callback=validate_profile_threshold,
89
89
  help="profile hamming distance to store similar individuals (0-1)",
90
90
  )
91
+ @click.option(
92
+ "--snv-gq-only",
93
+ is_flag=True,
94
+ default=False,
95
+ show_default=True,
96
+ help="Apply GQ threshold only to SNV variants",
97
+ )
91
98
  @click.pass_context
92
99
  def load(
93
100
  ctx,
@@ -104,6 +111,7 @@ def load(
104
111
  hard_threshold,
105
112
  soft_threshold,
106
113
  qual_gq,
114
+ snv_gq_only,
107
115
  ):
108
116
  """Load the variants of a case
109
117
 
@@ -145,6 +153,7 @@ def load(
145
153
  skip_case_id=skip_case_id,
146
154
  case_id=case_id,
147
155
  gq_threshold=gq_threshold,
156
+ snv_gq_only=snv_gq_only,
148
157
  qual_gq=qual_gq,
149
158
  max_window=max_window,
150
159
  profile_file=variant_profile_path,
@@ -31,6 +31,7 @@ def load_database(
31
31
  family_type="ped",
32
32
  skip_case_id=False,
33
33
  gq_threshold=None,
34
+ snv_gq_only=False,
34
35
  qual_gq=False,
35
36
  case_id=None,
36
37
  max_window=3000,
@@ -88,11 +89,13 @@ def load_database(
88
89
  adapter, profiles, hard_threshold=hard_threshold, soft_threshold=soft_threshold
89
90
  )
90
91
 
91
- # If a gq threshold is used the variants needs to have GQ
92
+ # If a gq threshold is used the variants need to have GQ (only SNVs if snv_gq_only)
92
93
  for _vcf_file in vcf_files:
93
- # Get a cyvcf2.VCF object
94
- vcf = get_vcf(_vcf_file)
94
+ is_sv = _vcf_file == sv_file
95
+ if snv_gq_only and is_sv:
96
+ continue # skip GQ check for SV VCF
95
97
 
98
+ vcf = get_vcf(_vcf_file)
96
99
  if gq_threshold and not vcf.contains("GQ") and not qual_gq:
97
100
  LOG.warning("Set gq-threshold to 0 or add info to vcf {0}".format(_vcf_file))
98
101
  raise SyntaxError("GQ is not defined in vcf header")
@@ -144,7 +147,7 @@ def load_database(
144
147
  vcf_obj=vcf_obj,
145
148
  case_obj=case_obj,
146
149
  skip_case_id=skip_case_id,
147
- gq_threshold=gq_threshold,
150
+ gq_threshold=gq_threshold if not snv_gq_only or variant_type == "snv" else None,
148
151
  qual_gq=qual_gq,
149
152
  max_window=max_window,
150
153
  variant_type=variant_type,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "loqusdb"
3
- version = "2.7.14"
3
+ version = "2.7.17"
4
4
  description = "A simple observation count database"
5
5
  authors = ["Your Name <you@example.com>"]
6
6
  license = "MIT"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes