Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
ensembl-gh-mirror
ensembl
Commits
d24ec3a8
Commit
d24ec3a8
authored
Mar 22, 2010
by
William McLaren
Browse files
Fixes for NMD_TRANSCRIPT
parent
1b8a30b9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
24 deletions
+35
-24
modules/Bio/EnsEMBL/Utils/TranscriptAlleles.pm
modules/Bio/EnsEMBL/Utils/TranscriptAlleles.pm
+35
-24
No files found.
modules/Bio/EnsEMBL/Utils/TranscriptAlleles.pm
View file @
d24ec3a8
...
...
@@ -270,12 +270,6 @@ sub type_variation {
return
[]
;
}
# nonsense-mediated decay transcript
if
(
$tr
->
biotype
()
eq
'
nonsense_mediated_decay
')
{
$var
->
type
("
NMD_TRANSCRIPT
");
return
[
$var
];
}
if
(
!
$tr
->
translation
())
{
#for other biotype rather than coding/IG genes
# check if the variation is completely outside the transcript:
...
...
@@ -288,22 +282,27 @@ sub type_variation {
$var
->
type
(
(
$tr
->
strand
()
==
1
)
?
'
DOWNSTREAM
'
:
'
UPSTREAM
'
);
return
[
$var
];
}
if
(
$var
->
start
>=
$tr
->
start
()
and
$var
->
end
<=
$tr
->
end
())
{
#within the transcript
if
(
$tr
->
biotype
()
eq
"
miRNA
")
{
my
(
$attribute
)
=
@
{
$tr
->
get_all_Attributes
('
miRNA
')};
#the value is the mature miRNA coordinate within miRNA transcript
if
(
$attribute
->
value
=~
/(\d+)-(\d+)/
)
{
my
@mapper_objs
=
$tr
->
cdna2genomic
(
$
1
,
$
2
,
$tr
->
strand
);
#transfer cdna value to genomic coordinates
foreach
my
$obj
(
@mapper_objs
){
#Note you can get more than one mature seq per miRNA
if
(
$obj
->
isa
("
Bio::EnsEMBL::Mapper::Coordinate
")){
if
(
$var
->
start
>=
$obj
->
start
()
and
$var
->
end
<=
$obj
->
end
())
{
$var
->
type
("
WITHIN_MATURE_miRNA
");
return
[
$var
];
}
}
}
}
my
(
$attribute
)
=
@
{
$tr
->
get_all_Attributes
('
miRNA
')};
#the value is the mature miRNA coordinate within miRNA transcript
if
(
$attribute
->
value
=~
/(\d+)-(\d+)/
)
{
my
@mapper_objs
=
$tr
->
cdna2genomic
(
$
1
,
$
2
,
$tr
->
strand
);
#transfer cdna value to genomic coordinates
foreach
my
$obj
(
@mapper_objs
){
#Note you can get more than one mature seq per miRNA
if
(
$obj
->
isa
("
Bio::EnsEMBL::Mapper::Coordinate
")){
if
(
$var
->
start
>=
$obj
->
start
()
and
$var
->
end
<=
$obj
->
end
())
{
$var
->
type
("
WITHIN_MATURE_miRNA
");
return
[
$var
];
}
}
}
}
}
$var
->
type
("
WITHIN_NON_CODING_GENE
");
return
[
$var
];
}
...
...
@@ -409,6 +408,12 @@ sub type_variation {
$var
->
type
(
(
$tr
->
strand
()
==
1
)
?
'
DOWNSTREAM
'
:
'
UPSTREAM
'
);
return
[
$var
];
}
# nonsense-mediated decay transcript
if
(
$tr
->
biotype
()
eq
'
nonsense_mediated_decay
')
{
$var
->
type
("
NMD_TRANSCRIPT
");
return
[
$var
];
}
# variation must be intronic since mapped to cdna gap, but is within
# transcript, note that ESSENTIAL_SPLICE_SITE only consider first (AG) and last (GT) 2 bases inside the intron.
...
...
@@ -416,11 +421,11 @@ sub type_variation {
foreach
my
$intron
(
@
{
$tr
->
get_all_Introns
()})
{
if
(
$intron
->
length
<=
5
)
{
#the length of frameshift intron could be 1,2,4,5 bases
if
(
$var
->
start
>=
$intron
->
start
and
$var
->
end
<=
$intron
->
end
)
{
#this is a type of SYNONYMOUS_CODING since changes happen in frameshift intron, which don't change exon structure
$var
->
type
('
SYNONYMOUS_CODING
');
return
[
$var
];
}
if
(
$var
->
start
>=
$intron
->
start
and
$var
->
end
<=
$intron
->
end
)
{
#this is a type of SYNONYMOUS_CODING since changes happen in frameshift intron, which don't change exon structure
$var
->
type
('
SYNONYMOUS_CODING
');
return
[
$var
];
}
}
}
#if it's not in frameshift intron, then it's in normal intron
...
...
@@ -434,6 +439,12 @@ sub type_variation {
}
return
[
$var
];
}
# nonsense-mediated decay transcript
if
(
$tr
->
biotype
()
eq
'
nonsense_mediated_decay
')
{
$var
->
type
("
NMD_TRANSCRIPT
");
return
[
$var
];
}
#now variation must be in exons, the first 3 bs into exon could be splice_site
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment