Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Gitlab will go into maintenance Friday 3rd February from 9:00 to 10:00
Open sidebar
Devrim Gunyel
core
Commits
087591b4
Commit
087591b4
authored
Jun 12, 2019
by
Piotr Gawron
Browse files
mirna targets are filtered by organism
parent
724d5139
Changes
3
Hide whitespace changes
Inline
Side-by-side
CHANGELOG
View file @
087591b4
...
...
@@ -18,6 +18,8 @@ minerva (14.0.0~alpha.0) unstable; urgency=low
inside
boolean
gateway
*
Bug
fix
:
CellDesigner
file
exported
from
minerva
was
not
fully
compliant
with
SBML
standard
(#
831
)
*
Bug
fix
:
MiRNA
targets
are
limited
only
to
the
organism
associated
with
the
map
(#
66
)
--
Sascha
Herzinger
<
sascha
.
herzinger
@
uni
.
lu
>
Wed
,
22
May
2019
10
:
30
:
00
+
0200
...
...
service/src/main/java/lcsb/mapviewer/services/search/mirna/MiRNAService.java
View file @
087591b4
...
...
@@ -7,7 +7,8 @@ import java.util.HashSet;
import
java.util.List
;
import
java.util.Set
;
import
org.apache.logging.log4j.*
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -71,6 +72,7 @@ public class MiRNAService extends DbSearchService implements IMiRNAService {
names
.
add
(
name
);
List
<
MiRNA
>
miRNAs
=
miRNAParser
.
getMiRnasByNames
(
names
);
if
(
miRNAs
.
size
()
>
0
)
{
removeUnknownOrganisms
(
miRNAs
.
get
(
0
),
searchCriteria
.
getOrganisms
());
return
miRNAs
.
get
(
0
);
}
return
null
;
...
...
@@ -117,8 +119,8 @@ public class MiRNAService extends DbSearchService implements IMiRNAService {
logger
.
error
(
"Problem with accessing mirna database"
,
e
);
}
for
(
MiRNA
drug
:
mirnaList
)
{
removeUnknownOrganisms
(
drug
,
searchCriteria
.
getOrganisms
());
for
(
MiRNA
mirna
:
mirnaList
)
{
removeUnknownOrganisms
(
mirna
,
searchCriteria
.
getOrganisms
());
}
Collections
.
sort
(
mirnaList
,
new
MiRNA
.
NameComparator
());
...
...
@@ -128,15 +130,15 @@ public class MiRNAService extends DbSearchService implements IMiRNAService {
/**
* Removes targets for unknown organisms from the mirna.
*
* @param
drug
*
drug
from which we want to remove targets
* @param
mirna
*
mirna
from which we want to remove targets
* @param organisms
* organisms that should be kept
*/
private
void
removeUnknownOrganisms
(
MiRNA
drug
,
List
<
MiriamData
>
organisms
)
{
private
void
removeUnknownOrganisms
(
MiRNA
mirna
,
List
<
MiriamData
>
organisms
)
{
if
(
organisms
.
size
()
>
0
)
{
List
<
Target
>
toRemove
=
new
ArrayList
<
Target
>();
for
(
Target
target
:
drug
.
getTargets
())
{
for
(
Target
target
:
mirna
.
getTargets
())
{
boolean
remove
=
true
;
for
(
MiriamData
organism
:
organisms
)
{
if
(
target
.
getOrganism
()
==
null
)
{
...
...
@@ -151,7 +153,7 @@ public class MiRNAService extends DbSearchService implements IMiRNAService {
toRemove
.
add
(
target
);
}
}
drug
.
getTargets
().
removeAll
(
toRemove
);
mirna
.
getTargets
().
removeAll
(
toRemove
);
}
}
...
...
service/src/test/java/lcsb/mapviewer/services/search/mirna/MiRNAServiceTest.java
View file @
087591b4
package
lcsb.mapviewer.services.search.mirna
;
import
org.apache.logging.log4j.*
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.junit.After
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
lcsb.mapviewer.annotation.data.MiRNA
;
import
lcsb.mapviewer.annotation.data.Target
;
import
lcsb.mapviewer.annotation.services.TaxonomyBackend
;
import
lcsb.mapviewer.common.IProgressUpdater
;
import
lcsb.mapviewer.model.map.MiriamData
;
import
lcsb.mapviewer.model.map.MiriamType
;
import
lcsb.mapviewer.model.map.model.Model
;
import
lcsb.mapviewer.model.map.model.ModelFullIndexed
;
import
lcsb.mapviewer.services.ServiceTestFunctions
;
import
lcsb.mapviewer.services.search.
mirna.IMiRNAService
;
import
lcsb.mapviewer.services.search.
DbSearchCriteria
;
public
class
MiRNAServiceTest
extends
ServiceTestFunctions
{
Logger
logger
=
LogManager
.
getLogger
(
MiRNAServiceTest
.
class
);
...
...
@@ -45,4 +54,22 @@ public class MiRNAServiceTest extends ServiceTestFunctions {
}
}
@Test
public
void
testFindMiRNAFilteredByOrganism
()
throws
Exception
{
try
{
MiRNA
test
=
miRNAService
.
getByName
(
"hsa-miR-29a-3p"
,
new
DbSearchCriteria
().
organisms
(
TaxonomyBackend
.
HUMAN_TAXONOMY
));
assertNotNull
(
test
);
for
(
Target
t
:
test
.
getTargets
())
{
for
(
MiriamData
md
:
t
.
getGenes
())
{
assertEquals
(
"Only hgnc symbols should be used for gene annotations"
,
MiriamType
.
HGNC_SYMBOL
,
md
.
getDataType
());
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
e
;
}
}
}
Write
Preview
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment