Skip to content

Commit 9581406

Browse files
committed
Fix lint errors, fix boolean mask used in test_predictor, which gives different results on different versions of pandas
1 parent b92c703 commit 9581406

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

pepnet/synthetic_data/subsequence.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ def synthetic_peptides_by_subsequence(
4242
if not isinstance(lengths, dict):
4343
lengths = dict((length, 1.0) for length in lengths)
4444

45-
lengths = pandas.Series(lengths)
46-
lengths /= len(lengths)
45+
lengths_series = pandas.Series(lengths)
46+
lengths_series /= len(lengths)
4747

4848
num_binders = int(round(num_peptides * fraction_binders))
4949
num_non_binders = num_peptides - num_binders
@@ -52,15 +52,20 @@ def synthetic_peptides_by_subsequence(
5252
peptides = []
5353

5454
# Generate non-binders
55-
for (length, weight) in lengths.items():
55+
for (length, weight) in lengths_series.items():
5656
peptides.extend(
5757
random_peptides(round(weight * num_non_binders), round(length)))
5858

5959
for binding_core in binding_subsequences:
6060
# Generate binders
61-
lengths_binders = lengths.ix[lengths.index >= len(binding_core)]
61+
lengths_binders = lengths_series.ix[
62+
lengths_series.index >= len(binding_core)
63+
]
6264
normalized_lengths_binders = (
63-
lengths_binders / lengths_binders.sum() / len(binding_subsequences))
65+
lengths_binders /
66+
lengths_binders.sum() /
67+
len(binding_subsequences))
68+
6469
for (length, weight) in normalized_lengths_binders.items():
6570
if length >= len(binding_core):
6671
num_peptides_to_make = int(round(weight * num_binders))

pylintrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[TYPECHECK]
22
# Without ignoring this, we get errors like:
33
# E:249,20: Module 'numpy' has no 'nan' member (no-member)
4-
ignored-modules = numpy
4+
ignored-modules = numpy,numpy.random

test/test_predictor.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ def test_predictor_on_more_data():
8585
predictor.fit(
8686
{"x": train_df.index.values}, train_df.binder.values, epochs=20)
8787
y_pred = predictor.predict({"x": test_df.index.values})['y']
88-
binder_mean_pred = y_pred[test_df.binder].mean()
89-
nonbinder_mean_pred = y_pred[~test_df.binder].mean()
88+
binder_mean_pred = y_pred[test_df.binder > 0].mean()
89+
nonbinder_mean_pred = y_pred[test_df.binder == 0].mean()
9090
print(binder_mean_pred, nonbinder_mean_pred)
9191
assert binder_mean_pred > nonbinder_mean_pred * 2, (
9292
binder_mean_pred, nonbinder_mean_pred)

0 commit comments

Comments
 (0)