diff --git a/CHANGELOG b/CHANGELOG index 3ceaad7be87b2942b1bd7ed77ed42b908deaf507..e7624beee301b56bc7909a34adfdab09659ad208 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,8 @@ minerva (13.1.1) stable; urgency=medium * Bug fix: "Terms of Use" change to "Terms of Service" in all places (#843) * Bug fix: upgrade to 13.1.0 crashed on machines where every element was inside compartment (#856) + * Bug fix: searching for some drugs in chembl didn't provide any results even + though that data exists, for instance 'DORLIMOMAB ARITOX' (#842) -- Piotr Gawron <piotr.gawron@uni.lu> Fri, 28 Jun 2019 17:00:00 +0200 diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParser.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParser.java index 9b7e32922491af5fce7203928d07580eca51317a..3a7519a5f3488d30759204fd1921b528424e0625 100644 --- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParser.java +++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParser.java @@ -256,12 +256,15 @@ public class ChEMBLParser extends DrugAnnotation implements IExternalService { MiriamData result = null; Node uniprotAccessionId = XmlParser.getNode("accession", targetComponent.getChildNodes()); if (uniprotAccessionId != null) { - try { - result = uniprotAnnotator - .uniProtToHgnc(new MiriamData(MiriamType.UNIPROT, uniprotAccessionId.getTextContent())); - result.setAnnotator(null); - } catch (UniprotSearchException e) { - throw new DrugSearchException(e); + String uniprotId = uniprotAccessionId.getTextContent(); + if (uniprotId != null && !uniprotId.isEmpty()) { + try { + result = uniprotAnnotator + .uniProtToHgnc(new MiriamData(MiriamType.UNIPROT, uniprotId)); + result.setAnnotator(null); + } catch (UniprotSearchException e) { + throw new DrugSearchException(e); + } } } return result; diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java index 0b4f0d4dd5f38e0d2dae09e2d16cd72dcf0f2e24..8fa920f651688e85b50daf5a607e0493b1b367f7 100644 --- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java +++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java @@ -273,6 +273,19 @@ public class ChEMBLParserTest extends AnnotationTestFunctions { } + @Test + public void testGetTargetWithRnaComponent() throws Exception { + try { + Target test = chemblParser.getTargetFromId(new MiriamData(MiriamType.CHEMBL_TARGET, "CHEMBL2363135")); + + assertEquals(test.getSource().getResource(), "CHEMBL2363135"); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + + } + @Test public void testGetTargetFromInvalidId() throws Exception { try {