diff --git a/tests/predict_test.py b/tests/predict_test.py index 392e4064ed26c3c8b12fbbbb842c5e9f617924bc..c0c237b374922666615a655d3809ce4afdf7934f 100644 --- a/tests/predict_test.py +++ b/tests/predict_test.py @@ -30,4 +30,24 @@ def test_on_target_predict_size_guide(): (pam_val, start_val) = pam assert ( start_val - pam_val == 3 - ), "the difference between start and pam position is different than 2" + ), "the difference between start and pam position is different than 3" + + +def test_smaller_target_seq(): + size_guide = 20 + seq = "TTTTTTTTTTTTTTTTCCAGAAAAGAAAAAAAAAAAAAC" + predicted_targets = crisprbact.on_target_predict(seq) + list_predicted_targets = list(predicted_targets) + assert len(list_predicted_targets) == 1, "Should have only 1 result" + for predicted_target in list_predicted_targets: + guide = predicted_target["guide"] + assert guide == "GTTTTTTTTTTTTTCTTTTC", "matching guide" + assert ( + predicted_target["target"] == "CTTTTCTGGAAAAAAAAAAAAAAAA" + ), "the predicted target" + assert predicted_target["start"] == 19, "position start" + assert predicted_target["stop"] == 39, "position stop" + assert predicted_target["pam"] == 16, "PAM pos" + assert len(guide) == size_guide, ( + "the guide do not have a length of " + size_guide + )