Skip to content

Commit

Permalink
remove prints and fix column switch in particular haplotype use case
Browse files Browse the repository at this point in the history
  • Loading branch information
rmcolq committed Aug 22, 2023
1 parent 5b52c73 commit 5d4db3a
Show file tree
Hide file tree
Showing 7 changed files with 139 additions and 141 deletions.
4 changes: 0 additions & 4 deletions scorpio/scripts/definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,9 @@ def __init__(self, variant=None, reference=None, ignore_fails=False):
self.frequency = 1

self.variant_to_variant_record(variant, reference, ignore_fails)
self.print()
self.get_positions(reference)
self.print()
self.check_ref_allele(reference, ignore_fails)
self.print()
self.add_context(reference)
self.print()

def print(self):
print("{", self.name, self.space, self.type, self.ref_start, self.length, self.ref_allele, self.alt_allele, self.cds, self.aa_pos, self.before, self.after, self.fuzzy, "}")
Expand Down
76 changes: 39 additions & 37 deletions scorpio/scripts/type_constellations.py
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ def load_constellations(list_constellation_files, constellation_names, reference
continue
logging.info("\n")
logging.info("Found file %s for constellation %s containing %i defining mutations" % (
constellation_file, constellation, len([v.name for v in constellation.variants])))
constellation_file, constellation.name, len([v.name for v in constellation.variants])))
if rules_required:
logging.info("Rules %s" % constellation.rules)
else:
Expand Down Expand Up @@ -391,42 +391,44 @@ def type_record(record, reference, constellation_names, constellation_dict, cons
write_extended_files = output_counts or append_genotypes
single_file = len(constellation_names) == 1


for constellation in constellation_dict.values():
if constellation.output_name not in constellation_names:
continue
logging.debug("Consider constellation %s" % constellation.name)
barcode_list, counts, sample_constellation_count_dict, sorted_alt_sites = generate_barcode(record.seq,
constellation.variants,
ref_char,
constellation_count_dict=copy.deepcopy(constellation_count_dict))
if write_extended_files:
columns = [record.id]
columns.append(''.join(barcode_list))
if output_counts:
columns.append("%i,%i,%i,%i,%f,%f" % (counts['ref'], counts['alt'],
counts['ambig'], counts['oth'], counts['support'],
counts['conflict']))
if append_genotypes:
columns.extend(barcode_list)
if combination:
scores = {}
for candidate in sample_constellation_count_dict:
if sample_constellation_count_dict[candidate]["alt"] > 0:
summary = "%s:%i|%i|%i|%i" % (
candidate, sample_constellation_count_dict[candidate]["ref"],
sample_constellation_count_dict[candidate]["alt"],
sample_constellation_count_dict[candidate]["ambig"],
sample_constellation_count_dict[candidate]["oth"])
score = float(sample_constellation_count_dict[candidate]["alt"]) / \
sample_constellation_count_dict[candidate]["total"]
scores[score] = summary
sorted_scores = sorted(scores, key=lambda x: float(x), reverse=True)
columns.append("; ".join([scores[score] for score in sorted_scores]))
res = "%s\n" % ','.join(columns)
q.put((constellation.output_name, res))

out_list.append(''.join(barcode_list))
for constellation_name in constellation_names:
for constellation in constellation_dict.values():
if constellation.output_name != constellation_name:
continue
else:
logging.debug("Consider constellation %s" % constellation.name)
barcode_list, counts, sample_constellation_count_dict, sorted_alt_sites = generate_barcode(record.seq,
constellation.variants,
ref_char,
constellation_count_dict=copy.deepcopy(constellation_count_dict))
if write_extended_files:
columns = [record.id]
columns.append(''.join(barcode_list))
if output_counts:
columns.append("%i,%i,%i,%i,%f,%f" % (counts['ref'], counts['alt'],
counts['ambig'], counts['oth'], counts['support'],
counts['conflict']))
if append_genotypes:
columns.extend(barcode_list)
if combination:
scores = {}
for candidate in sample_constellation_count_dict:
if sample_constellation_count_dict[candidate]["alt"] > 0:
summary = "%s:%i|%i|%i|%i" % (
candidate, sample_constellation_count_dict[candidate]["ref"],
sample_constellation_count_dict[candidate]["alt"],
sample_constellation_count_dict[candidate]["ambig"],
sample_constellation_count_dict[candidate]["oth"])
score = float(sample_constellation_count_dict[candidate]["alt"]) / \
sample_constellation_count_dict[candidate]["total"]
scores[score] = summary
sorted_scores = sorted(scores, key=lambda x: float(x), reverse=True)
columns.append("; ".join([scores[score] for score in sorted_scores]))
res = "%s\n" % ','.join(columns)
q.put((constellation.output_name, res))

out_list.append(''.join(barcode_list))
break

res = "%s\n" % ",".join(out_list)
if len(constellation_names) > 1 or not write_extended_files:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
query,B.1.617.1-like,Delta (AY.4.2-like),Omicron (BA.1-like),Zeta (P.2-like)
Flatland/B.1.1.7/2021,---,-------X--X,---------2-X-?---------,-------
Flatland/B.1.351/2021,---,----XXX--X-,-------------?-XX------,---XT--
Flatland/P.1/2021,---,------X---X,-------------?---------,---K---
Flatland/P.1_again/2021,---,------X--XX,-------------?---------,---K---
Flatland/B.1.617.1/2021,---,TIAIRRQRLAM,----------IX-?---------,---X---
Flatland/B.1.617.2/2021,---,--A--R-RLAM,-----------X-?---------,----X--
Flatland/B.1.617.2_K417N/2021,--V,-----R-RLAM,---------X-X-?---------,----X--
Flatland/AY.4/2021,C--,--A--R-RLAM,----------IX-?---------,----X--
Flatland/AY.4.2/2021,CHV,--A--R-RLAM,----------IX-?---------,----X--
Flatland/B.1.427/2021,---,-----R---X-,----------I--?---------,-------
Flatland/B.1.429/2021,---,-----R-----,-------------?---------,-------
Flatland/B.1.526/2021,---,-----------,----------I--?---------,-------
Flatland/P.3/2021,--X,------XX--X,-----------X1?---------,---K---
Flatland/B.1.525/2020,---,------X----,--------V2-X-?---------,---K---
Flatland/P.2/2021,---,------X---X,-------------?---------,-TGKTSI
Flatland/C.37/2021,---,-----X----X,-------------?---------,----T--
Flatland/BA.1/2022,-X-,------XX--X,RG1TXVCTV2I31?LSSKKFTTG,---X---
Flatland/BA.2/2022,---,------XX--X,-----------X-?X-----TT-,---X---
Flatland/BA.3/2022,-X-,-----XXX--X,--------V2I31?XXX------,---X---
Flatland/XE/2022,---,------XX--X,RG1T-------X-?X-----TT-,---X---
Flatland/B.1.1.7/2021,-------X--X,---,---------2-X-?---------,-------
Flatland/B.1.351/2021,----XXX--X-,---,-------------?-XX------,---XT--
Flatland/P.1/2021,------X---X,---,-------------?---------,---K---
Flatland/P.1_again/2021,------X--XX,---,-------------?---------,---K---
Flatland/B.1.617.1/2021,TIAIRRQRLAM,---,----------IX-?---------,---X---
Flatland/B.1.617.2/2021,--A--R-RLAM,---,-----------X-?---------,----X--
Flatland/B.1.617.2_K417N/2021,-----R-RLAM,--V,---------X-X-?---------,----X--
Flatland/AY.4/2021,--A--R-RLAM,C--,----------IX-?---------,----X--
Flatland/AY.4.2/2021,--A--R-RLAM,CHV,----------IX-?---------,----X--
Flatland/B.1.427/2021,-----R---X-,---,----------I--?---------,-------
Flatland/B.1.429/2021,-----R-----,---,-------------?---------,-------
Flatland/B.1.526/2021,-----------,---,----------I--?---------,-------
Flatland/P.3/2021,------XX--X,--X,-----------X1?---------,---K---
Flatland/B.1.525/2020,------X----,---,--------V2-X-?---------,---K---
Flatland/P.2/2021,------X---X,---,-------------?---------,-TGKTSI
Flatland/C.37/2021,-----X----X,---,-------------?---------,----T--
Flatland/BA.1/2022,------XX--X,-X-,RG1TXVCTV2I31?LSSKKFTTG,---X---
Flatland/BA.2/2022,------XX--X,---,-----------X-?X-----TT-,---X---
Flatland/BA.3/2022,-----XXX--X,-X-,--------V2I31?XXX------,---X---
Flatland/XE/2022,------XX--X,---,RG1T-------X-?X-----TT-,---X---
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
query,B.1.617.1-like,Delta (AY.4.2-like),Omicron (BA.1-like),Zeta (P.2-like)
Flatland/B.1.1.7/2021,---,-------X--X,---------2-X-?---------,-------
Flatland/B.1.351/2021,---,----XXX--X-,-------------?-XX------,---XT--
Flatland/P.1/2021,---,------X---X,-------------?---------,---K---
Flatland/P.1_again/2021,---,------X--XX,-------------?---------,---K---
Flatland/B.1.617.1/2021,---,TIAIRRQRLAM,----------IX-?---------,---X---
Flatland/B.1.617.2/2021,---,--A--R-RLAM,-----------X-?---------,----X--
Flatland/B.1.617.2_K417N/2021,--V,-----R-RLAM,---------X-X-?---------,----X--
Flatland/AY.4/2021,C--,--A--R-RLAM,----------IX-?---------,----X--
Flatland/AY.4.2/2021,CHV,--A--R-RLAM,----------IX-?---------,----X--
Flatland/B.1.427/2021,---,-----R---X-,----------I--?---------,-------
Flatland/B.1.429/2021,---,-----R-----,-------------?---------,-------
Flatland/B.1.526/2021,---,-----------,----------I--?---------,-------
Flatland/P.3/2021,--X,------XX--X,-----------X1?---------,---K---
Flatland/B.1.525/2020,---,------X----,--------V2-X-?---------,---K---
Flatland/P.2/2021,---,------X---X,-------------?---------,-TGKTSI
Flatland/C.37/2021,---,-----X----X,-------------?---------,----T--
Flatland/BA.1/2022,-X-,------XX--X,RG1TXVCTV2I31?LSSKKFTTG,---X---
Flatland/BA.2/2022,---,------XX--X,-----------X-?X-----TT-,---X---
Flatland/BA.3/2022,-X-,-----XXX--X,--------V2I31?XXX------,---X---
Flatland/XE/2022,---,------XX--X,RG1T-------X-?X-----TT-,---X---
Flatland/B.1.1.7/2021,-------X--X,---,---------2-X-?---------,-------
Flatland/B.1.351/2021,----XXX--X-,---,-------------?-XX------,---XT--
Flatland/P.1/2021,------X---X,---,-------------?---------,---K---
Flatland/P.1_again/2021,------X--XX,---,-------------?---------,---K---
Flatland/B.1.617.1/2021,TIAIRRQRLAM,---,----------IX-?---------,---X---
Flatland/B.1.617.2/2021,--A--R-RLAM,---,-----------X-?---------,----X--
Flatland/B.1.617.2_K417N/2021,-----R-RLAM,--V,---------X-X-?---------,----X--
Flatland/AY.4/2021,--A--R-RLAM,C--,----------IX-?---------,----X--
Flatland/AY.4.2/2021,--A--R-RLAM,CHV,----------IX-?---------,----X--
Flatland/B.1.427/2021,-----R---X-,---,----------I--?---------,-------
Flatland/B.1.429/2021,-----R-----,---,-------------?---------,-------
Flatland/B.1.526/2021,-----------,---,----------I--?---------,-------
Flatland/P.3/2021,------XX--X,--X,-----------X1?---------,---K---
Flatland/B.1.525/2020,------X----,---,--------V2-X-?---------,---K---
Flatland/P.2/2021,------X---X,---,-------------?---------,-TGKTSI
Flatland/C.37/2021,-----X----X,---,-------------?---------,----T--
Flatland/BA.1/2022,------XX--X,-X-,RG1TXVCTV2I31?LSSKKFTTG,---X---
Flatland/BA.2/2022,------XX--X,---,-----------X-?X-----TT-,---X---
Flatland/BA.3/2022,-----XXX--X,-X-,--------V2I31?XXX------,---X---
Flatland/XE/2022,------XX--X,---,RG1T-------X-?X-----TT-,---X---
40 changes: 20 additions & 20 deletions scorpio/tests/data/haplotype/expected.multi_mutations_haplotype.csv
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
query,B.1.617.1-like,Delta (AY.4.2-like),Omicron (BA.1-like),Zeta (P.2-like),mutations
Flatland/B.1.1.7/2021,---,-------X--X,---------2-X-?---------,-------,--
Flatland/B.1.351/2021,---,----XXX--X-,-------------?-XX------,---XT--,--
Flatland/P.1/2021,---,------X---X,-------------?---------,---K---,--
Flatland/P.1_again/2021,---,------X--XX,-------------?---------,---K---,--
Flatland/B.1.617.1/2021,---,TIAIRRQRLAM,----------IX-?---------,---X---,-L
Flatland/B.1.617.2/2021,---,--A--R-RLAM,-----------X-?---------,----X--,-L
Flatland/B.1.617.2_K417N/2021,--V,-----R-RLAM,---------X-X-?---------,----X--,-L
Flatland/AY.4/2021,C--,--A--R-RLAM,----------IX-?---------,----X--,CL
Flatland/AY.4.2/2021,CHV,--A--R-RLAM,----------IX-?---------,----X--,CL
Flatland/B.1.427/2021,---,-----R---X-,----------I--?---------,-------,--
Flatland/B.1.429/2021,---,-----R-----,-------------?---------,-------,--
Flatland/B.1.526/2021,---,-----------,----------I--?---------,-------,--
Flatland/P.3/2021,--X,------XX--X,-----------X1?---------,---K---,--
Flatland/B.1.525/2020,---,------X----,--------V2-X-?---------,---K---,--
Flatland/P.2/2021,---,------X---X,-------------?---------,-TGKTSI,--
Flatland/C.37/2021,---,-----X----X,-------------?---------,----T--,--
Flatland/BA.1/2022,-X-,------XX--X,RG1TXVCTV2I31?LSSKKFTTG,---X---,--
Flatland/BA.2/2022,---,------XX--X,-----------X-?X-----TT-,---X---,--
Flatland/BA.3/2022,-X-,-----XXX--X,--------V2I31?XXX------,---X---,--
Flatland/XE/2022,---,------XX--X,RG1T-------X-?X-----TT-,---X---,--
Flatland/B.1.1.7/2021,-------X--X,---,---------2-X-?---------,-------,--
Flatland/B.1.351/2021,----XXX--X-,---,-------------?-XX------,---XT--,--
Flatland/P.1/2021,------X---X,---,-------------?---------,---K---,--
Flatland/P.1_again/2021,------X--XX,---,-------------?---------,---K---,--
Flatland/B.1.617.1/2021,TIAIRRQRLAM,---,----------IX-?---------,---X---,-L
Flatland/B.1.617.2/2021,--A--R-RLAM,---,-----------X-?---------,----X--,-L
Flatland/B.1.617.2_K417N/2021,-----R-RLAM,--V,---------X-X-?---------,----X--,-L
Flatland/AY.4/2021,--A--R-RLAM,C--,----------IX-?---------,----X--,CL
Flatland/AY.4.2/2021,--A--R-RLAM,CHV,----------IX-?---------,----X--,CL
Flatland/B.1.427/2021,-----R---X-,---,----------I--?---------,-------,--
Flatland/B.1.429/2021,-----R-----,---,-------------?---------,-------,--
Flatland/B.1.526/2021,-----------,---,----------I--?---------,-------,--
Flatland/P.3/2021,------XX--X,--X,-----------X1?---------,---K---,--
Flatland/B.1.525/2020,------X----,---,--------V2-X-?---------,---K---,--
Flatland/P.2/2021,------X---X,---,-------------?---------,-TGKTSI,--
Flatland/C.37/2021,-----X----X,---,-------------?---------,----T--,--
Flatland/BA.1/2022,------XX--X,-X-,RG1TXVCTV2I31?LSSKKFTTG,---X---,--
Flatland/BA.2/2022,------XX--X,---,-----------X-?X-----TT-,---X---,--
Flatland/BA.3/2022,-----XXX--X,-X-,--------V2I31?XXX------,---X---,--
Flatland/XE/2022,------XX--X,---,RG1T-------X-?X-----TT-,---X---,--
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
query,B.1.617.1-like,Delta (AY.4.2-like),Omicron (BA.1-like),Zeta (P.2-like)
Flatland/B.1.1.7/2021,---,-------X--X,---------2-X-?---------,-------
Flatland/B.1.351/2021,---,----XXX--X-,-------------?-XX------,---XT--
Flatland/P.1/2021,---,------X---X,-------------?---------,---K---
Flatland/P.1_again/2021,---,------X--XX,-------------?---------,---K---
Flatland/B.1.617.1/2021,---,TIAIRRQRLAM,----------IX-?---------,---X---
Flatland/B.1.617.2/2021,---,--A--R-RLAM,-----------X-?---------,----X--
Flatland/B.1.617.2_K417N/2021,--V,-----R-RLAM,---------X-X-?---------,----X--
Flatland/AY.4/2021,C--,--A--R-RLAM,----------IX-?---------,----X--
Flatland/AY.4.2/2021,CHV,--A--R-RLAM,----------IX-?---------,----X--
Flatland/B.1.427/2021,---,-----R---X-,----------I--?---------,-------
Flatland/B.1.429/2021,---,-----R-----,-------------?---------,-------
Flatland/B.1.526/2021,---,-----------,----------I--?---------,-------
Flatland/P.3/2021,--X,------XX--X,-----------X1?---------,---K---
Flatland/B.1.525/2020,---,------X----,--------V2-X-?---------,---K---
Flatland/P.2/2021,---,------X---X,-------------?---------,-TGKTSI
Flatland/C.37/2021,---,-----X----X,-------------?---------,----T--
Flatland/BA.1/2022,-X-,------XX--X,RG1TXVCTV2I31?LSSKKFTTG,---X---
Flatland/BA.2/2022,---,------XX--X,-----------X-?X-----TT-,---X---
Flatland/BA.3/2022,-X-,-----XXX--X,--------V2I31?XXX------,---X---
Flatland/XE/2022,---,------XX--X,RG1T-------X-?X-----TT-,---X---
Flatland/B.1.1.7/2021,-------X--X,---,---------2-X-?---------,-------
Flatland/B.1.351/2021,----XXX--X-,---,-------------?-XX------,---XT--
Flatland/P.1/2021,------X---X,---,-------------?---------,---K---
Flatland/P.1_again/2021,------X--XX,---,-------------?---------,---K---
Flatland/B.1.617.1/2021,TIAIRRQRLAM,---,----------IX-?---------,---X---
Flatland/B.1.617.2/2021,--A--R-RLAM,---,-----------X-?---------,----X--
Flatland/B.1.617.2_K417N/2021,-----R-RLAM,--V,---------X-X-?---------,----X--
Flatland/AY.4/2021,--A--R-RLAM,C--,----------IX-?---------,----X--
Flatland/AY.4.2/2021,--A--R-RLAM,CHV,----------IX-?---------,----X--
Flatland/B.1.427/2021,-----R---X-,---,----------I--?---------,-------
Flatland/B.1.429/2021,-----R-----,---,-------------?---------,-------
Flatland/B.1.526/2021,-----------,---,----------I--?---------,-------
Flatland/P.3/2021,------XX--X,--X,-----------X1?---------,---K---
Flatland/B.1.525/2020,------X----,---,--------V2-X-?---------,---K---
Flatland/P.2/2021,------X---X,---,-------------?---------,-TGKTSI
Flatland/C.37/2021,-----X----X,---,-------------?---------,----T--
Flatland/BA.1/2022,------XX--X,-X-,RG1TXVCTV2I31?LSSKKFTTG,---X---
Flatland/BA.2/2022,------XX--X,---,-----------X-?X-----TT-,---X---
Flatland/BA.3/2022,-----XXX--X,-X-,--------V2I31?XXX------,---X---
Flatland/XE/2022,------XX--X,---,RG1T-------X-?X-----TT-,---X---
Loading

0 comments on commit 5d4db3a

Please sign in to comment.