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

One entry per feature

parent 467fc209
No related branches found
No related tags found
No related merge requests found
Pipeline #23373 passed
from crisprbact.predict import on_target_predict
from Bio import SeqIO from Bio import SeqIO
import click import click
from crisprbact.predict import on_target_predict
class Config(object): class Config(object):
......
...@@ -71,16 +71,29 @@ def on_target_predict(seq, genome=None, seed_size=7): ...@@ -71,16 +71,29 @@ def on_target_predict(seq, genome=None, seed_size=7):
off_target_df = compute_off_target_df( off_target_df = compute_off_target_df(
target["guide"], seed_size, records, genome_features target["guide"], seed_size, records, genome_features
) )
off_target_list = [] off_targets_list = []
features = off_target_df.loc[0:, "features"] off_targets = off_target_df.loc[
for feat in features: 0:, ["start", "end", "pampos", "features"]
for x in feat: ]
features_dict = {} for index, off_t in enumerate(off_targets.values.tolist()):
for k, feat in x.qualifiers.items():
off_target_dict = {
"off_target_start": off_t[0],
"off_target_end": off_t[1],
"pampos": off_t[2],
}
for feat in off_t[3]:
feature_dict = {
"feat_strand": feat.location.strand,
"feat_start": feat.location.start,
"feat_end": feat.location.end,
"feat_type": feat.type,
}
for k, feat in feat.qualifiers.items():
if k != "translation": if k != "translation":
features_dict[k] = " :: ".join(feat) feature_dict[k] = " :: ".join(feat)
off_target_list.append(features_dict) off_targets_list.append({**feature_dict, **off_target_dict})
target.update({"off_targets": off_target_list}) target.update({"off_targets": off_targets_list})
else: else:
target.update({"off_targets": []}) target.update({"off_targets": []})
return alltargets return alltargets
......
[tool.poetry] [tool.poetry]
name = "crisprbact" name = "crisprbact"
version = "0.2.1" version = "0.3.0"
license = "GPL-3.0" license = "GPL-3.0"
description = "Tools to design and analyse CRISPRi experiments" description = "Tools to design and analyse CRISPRi experiments"
authors = ["David Bikard <david.bikard@pasteur.fr>", "Remi Planel <rplanel@pasteur.fr>"] authors = ["David Bikard <david.bikard@pasteur.fr>", "Remi Planel <rplanel@pasteur.fr>"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment