Skip to content

Commit

Permalink
fixed code and add test
Browse files Browse the repository at this point in the history
  • Loading branch information
northwestwitch committed Apr 17, 2020
1 parent e2a927f commit 8db7b3f
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
4 changes: 2 additions & 2 deletions cgbeacon2/models/variant.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ def __init__(self, parsed_variant, datasetIds, genome_assembly="GRCh37"):
self.end = parsed_variant["end"] # int
self.endMin = parsed_variant["end"] # int, for for querying imprecise positions
self.endMax = parsed_variant["end"] # int, for for querying imprecise positions
self.referenceBases = parsed_variant["reference_bases"] # str, '^([ACGT]+|N)$'
self.alternateBases = parsed_variant["alternate_bases"] # str, '^([ACGT]+|N)$'
self.referenceBases = ''.join(parsed_variant["reference_bases"]) # str, '^([ACGT]+|N)$'
self.alternateBases = ''.join(parsed_variant["alternate_bases"]) # str, '^([ACGT]+|N)$'
if parsed_variant.get("variant_type"):
self.variantType = parsed_variant["variant_type"] # is used to denote structural variants: 'INS', 'DUP', 'DEL', 'INV'
self.assemblyId = genome_assembly # str
Expand Down
19 changes: 16 additions & 3 deletions tests/cli/add/test_add_variants.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,19 +78,32 @@ def test_add_variants_snv_vcf(mock_app, test_dataset_cli, database):
# Having a database containing a dataset
dataset = test_dataset_cli
database["dataset"].insert_one(dataset)
sample = 'ADM1059A1'

# When invoking the add variants from a VCF file
result = runner.invoke(cli, [
'add',
'variants',
'-ds', dataset["_id"],
'-vcf', test_snv_vcf_path,
'-sample', 'ADM1059A1'
'-sample', sample
])

# Then the command should NOT return error
assert result.exit_code == 0
assert f"variants loaded into the database" in result.output


#
# and variants parsed correctly have been saved to database
test_variant = database["variant"].find_one()
assert isinstance(test_variant["referenceName"], str)
assert isinstance(test_variant["start"], int)
assert isinstance(test_variant["startMin"], int)
assert isinstance(test_variant["startMax"], int)
assert isinstance(test_variant["end"], int)
assert isinstance(test_variant["endMin"], int)
assert isinstance(test_variant["endMax"], int)
assert isinstance(test_variant["referenceBases"], str)
assert isinstance(test_variant["alternateBases"], str)
assert test_variant["assemblyId"] == "GRCh37"
assert test_variant["datasetIds"] == [dataset["_id"]]
assert test_variant["sampleIds"] == [sample]

0 comments on commit 8db7b3f

Please sign in to comment.