Skip to content
Snippets Groups Projects
Commit 9b768d05 authored by Remi  PLANEL's avatar Remi PLANEL
Browse files

Add the off-target PAM seq

parent 60ca2962
No related branches found
No related tags found
No related merge requests found
Pipeline #26016 passed with stage
in 53 seconds
...@@ -31,10 +31,11 @@ def find_targets(seq): ...@@ -31,10 +31,11 @@ def find_targets(seq):
seq_revcomp = rev_comp(seq) seq_revcomp = rev_comp(seq)
matching_target = re.finditer("(?=([ATGC]{6}" + repam + "[ATGC]{16}))", seq_revcomp) matching_target = re.finditer("(?=([ATGC]{6}" + repam + "[ATGC]{16}))", seq_revcomp)
for target in matching_target: for target in matching_target:
matching_target = target.group(1)
yield dict( yield dict(
[ [
("target", target.group(1)), ("target", matching_target),
("guide", target.group(1)[:20]), ("guide", matching_target[:20]),
("start", L - target.start() - 20), ("start", L - target.start() - 20),
("stop", L - target.start()), ("stop", L - target.start()),
("pam", L - target.start() - 22), ("pam", L - target.start() - 22),
...@@ -97,6 +98,7 @@ def on_target_predict(seq, genome=None, seed_sizes=[8, 9, 10, 11, 12]): ...@@ -97,6 +98,7 @@ def on_target_predict(seq, genome=None, seed_sizes=[8, 9, 10, 11, 12]):
"recid", "recid",
"max_matching_len", "max_matching_len",
"max_matching_seq", "max_matching_seq",
"pam_seq",
"features", "features",
], ],
] ]
...@@ -113,9 +115,10 @@ def on_target_predict(seq, genome=None, seed_sizes=[8, 9, 10, 11, 12]): ...@@ -113,9 +115,10 @@ def on_target_predict(seq, genome=None, seed_sizes=[8, 9, 10, 11, 12]):
"off_target_strand": off_t[3], "off_target_strand": off_t[3],
"off_target_recid": off_t[4], "off_target_recid": off_t[4],
"off_target_max_matching_seq": off_t[6], "off_target_max_matching_seq": off_t[6],
"off_target_pam_seq": off_t[7],
"off_target_good_orientation": None, "off_target_good_orientation": None,
} }
index_features = 7 index_features = 8
# Loop through features associated to an off-target position # Loop through features associated to an off-target position
if len(off_t[index_features]) > 0: if len(off_t[index_features]) > 0:
# Loop for each feature # Loop for each feature
...@@ -145,8 +148,6 @@ def on_target_predict(seq, genome=None, seed_sizes=[8, 9, 10, 11, 12]): ...@@ -145,8 +148,6 @@ def on_target_predict(seq, genome=None, seed_sizes=[8, 9, 10, 11, 12]):
off_targets_list.append( off_targets_list.append(
{**feature_dict, **off_target_dict} {**feature_dict, **off_target_dict}
) )
# elif not has_feature:
# off_targets_list.append(off_target_dict)
else: else:
off_targets_list.append(off_target_dict) off_targets_list.append(off_target_dict)
off_targets_per_seed.append( off_targets_per_seed.append(
...@@ -164,7 +165,6 @@ def on_target_predict(seq, genome=None, seed_sizes=[8, 9, 10, 11, 12]): ...@@ -164,7 +165,6 @@ def on_target_predict(seq, genome=None, seed_sizes=[8, 9, 10, 11, 12]):
"off_targets": [], "off_targets": [],
} }
) )
# target.update({"off_targets": off_targets_list})
target.update({"off_targets_per_seed": off_targets_per_seed}) target.update({"off_targets_per_seed": off_targets_per_seed})
else: else:
target.update({"off_targets_per_seed": []}) target.update({"off_targets_per_seed": []})
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment