Skip to content

Commit f8ce61c

Browse files
authored
Update generate.py with correct features check
Merge command accidentally included two else statements. Crashing when no primers pass filtering and are written is acceptable behavior because no primers will be outputted anyways.
1 parent ad66e5d commit f8ce61c

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

src/qprimer_designer/commands/generate.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -174,18 +174,9 @@ def run(args):
174174
features[seq]["forrev"] = "r"
175175
fout.write(f">{pname}\n{seq}\n")
176176

177-
features_df = pd.DataFrame(features).T
178-
# Original code: crashed with KeyError when no primers passed filtering,
179-
# because 'pname' and 'forrev' columns are only added for primers written to output.
180-
# if features_df.empty:
181-
# features_df = pd.DataFrame(columns=["pname", "pseq", "forrev", "len", "Tm", "GC", "dG"])
182-
# else:
183-
# features_df = features_df.reset_index(names="pseq")[["pname", "pseq", "forrev", "len", "Tm", "GC", "dG"]]
184-
#
185-
# Fixed: check for 'pname' column presence, not just empty DataFrame.
186-
if features_df.empty or "pname" not in features_df.columns:
187-
features_df = pd.DataFrame(columns=["pname", "pseq", "forrev", "len", "Tm", "GC", "dG"])
188-
else:
177+
# Write features CSV
178+
if features:
179+
features_df = pd.DataFrame(features).T
189180
features_df = features_df.reset_index(names="pseq")[["pname", "pseq", "forrev", "len", "Tm", "GC", "dG"]]
190181
else:
191182
features_df = pd.DataFrame(columns=["pname", "pseq", "forrev", "len", "Tm", "GC", "dG"])

0 commit comments

Comments
 (0)