Skip to content

Commit 7bbf72a

Browse files
committed
Reformat with black, ensure flake8 passes
1 parent de5efc3 commit 7bbf72a

14 files changed

+1474
-1424
lines changed

.flake8

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[flake8]
2+
max-line-length = 80
3+
select = C,E,F,W,B,B950
4+
ignore = E501

src/tb_variant_filter/__init__.py

-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ def __get__(self, obj, cls):
5858
return self.get_no_inst(cls)
5959

6060
def get_with_inst(self, obj, cls):
61-
6261
overridden = getattr(super(cls, obj), self.name, None)
6362

6463
@wraps(self.mthd, assigned=("__name__", "__module__"))
@@ -68,7 +67,6 @@ def f(*args, **kwargs):
6867
return self.use_parent_doc(f, overridden)
6968

7069
def get_no_inst(self, cls):
71-
7270
for parent in cls.__mro__[1:]:
7371
overridden = getattr(parent, self.name, None)
7472
if overridden:

src/tb_variant_filter/filters/alt_percentage_filter.py

+22-8
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
class AltPercentageDepthFilter(Filter):
2525
min_percentage = 0
2626

27-
def __init__(self, args: argparse.Namespace, header: vcfpy.Header) -> "AltPercentageDepthFilter":
27+
def __init__(
28+
self, args: argparse.Namespace, header: vcfpy.Header
29+
) -> "AltPercentageDepthFilter":
2830
super().__init__(args, header)
2931
if (
3032
hasattr(args, "min_percentage_alt_filter")
@@ -71,34 +73,46 @@ def __call__(self, record: vcfpy.Record) -> Union[vcfpy.Record, None]:
7173
alt_percentage = record.INFO["AF1"] * 100
7274
elif self.header.has_header_line("INFO", "DP4"):
7375
(fwd_ref, rev_ref, fwd_alt, rev_alt) = record.INFO["DP4"]
74-
alt_percentage = (fwd_alt + rev_alt) / (fwd_ref + rev_ref + fwd_alt + rev_alt) * 100
76+
alt_percentage = (
77+
(fwd_alt + rev_alt) / (fwd_ref + rev_ref + fwd_alt + rev_alt) * 100
78+
)
7579
if alt_percentage is not None:
7680
retain.append(not alt_percentage < self.min_percentage)
77-
elif self.header.has_header_line("INFO", "AF") or (self.header.has_header_line("INFO", "AO") and self.header.has_header_line("INFO", "DP")):
81+
elif self.header.has_header_line("INFO", "AF") or (
82+
self.header.has_header_line("INFO", "AO")
83+
and self.header.has_header_line("INFO", "DP") # noqa: W503
84+
):
7885
for i, _ in enumerate(record.ALT):
7986
if self.header.has_header_line("INFO", "AF"):
8087
alt_percentage = record.INFO["AF"][i] * 100
81-
elif self.header.has_header_line("INFO", "AO") and self.header.has_header_line("INFO", "DP"):
88+
elif self.header.has_header_line(
89+
"INFO", "AO"
90+
) and self.header.has_header_line("INFO", "DP"):
8291
alt_percentage = (
8392
float(record.INFO["AO"][i]) / float(record.INFO["DP"]) * 100
8493
)
8594
retain.append(not alt_percentage < self.min_percentage)
8695
else:
8796
# we've got nothing to add to retain - leave it as an empty list
88-
print("No alt allele depth information found in VCF, disabling alt allele percentage filter", file=sys.stderr)
97+
print(
98+
"No alt allele depth information found in VCF, disabling alt allele percentage filter",
99+
file=sys.stderr,
100+
)
89101
if not any(retain):
90102
return None
91-
103+
92104
new_ALT = [alt for i, alt in enumerate(record.ALT) if retain[i]]
93105
new_INFO = OrderedDict()
94106
# these are produced by snpEff and keys occur once per implicated gene
95107
# the simplest solution is to copy them all across
96108
for key in record.INFO:
97-
if self.header.get_info_field_info(key).number == 'A':
109+
if self.header.get_info_field_info(key).number == "A":
98110
# 'A' fields have one entry for each alternative allele - copy only those for retained alleles
99111
field_len = len(record.INFO[key])
100112
retain_len = len(retain)
101-
assert field_len == retain_len, f"Length of array-type INFO field ({field_len}) does not match length of retain ({retain_len})"
113+
assert (
114+
field_len == retain_len
115+
), f"Length of array-type INFO field ({field_len}) does not match length of retain ({retain_len})"
102116
new_INFO[key] = [
103117
# retain all ANN records and the only those other records that correspond to alts that we retain
104118
el

src/tb_variant_filter/filters/close_to_indel_filter.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ class CloseToIndelFilter(Filter):
2525
intervaltree = None
2626
dist = 0
2727

28-
def __init__(self, args: argparse.Namespace, header: Header) -> "CloseToIndelFilter":
28+
def __init__(
29+
self, args: argparse.Namespace, header: Header
30+
) -> "CloseToIndelFilter":
2931
super().__init__(args, header)
3032
self.intervaltree = IntervalTree()
3133
if hasattr(args, "close_to_indel_filter") and args.close_to_indel_filter:
@@ -50,7 +52,6 @@ def __init__(self, args: argparse.Namespace, header: Header) -> "CloseToIndelFil
5052
args.input_file.seek(0)
5153

5254
def __repr__(self) -> str:
53-
5455
name = f"{self.__class__.__name__}"
5556
if self.dist:
5657
name += f" (Window {self.dist})"

src/tb_variant_filter/filters/min_depth_filter.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
class MinDepthFilter(Filter):
2323
min_depth = 0
2424

25-
def __init__(self, args: argparse.Namespace, header: vcfpy.Header) -> "MinDepthFilter":
25+
def __init__(
26+
self, args: argparse.Namespace, header: vcfpy.Header
27+
) -> "MinDepthFilter":
2628
super().__init__(args, header)
2729
if (
2830
hasattr(args, "min_depth_filter")

0 commit comments

Comments
 (0)