Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
GrAnnoT
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
DIADE
dynadiv
GrAnnoT
Commits
e0729de8
Commit
e0729de8
authored
1 year ago
by
nina.marthe_ird.fr
Browse files
Options
Downloads
Patches
Plain Diff
ajouté la détection des codons stop
parent
a545e4ba
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
inference.py
+23
-7
23 additions, 7 deletions
inference.py
with
23 additions
and
7 deletions
inference.py
+
23
−
7
View file @
e0729de8
...
@@ -266,8 +266,10 @@ def findOtherStart(cds,segments_on_target_genome):
...
@@ -266,8 +266,10 @@ def findOtherStart(cds,segments_on_target_genome):
# ajouter la vérification qu'on introduit/delete pas un codon stop
# ajouter la vérification qu'on introduit/delete pas un codon stop
def
print_variation_change
(
deleted_sequence
,
inserted_sequence
):
def
print_variation_change
(
deleted_sequence
,
inserted_sequence
):
stop
=
False
deleted_aa
=
traduction
(
get_rna
(
deleted_sequence
))
deleted_aa
=
traduction
(
get_rna
(
deleted_sequence
))
inserted_aa
=
traduction
(
get_rna
(
inserted_sequence
))
inserted_aa
=
traduction
(
get_rna
(
inserted_sequence
))
if
(
len
(
deleted_aa
)
!=
0
)
&
(
len
(
inserted_aa
)
!=
0
):
if
(
len
(
deleted_aa
)
!=
0
)
&
(
len
(
inserted_aa
)
!=
0
):
if
deleted_aa
!=
inserted_aa
:
if
deleted_aa
!=
inserted_aa
:
print
(
"
conséquence : changement de
"
,
"
,
"
.
join
(
deleted_aa
),
"
en
"
,
"
,
"
.
join
(
inserted_aa
))
print
(
"
conséquence : changement de
"
,
"
,
"
.
join
(
deleted_aa
),
"
en
"
,
"
,
"
.
join
(
inserted_aa
))
...
@@ -277,6 +279,10 @@ def print_variation_change(deleted_sequence,inserted_sequence):
...
@@ -277,6 +279,10 @@ def print_variation_change(deleted_sequence,inserted_sequence):
print
(
"
conséquence : insertion de
"
,
"
,
"
.
join
(
inserted_aa
))
print
(
"
conséquence : insertion de
"
,
"
,
"
.
join
(
inserted_aa
))
else
:
else
:
print
(
"
conséquence : deletion de
"
,
"
,
"
.
join
(
deleted_aa
))
print
(
"
conséquence : deletion de
"
,
"
,
"
.
join
(
deleted_aa
))
if
(
"
*
"
in
inserted_aa
):
print
(
"
apparition d
'
un codon stop dans le cds du génome cible
"
)
stop
=
True
return
stop
version
=
"
new
"
version
=
"
new
"
...
@@ -286,7 +292,7 @@ for feature in Features.values():
...
@@ -286,7 +292,7 @@ for feature in Features.values():
for
cds_id
in
cds_var
.
keys
():
for
cds_id
in
cds_var
.
keys
():
cds
=
Features
[
cds_id
]
cds
=
Features
[
cds_id
]
print
(
"
analyse des variations dans le cds
"
,
cds_id
)
print
(
"
analyse des variations dans le cds
"
,
cds_id
,
"
\n
"
)
frame_shift
=
0
frame_shift
=
0
#for var in cds_var[cds_id]:
#for var in cds_var[cds_id]:
for
index
,
var
in
enumerate
(
cds_var
[
cds_id
]):
for
index
,
var
in
enumerate
(
cds_var
[
cds_id
]):
...
@@ -320,7 +326,9 @@ for cds_id in cds_var.keys():
...
@@ -320,7 +326,9 @@ for cds_id in cds_var.keys():
len_fragment_after
=
(
3
-
length_ref
)
%
3
len_fragment_after
=
(
3
-
length_ref
)
%
3
deleted_sequence
=
cds
.
sequence
[
posVar
[
0
]:
posVar
[
0
]
+
length_ref
+
len_fragment_after
]
deleted_sequence
=
cds
.
sequence
[
posVar
[
0
]:
posVar
[
0
]
+
length_ref
+
len_fragment_after
]
inserted_sequence
=
sequence_target
[
posVar
[
1
]:
posVar
[
1
]
+
length_alt
+
len_fragment_after
]
inserted_sequence
=
sequence_target
[
posVar
[
1
]:
posVar
[
1
]
+
length_alt
+
len_fragment_after
]
print_variation_change
(
deleted_sequence
,
inserted_sequence
)
stop
=
print_variation_change
(
deleted_sequence
,
inserted_sequence
)
if
stop
:
break
else
:
# taille diff 3k, position !=3k
else
:
# taille diff 3k, position !=3k
print
(
"
variation au milieu d
'
un codon sans décalage du cadre de lecture
"
)
print
(
"
variation au milieu d
'
un codon sans décalage du cadre de lecture
"
)
...
@@ -337,7 +345,9 @@ for cds_id in cds_var.keys():
...
@@ -337,7 +345,9 @@ for cds_id in cds_var.keys():
total_ins
=
sequence_target
[
posVar
[
1
]
-
len_fragment_before
:
posVar
[
1
]
+
length_alt
+
len_fragment_after
]
total_ins
=
sequence_target
[
posVar
[
1
]
-
len_fragment_before
:
posVar
[
1
]
+
length_alt
+
len_fragment_after
]
total_del
=
cds
.
sequence
[
posVar
[
0
]
-
len_fragment_before
:
posVar
[
0
]
+
length_ref
+
len_fragment_after
]
total_del
=
cds
.
sequence
[
posVar
[
0
]
-
len_fragment_before
:
posVar
[
0
]
+
length_ref
+
len_fragment_after
]
print_variation_change
(
total_del
,
total_ins
)
stop
=
print_variation_change
(
total_del
,
total_ins
)
if
stop
:
break
# possibilité que j'ai print en compte une variation de trop, si on a un snp sur la premiere et la derniere base d'un codon :
# possibilité que j'ai print en compte une variation de trop, si on a un snp sur la premiere et la derniere base d'un codon :
# pour le traitement de la première j'ai également considéré la dernière !
# pour le traitement de la première j'ai également considéré la dernière !
...
@@ -366,8 +376,10 @@ for cds_id in cds_var.keys():
...
@@ -366,8 +376,10 @@ for cds_id in cds_var.keys():
len_fragment_after_ins
=
(
3
-
(
len_fragment_before_ins
+
length_alt
))
%
3
len_fragment_after_ins
=
(
3
-
(
len_fragment_before_ins
+
length_alt
))
%
3
total_ins
=
sequence_target
[
posVar
[
1
]
-
len_fragment_before_ins
:
posVar
[
1
]
+
length_alt
+
len_fragment_after_ins
]
total_ins
=
sequence_target
[
posVar
[
1
]
-
len_fragment_before_ins
:
posVar
[
1
]
+
length_alt
+
len_fragment_after_ins
]
total_del
=
cds
.
sequence
[
posVar
[
0
]
-
len_fragment_before_del
:
posVar
[
0
]
+
length_ref
+
len_fragment_after_del
]
total_del
=
cds
.
sequence
[
posVar
[
0
]
-
len_fragment_before_del
:
posVar
[
0
]
+
length_ref
+
len_fragment_after_del
]
print_variation_change
(
total_del
,
total_ins
)
stop
=
print_variation_change
(
total_del
,
total_ins
)
print
(
"
rétablissement du cadre de lecture originel
"
)
print
(
"
rétablissement du cadre de lecture originel
"
)
if
stop
:
break
else
:
else
:
# print changes from local to next var
# print changes from local to next var
...
@@ -377,7 +389,9 @@ for cds_id in cds_var.keys():
...
@@ -377,7 +389,9 @@ for cds_id in cds_var.keys():
if
index
==
len
(
cds_var
[
cds_id
])
-
1
:
# on est sur la dernière variation. traduire jusqu'à la fin du cds
if
index
==
len
(
cds_var
[
cds_id
])
-
1
:
# on est sur la dernière variation. traduire jusqu'à la fin du cds
total_total_del
=
cds
.
sequence
[
posVar
[
0
]
-
len_fragment_before_del
:]
total_total_del
=
cds
.
sequence
[
posVar
[
0
]
-
len_fragment_before_del
:]
total_total_ins
=
sequence_target
[
posVar
[
1
]
-
len_fragment_before_ins
:]
total_total_ins
=
sequence_target
[
posVar
[
1
]
-
len_fragment_before_ins
:]
print_variation_change
(
total_total_del
,
total_total_ins
)
stop
=
print_variation_change
(
total_total_del
,
total_total_ins
)
if
stop
:
break
else
:
else
:
nextVar
=
cds_var
[
cds_id
][
index
+
1
]
nextVar
=
cds_var
[
cds_id
][
index
+
1
]
posNextVar
=
[
int
(
nextVar
[
12
]),
int
(
nextVar
[
13
])]
posNextVar
=
[
int
(
nextVar
[
12
]),
int
(
nextVar
[
13
])]
...
@@ -395,7 +409,9 @@ for cds_id in cds_var.keys():
...
@@ -395,7 +409,9 @@ for cds_id in cds_var.keys():
len_fragment_before_ins_nextvar
=
(
posNextVar
[
1
])
%
3
len_fragment_before_ins_nextvar
=
(
posNextVar
[
1
])
%
3
total_total_del
=
cds
.
sequence
[
posVar
[
0
]
-
len_fragment_before_del
:
posNextVar
[
0
]
-
len_fragment_before_del_nextvar
]
total_total_del
=
cds
.
sequence
[
posVar
[
0
]
-
len_fragment_before_del
:
posNextVar
[
0
]
-
len_fragment_before_del_nextvar
]
total_total_ins
=
sequence_target
[
posVar
[
1
]
-
len_fragment_before_ins
:
posNextVar
[
1
]
-
len_fragment_before_ins_nextvar
]
total_total_ins
=
sequence_target
[
posVar
[
1
]
-
len_fragment_before_ins
:
posNextVar
[
1
]
-
len_fragment_before_ins_nextvar
]
print_variation_change
(
total_total_del
,
total_total_ins
)
stop
=
print_variation_change
(
total_total_del
,
total_total_ins
)
if
stop
:
break
...
@@ -405,7 +421,7 @@ for cds_id in cds_var.keys():
...
@@ -405,7 +421,7 @@ for cds_id in cds_var.keys():
if
posVar
[
0
]
<=
3
:
# pour l'instant on cherche pas d'autre start.
if
posVar
[
0
]
<=
3
:
# pour l'instant on cherche pas d'autre start.
print
(
"
codon start touché
donc
gène non fonctionnel
"
)
print
(
"
codon start touché
,
gène non fonctionnel
"
)
#findOtherStart(cds,segments_on_target_genome)
#findOtherStart(cds,segments_on_target_genome)
break
break
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment