loqusdb 2.7.16__py3-none-any.whl → 2.7.17__py3-none-any.whl

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.
loqusdb/__init__.py CHANGED
@@ -4,7 +4,7 @@ from pymongo import ASCENDING, IndexModel
4
4
 
5
5
  logger = logging.getLogger(__name__)
6
6
 
7
- __version__ = "2.7.16"
7
+ __version__ = "2.7.17"
8
8
 
9
9
  INDEXES = {
10
10
  "variant": [
loqusdb/commands/load.py CHANGED
@@ -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,
loqusdb/utils/load.py CHANGED
@@ -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
  Metadata-Version: 2.3
2
2
  Name: loqusdb
3
- Version: 2.7.16
3
+ Version: 2.7.17
4
4
  Summary: A simple observation count database
5
5
  License: MIT
6
6
  Author: Your Name
@@ -1,4 +1,4 @@
1
- loqusdb/__init__.py,sha256=D1R2iXsppIzZJxfYNMSdRlrzsMKf-4z-tSMYAFWtEPw,1688
1
+ loqusdb/__init__.py,sha256=OKW6E-XujZmZRrXRSOInDNnGqybJIkbeIBvnFcWqhuo,1688
2
2
  loqusdb/__main__.py,sha256=8FGKySAGaWSzAYMj6HRsxeyiME3V01Idt7HrmN7pSYY,397
3
3
  loqusdb/build_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  loqusdb/build_models/case.py,sha256=AByutEYK2N3kS9JFvyZfPKNZdCpZHCSD0nNHAgaU1Cs,4127
@@ -10,7 +10,7 @@ loqusdb/commands/cli.py,sha256=wJD5S1BoCxtRTAobd1QtmQpzlngJg-mt1nsyD92fDD4,3176
10
10
  loqusdb/commands/delete.py,sha256=R6ysHKSMw1mmL4ZbktoUIKzdzDLQ3314YPYhIy1myic,1979
11
11
  loqusdb/commands/export.py,sha256=HKoRzUo_BHNOdw_TcKUId9TTowi8VJVGqnuDlK-FqFE,3531
12
12
  loqusdb/commands/identity.py,sha256=KLA9c8e6cJFDxtqIa1G6zdHTHK1sz2b3v1Utdtik_4k,787
13
- loqusdb/commands/load.py,sha256=sDGCOGbukdfebLn1iBGyWoI6t3tijLzywP1tg3WheQI,4431
13
+ loqusdb/commands/load.py,sha256=6rrt_XIdUHhNc-HisMRS7G-bWkgYhqggDjbEQubYmUQ,4635
14
14
  loqusdb/commands/load_profile.py,sha256=cflCbF9f77_HCH8xPnN8zSSocvIffRMnC2LPE0j7Xq8,3336
15
15
  loqusdb/commands/migrate.py,sha256=2C8YL-zVqnpnqg3JIyUr0rbVnb8-AGPVWNhicHnPKLo,667
16
16
  loqusdb/commands/restore.py,sha256=eqPX0yao0IAYS5SbjCdlsfSJRBbRByBLISUU2hTzqqs,1492
@@ -43,14 +43,14 @@ loqusdb/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
43
  loqusdb/utils/annotate.py,sha256=cPNWlhsv6yoe3lxNfa9DytO5eACuM_mOJJw_mglVMN0,2646
44
44
  loqusdb/utils/case.py,sha256=aeTvyACJTDjzl-aOjAZaUzFMLisgFKMfcoXSvNAZz4s,2168
45
45
  loqusdb/utils/delete.py,sha256=-ddBM_QXKzlUN6egEJggKzXX1P-WEdi92HgaD1DJRtg,4843
46
- loqusdb/utils/load.py,sha256=ZdsnmHTVGOjwG24Fm5gcUu7tcLwYSqvh3W9j6ixqyF0,8239
46
+ loqusdb/utils/load.py,sha256=1UVB5jUy1DESZdWnRrMcyfFiUgqmj9l-Bm0DZOHetfg,8428
47
47
  loqusdb/utils/migrate.py,sha256=9Q6kdIi9TpFVzDYptlEE8RqPPS5wyzfM3F8egzmmBBk,1113
48
48
  loqusdb/utils/profiling.py,sha256=3OizF7CpYvSl9kyl2g4KGJxbIRUqWfmfLxn3843XYDk,9164
49
49
  loqusdb/utils/update.py,sha256=1edJG-u24FgOSxyXAQEiyTG4IyK-Uo3lSIl5qyzcXsI,4433
50
50
  loqusdb/utils/variant.py,sha256=U6nMZRUf5NDDQ74nG0HBCLMnFQVgFAT6eHll_F2uiwc,2087
51
51
  loqusdb/utils/vcf.py,sha256=ybmrTBEPYa0FbUXo8ttlwATk13RnKjX9eIDbRDwCiVE,5175
52
- loqusdb-2.7.16.dist-info/LICENSE,sha256=urpFcJXw3elN9kV2fFutc-lXegjuu2lqP_GSy8_CAbs,1054
53
- loqusdb-2.7.16.dist-info/METADATA,sha256=Aayv73fzmF_pCfXHNoRZEzen9CbZqZccc5pfwzMXaCE,5321
54
- loqusdb-2.7.16.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
55
- loqusdb-2.7.16.dist-info/entry_points.txt,sha256=wFoWzEFjsSgXkj9FMQA8C9ihZoJ9R1XvbGuX9hEEI6E,52
56
- loqusdb-2.7.16.dist-info/RECORD,,
52
+ loqusdb-2.7.17.dist-info/LICENSE,sha256=urpFcJXw3elN9kV2fFutc-lXegjuu2lqP_GSy8_CAbs,1054
53
+ loqusdb-2.7.17.dist-info/METADATA,sha256=WH2QGz7PhKif97YZxHnOOxmiaN96ZAd_zGCfUnm2GGU,5321
54
+ loqusdb-2.7.17.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
55
+ loqusdb-2.7.17.dist-info/entry_points.txt,sha256=wFoWzEFjsSgXkj9FMQA8C9ihZoJ9R1XvbGuX9hEEI6E,52
56
+ loqusdb-2.7.17.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any