diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java index 85d4105e01be05a67a1a7dc2fb85f3f9498856ac..b9cdf4c350cef2be50835c5a575c212a2a123644 100644 --- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java +++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java @@ -208,6 +208,21 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { } } + @Test + public void testGetUrlForDoi() throws Exception { + try { + // exclude first cached value + MiriamData md = new MiriamData(MiriamType.DOI, "10.1038/npjsba.2016.20"); + + String url = miriamConnector.getUrlString(md); + assertNotNull(url); + + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + @Test public void testMiriamDataToUri() throws Exception { try { diff --git a/annotation/src/test/resources/log4j.properties b/annotation/src/test/resources/log4j.properties index 473855faa6b70690575e254c92710b3c8e06fe32..e23927cb8932324e1cb8b40fe1be2b99fb755c69 100644 --- a/annotation/src/test/resources/log4j.properties +++ b/annotation/src/test/resources/log4j.properties @@ -14,6 +14,8 @@ log4j.appender.R.File=${catalina.home}/logs/MapViewer.log log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n +#Silence miriam debug logs +log4j.logger.uk.ac.ebi.miriam.lib=warn log4j.logger.org.springframework=warn log4j.logger.org.hibernate=warn diff --git a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js index 13c6eb2568020b909c41cc40c8143cb71f373e32..daa4b747f786e615c7d8ab82b4e30dd275732f3b 100644 --- a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js +++ b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js @@ -119,7 +119,8 @@ GuiUtils.prototype.createAnnotationLink = function (annotation, showType) { type = "PUBMED"; name = article.getId(); } else { - name = annotation.getResource(); + //replace encoded parts of uri (like %2F - > "/") + name = decodeURIComponent(annotation.getResource()); var miriamType = self.getConfiguration().getMiriamTypeByName(annotation.getType()); if (miriamType === null) { logger.warn("Unknown miriam type: " + annotation.getType()); diff --git a/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js b/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js index 0b8d3520736d54720a2643a36ed2324a1ec71d13..5d3aa3a65bb5bb07828a255af7625f7770079c10 100644 --- a/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js +++ b/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js @@ -3,6 +3,7 @@ require('../../mocha-config.js'); var Alias = require('../../../../main/js/map/data/Alias'); +var Annotation = require('../../../../main/js/map/data/Annotation'); var GuiUtils = require('../../../../main/js/gui/leftPanel/GuiUtils'); var chai = require('chai'); @@ -11,7 +12,7 @@ var logger = require('../../logger'); describe('GuiUtils', function () { - it('constructor', function() { + it('constructor', function () { var map = helper.createCustomMap(); helper.createSearchDbOverlay(map); @@ -21,19 +22,19 @@ describe('GuiUtils', function () { it('default', function () { var aliasObj = { - symbol : "S1_SYMBOL", - formerSymbols : [], - modelId : 15781, - synonyms : [ "syn44" ], - description : "DESCRIPTION", - type : "Simple molecule", - abbreviation : "ABBREVIATION", - name : "s1", - bounds : { - x : 170.0, - y : 171.5, - width : 70.0, - height : 25.0 + symbol: "S1_SYMBOL", + formerSymbols: [], + modelId: 15781, + synonyms: ["syn44"], + description: "DESCRIPTION", + type: "Simple molecule", + abbreviation: "ABBREVIATION", + name: "s1", + bounds: { + x: 170.0, + y: 171.5, + width: 70.0, + height: 25.0 }, formula: "FORMULA", id: 380217, @@ -152,5 +153,21 @@ describe('GuiUtils', function () { assert.ok(logger.getWarnings().length > 0); }); }); + describe('createAnnotationLink', function () { + it('with encoded part in resource', function () { + // noinspection SpellCheckingInspection + var annotation = new Annotation({ + resource: "10.1038%2Fnpjsba.2016.20", + link: "http://doi.org/10.1038%2Fnpjsba.2016.20", + id: 1116748, + type: "DOI" + }); + var guiUtils = new GuiUtils(helper.getConfiguration()); + var link = guiUtils.createAnnotationLink(annotation); + assert.ok(link); + assert.equal(0, logger.getWarnings().length); + assert.ok(link.innerHTML.indexOf("%2F") < 0, "url contains encoded %2F part of id"); + }); + }); }); diff --git a/frontend-js/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID& b/frontend-js/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID& index 0511d724faaed26c89ddcc24ff4dca4fb5f4eaa8..363a62838acc6969b9b792ed50978f9c493c102e 100644 --- a/frontend-js/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID& +++ b/frontend-js/testFiles/apiCalls/configuration/token=MOCK_TOKEN_ID& @@ -1 +1 @@ -{"modelFormats":[{"handler":"lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser","extension":"xml","name":"CellDesigner SBML"},{"handler":"lcsb.mapviewer.converter.model.sbgnml.SbgnmlXmlConverter","extension":"sbgn","name":"SBGN-ML"}],"elementTypes":[{"name":"Degraded","className":"lcsb.mapviewer.model.map.species.Degraded","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.LeftSquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.IonChannelProtein","parentClass":"lcsb.mapviewer.model.map.species.Protein"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.TopSquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Ion","className":"lcsb.mapviewer.model.map.species.Ion","parentClass":"lcsb.mapviewer.model.map.species.Chemical"},{"name":"Species","className":"lcsb.mapviewer.model.map.species.Species","parentClass":"lcsb.mapviewer.model.map.species.Element"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.RightSquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Drug","className":"lcsb.mapviewer.model.map.species.Drug","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.Protein","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.TruncatedProtein","parentClass":"lcsb.mapviewer.model.map.species.Protein"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.PathwayCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.BottomSquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"RNA","className":"lcsb.mapviewer.model.map.species.Rna","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Chemical","className":"lcsb.mapviewer.model.map.species.Chemical","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.Compartment","parentClass":"lcsb.mapviewer.model.map.species.Element"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.OvalCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.SquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Unknown","className":"lcsb.mapviewer.model.map.species.Unknown","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Element","className":"lcsb.mapviewer.model.map.species.Element","parentClass":"lcsb.mapviewer.model.map.BioEntity"},{"name":"Phenotype","className":"lcsb.mapviewer.model.map.species.Phenotype","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Complex","className":"lcsb.mapviewer.model.map.species.Complex","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Antisense RNA","className":"lcsb.mapviewer.model.map.species.AntisenseRna","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.ReceptorProtein","parentClass":"lcsb.mapviewer.model.map.species.Protein"},{"name":"Simple molecule","className":"lcsb.mapviewer.model.map.species.SimpleMolecule","parentClass":"lcsb.mapviewer.model.map.species.Chemical"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.GenericProtein","parentClass":"lcsb.mapviewer.model.map.species.Protein"},{"name":"Gene","className":"lcsb.mapviewer.model.map.species.Gene","parentClass":"lcsb.mapviewer.model.map.species.Species"}],"modificationStateTypes":{"PHOSPHORYLATED":{"commonName":"phosphorylated","abbreviation":"P"},"METHYLATED":{"commonName":"methylated","abbreviation":"Me"},"PALMYTOYLATED":{"commonName":"palmytoylated","abbreviation":"Pa"},"ACETYLATED":{"commonName":"acetylated","abbreviation":"Ac"},"SULFATED":{"commonName":"sulfated","abbreviation":"S"},"GLYCOSYLATED":{"commonName":"glycosylated","abbreviation":"G"},"PRENYLATED":{"commonName":"prenylated","abbreviation":"Pr"},"UBIQUITINATED":{"commonName":"ubiquitinated","abbreviation":"Ub"},"PROTONATED":{"commonName":"protonated","abbreviation":"H"},"HYDROXYLATED":{"commonName":"hydroxylated","abbreviation":"OH"},"MYRISTOYLATED":{"commonName":"myristoylated","abbreviation":"My"},"UNKNOWN":{"commonName":"unknown","abbreviation":"?"},"EMPTY":{"commonName":"empty","abbreviation":""},"DONT_CARE":{"commonName":"don't care","abbreviation":"*"}},"imageFormats":[{"handler":"lcsb.mapviewer.converter.graphics.PngImageGenerator","extension":"png","name":"PNG image"},{"handler":"lcsb.mapviewer.converter.graphics.PdfImageGenerator","extension":"pdf","name":"PDF"},{"handler":"lcsb.mapviewer.converter.graphics.SvgImageGenerator","extension":"svg","name":"SVG image"}],"plugins":[{"load-on-start":false,"url":"resources/js/plugins/empty.js"}],"annotators":[{"name":"Biocompendium","className":"lcsb.mapviewer.annotation.services.annotators.BiocompendiumAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Gene","lcsb.mapviewer.model.map.species.Rna"],"url":"http://biocompendium.embl.de/"},{"name":"Chebi","className":"lcsb.mapviewer.annotation.services.annotators.ChebiAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Chemical"],"url":"http://www.ebi.ac.uk/chebi/"},{"name":"Uniprot","className":"lcsb.mapviewer.annotation.services.annotators.UniprotAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Gene","lcsb.mapviewer.model.map.species.Rna"],"url":"http://www.uniprot.org/"},{"name":"Gene Ontology","className":"lcsb.mapviewer.annotation.services.annotators.GoAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Phenotype","lcsb.mapviewer.model.map.compartment.Compartment","lcsb.mapviewer.model.map.species.Complex"],"url":"http://amigo.geneontology.org/amigo"},{"name":"HGNC","className":"lcsb.mapviewer.annotation.services.annotators.HgncAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Rna","lcsb.mapviewer.model.map.species.Gene"],"url":"http://www.genenames.org"},{"name":"Protein Data Bank","className":"lcsb.mapviewer.annotation.services.annotators.PdbAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Rna","lcsb.mapviewer.model.map.species.Gene"],"url":"http://www.pdbe.org/"},{"name":"Recon annotator","className":"lcsb.mapviewer.annotation.services.annotators.ReconAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Chemical","lcsb.mapviewer.model.map.reaction.Reaction"],"url":"http://humanmetabolism.org/"},{"name":"Entrez Gene","className":"lcsb.mapviewer.annotation.services.annotators.EntrezAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Rna","lcsb.mapviewer.model.map.species.Gene"],"url":"http://www.ncbi.nlm.nih.gov/gene"},{"name":"Ensembl","className":"lcsb.mapviewer.annotation.services.annotators.EnsemblAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Rna","lcsb.mapviewer.model.map.species.Gene"],"url":"www.ensembl.org"}],"buildDate":" 15/11/2017 14:13","reactionTypes":[{"name":"Unknown positive influence","className":"lcsb.mapviewer.model.map.reaction.type.UnknownPositiveInfluenceReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Generic Reaction","className":"lcsb.mapviewer.model.map.reaction.Reaction","parentClass":"lcsb.mapviewer.model.map.BioEntity"},{"name":"Reduced physical stimulation","className":"lcsb.mapviewer.model.map.reaction.type.ReducedPhysicalStimulationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Negative influence","className":"lcsb.mapviewer.model.map.reaction.type.NegativeInfluenceReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Known transition omitted","className":"lcsb.mapviewer.model.map.reaction.type.KnownTransitionOmittedReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Reduced modulation","className":"lcsb.mapviewer.model.map.reaction.type.ReducedModulationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Translation","className":"lcsb.mapviewer.model.map.reaction.type.TranslationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Heterodimer association","className":"lcsb.mapviewer.model.map.reaction.type.HeterodimerAssociationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Transcription","className":"lcsb.mapviewer.model.map.reaction.type.TranscriptionReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown reduced trigger","className":"lcsb.mapviewer.model.map.reaction.type.UnknownReducedTriggerReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown negative influence","className":"lcsb.mapviewer.model.map.reaction.type.UnknownNegativeInfluenceReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Truncation","className":"lcsb.mapviewer.model.map.reaction.type.TruncationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Transport","className":"lcsb.mapviewer.model.map.reaction.type.TransportReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Reduced trigger","className":"lcsb.mapviewer.model.map.reaction.type.ReducedTriggerReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"State transition","className":"lcsb.mapviewer.model.map.reaction.type.StateTransitionReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Positive influence","className":"lcsb.mapviewer.model.map.reaction.type.PositiveInfluenceReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown reduced physical stimulation","className":"lcsb.mapviewer.model.map.reaction.type.UnknownReducedPhysicalStimulationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Boolean logic gate","className":"lcsb.mapviewer.model.map.reaction.type.BooleanLogicGateReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown reduced modulation","className":"lcsb.mapviewer.model.map.reaction.type.UnknownReducedModulationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown transition","className":"lcsb.mapviewer.model.map.reaction.type.UnknownTransitionReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Dissociation","className":"lcsb.mapviewer.model.map.reaction.type.DissociationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"}],"version":"11.0.4","mapTypes":[{"name":"Downstream targets","id":"DOWNSTREAM_TARGETS"},{"name":"Pathway","id":"PATHWAY"},{"name":"Unknown","id":"UNKNOWN"}],"miriamTypes":{"CHEMBL_TARGET":{"commonName":"ChEMBL target","uris":["urn:miriam:chembl.target"],"homepage":"https://www.ebi.ac.uk/chembldb/","registryIdentifier":"MIR:00000085"},"UNIPROT":{"commonName":"Uniprot","uris":["urn:miriam:uniprot"],"homepage":"http://www.uniprot.org/","registryIdentifier":"MIR:00000005"},"MI_R_BASE_MATURE_SEQUENCE":{"commonName":"miRBase Mature Sequence Database","uris":["urn:miriam:mirbase.mature"],"homepage":"http://www.mirbase.org/","registryIdentifier":"MIR:00000235"},"PFAM":{"commonName":"Protein Family Database","uris":["urn:miriam:pfam"],"homepage":"http://pfam.xfam.org//","registryIdentifier":"MIR:00000028"},"ENSEMBL_PLANTS":{"commonName":"Ensembl Plants","uris":["urn:miriam:ensembl.plant"],"homepage":"http://plants.ensembl.org/","registryIdentifier":"MIR:00000205"},"WIKIPEDIA":{"commonName":"Wikipedia (English)","uris":["urn:miriam:wikipedia.en"],"homepage":"http://en.wikipedia.org/wiki/Main_Page","registryIdentifier":"MIR:00000384"},"CHEBI":{"commonName":"Chebi","uris":["urn:miriam:obo.chebi","urn:miriam:chebi"],"homepage":"http://www.ebi.ac.uk/chebi/","registryIdentifier":"MIR:00000002"},"WIKIDATA":{"commonName":"Wikidata","uris":["urn:miriam:wikidata"],"homepage":"https://www.wikidata.org/","registryIdentifier":"MIR:00000549"},"REACTOME":{"commonName":"Reactome","uris":["urn:miriam:reactome"],"homepage":"http://www.reactome.org/","registryIdentifier":"MIR:00000018"},"EC":{"commonName":"Enzyme Nomenclature","uris":["urn:miriam:ec-code"],"homepage":"http://www.enzyme-database.org/","registryIdentifier":"MIR:00000004"},"UNIPROT_ISOFORM":{"commonName":"UniProt Isoform","uris":["urn:miriam:uniprot.isoform"],"homepage":"http://www.uniprot.org/","registryIdentifier":"MIR:00000388"},"OMIM":{"commonName":"Online Mendelian Inheritance in Man","uris":["urn:miriam:omim"],"homepage":"http://omim.org/","registryIdentifier":"MIR:00000016"},"DRUGBANK_TARGET_V4":{"commonName":"DrugBank Target v4","uris":["urn:miriam:drugbankv4.target"],"homepage":"http://www.drugbank.ca/targets","registryIdentifier":"MIR:00000528"},"MIR_TAR_BASE_MATURE_SEQUENCE":{"commonName":"miRTarBase Mature Sequence Database","uris":["urn:miriam:mirtarbase"],"homepage":"http://mirtarbase.mbc.nctu.edu.tw/","registryIdentifier":"MIR:00100739"},"CHEMBL_COMPOUND":{"commonName":"ChEMBL","uris":["urn:miriam:chembl.compound"],"homepage":"https://www.ebi.ac.uk/chembldb/","registryIdentifier":"MIR:00000084"},"KEGG_PATHWAY":{"commonName":"Kegg Pathway","uris":["urn:miriam:kegg.pathway"],"homepage":"http://www.genome.jp/kegg/pathway.html","registryIdentifier":"MIR:00000012"},"CAS":{"commonName":"Chemical Abstracts Service","uris":["urn:miriam:cas"],"homepage":"http://commonchemistry.org","registryIdentifier":"MIR:00000237"},"REFSEQ":{"commonName":"RefSeq","uris":["urn:miriam:refseq"],"homepage":"http://www.ncbi.nlm.nih.gov/projects/RefSeq/","registryIdentifier":"MIR:00000039"},"WORM_BASE":{"commonName":"WormBase","uris":["urn:miriam:wormbase"],"homepage":"http://wormbase.bio2rdf.org/fct","registryIdentifier":"MIR:00000027"},"MI_R_BASE_SEQUENCE":{"commonName":"miRBase Sequence Database","uris":["urn:miriam:mirbase"],"homepage":"http://www.mirbase.org/","registryIdentifier":"MIR:00000078"},"TAIR_LOCUS":{"commonName":"TAIR Locus","uris":["urn:miriam:tair.locus"],"homepage":"http://arabidopsis.org/index.jsp","registryIdentifier":"MIR:00000050"},"PHARM":{"commonName":"PharmGKB Pathways","uris":["urn:miriam:pharmgkb.pathways"],"homepage":"http://www.pharmgkb.org/","registryIdentifier":"MIR:00000089"},"PDB":{"commonName":"Protein Data Bank","uris":["urn:miriam:pdb"],"homepage":"http://www.pdbe.org/","registryIdentifier":"MIR:00000020"},"PANTHER":{"commonName":"PANTHER Family","uris":["urn:miriam:panther.family","urn:miriam:panther"],"homepage":"http://www.pantherdb.org/","registryIdentifier":"MIR:00000060"},"TAXONOMY":{"commonName":"Taxonomy","uris":["urn:miriam:taxonomy"],"homepage":"http://www.ncbi.nlm.nih.gov/taxonomy/","registryIdentifier":"MIR:00000006"},"UNIGENE":{"commonName":"UniGene","uris":["urn:miriam:unigene"],"homepage":"http://www.ncbi.nlm.nih.gov/unigene","registryIdentifier":"MIR:00000346"},"HGNC":{"commonName":"HGNC","uris":["urn:miriam:hgnc"],"homepage":"http://www.genenames.org","registryIdentifier":"MIR:00000080"},"HGNC_SYMBOL":{"commonName":"HGNC Symbol","uris":["urn:miriam:hgnc.symbol"],"homepage":"http://www.genenames.org","registryIdentifier":"MIR:00000362"},"COG":{"commonName":"Clusters of Orthologous Groups","uris":["urn:miriam:cogs"],"homepage":"https://www.ncbi.nlm.nih.gov/COG/","registryIdentifier":"MIR:00000296"},"WIKIPATHWAYS":{"commonName":"WikiPathways","uris":["urn:miriam:wikipathways"],"homepage":"http://www.wikipathways.org/","registryIdentifier":"MIR:00000076"},"HMDB":{"commonName":"HMDB","uris":["urn:miriam:hmdb"],"homepage":"http://www.hmdb.ca/","registryIdentifier":"MIR:00000051"},"CHEMSPIDER":{"commonName":"ChemSpider","uris":["urn:miriam:chemspider"],"homepage":"http://www.chemspider.com//","registryIdentifier":"MIR:00000138"},"ENSEMBL":{"commonName":"Ensembl","uris":["urn:miriam:ensembl"],"homepage":"www.ensembl.org","registryIdentifier":"MIR:00000003"},"GO":{"commonName":"Gene Ontology","uris":["urn:miriam:obo.go","urn:miriam:go"],"homepage":"http://amigo.geneontology.org/amigo","registryIdentifier":"MIR:00000022"},"KEGG_REACTION":{"commonName":"Kegg Reaction","uris":["urn:miriam:kegg.reaction"],"homepage":"http://www.genome.jp/kegg/reaction/","registryIdentifier":"MIR:00000014"},"KEGG_ORTHOLOGY":{"commonName":"KEGG Orthology","uris":["urn:miriam:kegg.orthology"],"homepage":"http://www.genome.jp/kegg/ko.html","registryIdentifier":"MIR:00000116"},"PUBCHEM":{"commonName":"PubChem-compound","uris":["urn:miriam:pubchem.compound"],"homepage":"http://pubchem.ncbi.nlm.nih.gov/","registryIdentifier":"MIR:00000034"},"MESH_2012":{"commonName":"MeSH 2012","uris":["urn:miriam:mesh.2012","urn:miriam:mesh"],"homepage":"http://www.nlm.nih.gov/mesh/","registryIdentifier":"MIR:00000270"},"MGD":{"commonName":"Mouse Genome Database","uris":["urn:miriam:mgd"],"homepage":"http://www.informatics.jax.org/","registryIdentifier":"MIR:00000037"},"ENTREZ":{"commonName":"Entrez Gene","uris":["urn:miriam:ncbigene","urn:miriam:entrez.gene"],"homepage":"http://www.ncbi.nlm.nih.gov/gene","registryIdentifier":"MIR:00000069"},"PUBCHEM_SUBSTANCE":{"commonName":"PubChem-substance","uris":["urn:miriam:pubchem.substance"],"homepage":"http://pubchem.ncbi.nlm.nih.gov/","registryIdentifier":"MIR:00000033"},"CCDS":{"commonName":"Consensus CDS","uris":["urn:miriam:ccds"],"homepage":"http://www.ncbi.nlm.nih.gov/CCDS/","registryIdentifier":"MIR:00000375"},"KEGG_GENES":{"commonName":"Kegg Genes","uris":["urn:miriam:kegg.genes","urn:miriam:kegg.genes:hsa"],"homepage":"http://www.genome.jp/kegg/genes.html","registryIdentifier":"MIR:00000070"},"TOXICOGENOMIC_CHEMICAL":{"commonName":"Toxicogenomic Chemical","uris":["urn:miriam:ctd.chemical"],"homepage":"http://ctdbase.org/","registryIdentifier":"MIR:00000098"},"SGD":{"commonName":"Saccharomyces Genome Database","uris":["urn:miriam:sgd"],"homepage":"http://www.yeastgenome.org/","registryIdentifier":"MIR:00000023"},"KEGG_COMPOUND":{"commonName":"Kegg Compound","uris":["urn:miriam:kegg.compound"],"homepage":"http://www.genome.jp/kegg/ligand.html","registryIdentifier":"MIR:00000013"},"INTERPRO":{"commonName":"InterPro","uris":["urn:miriam:interpro"],"homepage":"http://www.ebi.ac.uk/interpro/","registryIdentifier":"MIR:00000011"},"UNKNOWN":{"commonName":"Unknown","uris":[],"homepage":null,"registryIdentifier":null},"DRUGBANK":{"commonName":"DrugBank","uris":["urn:miriam:drugbank"],"homepage":"http://www.drugbank.ca/","registryIdentifier":"MIR:00000102"},"PUBMED":{"commonName":"PubMed","uris":["urn:miriam:pubmed"],"homepage":"http://www.ncbi.nlm.nih.gov/PubMed/","registryIdentifier":"MIR:00000015"}},"options":[{"idObject":9,"type":"EMAIL_ADDRESS","value":"your.account@domain.com","valueType":"EMAIL","commonName":"E-mail address"},{"idObject":10,"type":"EMAIL_LOGIN","value":"your@l","valueType":"STRING","commonName":"E-mail server login"},{"idObject":11,"type":"EMAIL_PASSWORD","value":"email.secret.password","valueType":"PASSWORD","commonName":"E-mail server password"},{"idObject":13,"type":"EMAIL_IMAP_SERVER","value":"your.imap.domain.com","valueType":"STRING","commonName":"IMAP server"},{"idObject":12,"type":"EMAIL_SMTP_SERVER","value":"your.smtp.domain.com","valueType":"STRING","commonName":"SMTP server"},{"idObject":14,"type":"EMAIL_SMTP_PORT","value":"25","valueType":"INTEGER","commonName":"SMTP port"},{"idObject":6,"type":"DEFAULT_MAP","value":"sample","valueType":"STRING","commonName":"Default Project Id"},{"idObject":4,"type":"LOGO_IMG","value":"udl.png","valueType":"URL","commonName":"Logo icon"},{"idObject":3,"type":"LOGO_LINK","value":"http://wwwen.uni.lu/","valueType":"URL","commonName":"Logo link (after click)"},{"idObject":7,"type":"SEARCH_DISTANCE","value":"10","valueType":"DOUBLE","commonName":"Max distance for clicking on element (px)"},{"idObject":1,"type":"REQUEST_ACCOUNT_EMAIL","value":"your.email@domain.com","valueType":"EMAIL","commonName":"Email used for requesting an account"},{"idObject":8,"type":"SEARCH_RESULT_NUMBER","value":"100","valueType":"INTEGER","commonName":"Max number of results in search box. "},{"idObject":2,"type":"GOOGLE_ANALYTICS_IDENTIFIER","value":"","valueType":"STRING","commonName":"Google Analytics tracking ID used for statistics"},{"idObject":5,"type":"LOGO_TEXT","value":"University of Luxembourg","valueType":"STRING","commonName":"Logo description"},{"idObject":56,"type":"X_FRAME_DOMAIN","value":"http://localhost:8080/","valueType":"URL","commonName":"Domain allowed to connect via x-frame technology"},{"idObject":131,"type":"BIG_FILE_STORAGE_DIR","value":"minerva-big/","valueType":"STRING","commonName":"Path to store big files"},{"idObject":138,"type":"LEGEND_FILE_1","value":"resources/images/legend_a.png","valueType":"URL","commonName":"Legend 1 image file"},{"idObject":139,"type":"LEGEND_FILE_2","value":"resources/images/legend_b.png","valueType":"URL","commonName":"Legend 2 image file"},{"idObject":140,"type":"LEGEND_FILE_3","value":"resources/images/legend_c.png","valueType":"URL","commonName":"Legend 3 image file"},{"idObject":141,"type":"LEGEND_FILE_4","value":"resources/images/legend_d.png","valueType":"URL","commonName":"Legend 4 image file"},{"idObject":142,"type":"USER_MANUAL_FILE","value":"resources/other/user_guide.pdf","valueType":"URL","commonName":"User manual file"},{"idObject":205,"type":"MIN_COLOR_VAL","value":"FF0000","valueType":"COLOR","commonName":"Overlay color for negative values"},{"idObject":206,"type":"MAX_COLOR_VAL","value":"fbff00","valueType":"COLOR","commonName":"Overlay color for postive values"},{"idObject":218,"type":"SIMPLE_COLOR_VAL","value":"00ff40","valueType":"COLOR","commonName":"Overlay color when no values are defined"},{"idObject":239,"type":"NEUTRAL_COLOR_VAL","value":"0400ff","valueType":"COLOR","commonName":"Overlay color for value=0"}],"privilegeTypes":{"VIEW_PROJECT":{"commonName":"View project","valueType":"boolean","objectType":"Project"},"LAYOUT_MANAGEMENT":{"commonName":"Manage layouts","valueType":"boolean","objectType":"Project"},"PROJECT_MANAGEMENT":{"commonName":"Map management","valueType":"boolean","objectType":null},"CUSTOM_LAYOUTS":{"commonName":"Custom layouts","valueType":"int","objectType":null},"ADD_MAP":{"commonName":"Add project","valueType":"boolean","objectType":null},"LAYOUT_VIEW":{"commonName":"View layout","valueType":"boolean","objectType":"Layout"},"MANAGE_GENOMES":{"commonName":"Manage genomes","valueType":"boolean","objectType":null},"EDIT_COMMENTS_PROJECT":{"commonName":"Manage comments","valueType":"boolean","objectType":"Project"},"CONFIGURATION_MANAGE":{"commonName":"Manage configuration","valueType":"boolean","objectType":null},"USER_MANAGEMENT":{"commonName":"User management","valueType":"boolean","objectType":null}},"overlayTypes":[{"name":"GENERIC"},{"name":"GENETIC_VARIANT"}]} \ No newline at end of file +{"modelFormats":[{"handler":"lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser","extension":"xml","name":"CellDesigner SBML"},{"handler":"lcsb.mapviewer.converter.model.sbgnml.SbgnmlXmlConverter","extension":"sbgn","name":"SBGN-ML"}],"elementTypes":[{"name":"Degraded","className":"lcsb.mapviewer.model.map.species.Degraded","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.LeftSquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.IonChannelProtein","parentClass":"lcsb.mapviewer.model.map.species.Protein"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.TopSquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Ion","className":"lcsb.mapviewer.model.map.species.Ion","parentClass":"lcsb.mapviewer.model.map.species.Chemical"},{"name":"Species","className":"lcsb.mapviewer.model.map.species.Species","parentClass":"lcsb.mapviewer.model.map.species.Element"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.RightSquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Drug","className":"lcsb.mapviewer.model.map.species.Drug","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.Protein","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.TruncatedProtein","parentClass":"lcsb.mapviewer.model.map.species.Protein"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.PathwayCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.BottomSquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"RNA","className":"lcsb.mapviewer.model.map.species.Rna","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Chemical","className":"lcsb.mapviewer.model.map.species.Chemical","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.Compartment","parentClass":"lcsb.mapviewer.model.map.species.Element"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.OvalCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Compartment","className":"lcsb.mapviewer.model.map.compartment.SquareCompartment","parentClass":"lcsb.mapviewer.model.map.compartment.Compartment"},{"name":"Unknown","className":"lcsb.mapviewer.model.map.species.Unknown","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Element","className":"lcsb.mapviewer.model.map.species.Element","parentClass":"lcsb.mapviewer.model.map.BioEntity"},{"name":"Phenotype","className":"lcsb.mapviewer.model.map.species.Phenotype","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Complex","className":"lcsb.mapviewer.model.map.species.Complex","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Antisense RNA","className":"lcsb.mapviewer.model.map.species.AntisenseRna","parentClass":"lcsb.mapviewer.model.map.species.Species"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.ReceptorProtein","parentClass":"lcsb.mapviewer.model.map.species.Protein"},{"name":"Simple molecule","className":"lcsb.mapviewer.model.map.species.SimpleMolecule","parentClass":"lcsb.mapviewer.model.map.species.Chemical"},{"name":"Protein","className":"lcsb.mapviewer.model.map.species.GenericProtein","parentClass":"lcsb.mapviewer.model.map.species.Protein"},{"name":"Gene","className":"lcsb.mapviewer.model.map.species.Gene","parentClass":"lcsb.mapviewer.model.map.species.Species"}],"modificationStateTypes":{"PHOSPHORYLATED":{"commonName":"phosphorylated","abbreviation":"P"},"METHYLATED":{"commonName":"methylated","abbreviation":"Me"},"PALMYTOYLATED":{"commonName":"palmytoylated","abbreviation":"Pa"},"ACETYLATED":{"commonName":"acetylated","abbreviation":"Ac"},"SULFATED":{"commonName":"sulfated","abbreviation":"S"},"GLYCOSYLATED":{"commonName":"glycosylated","abbreviation":"G"},"PRENYLATED":{"commonName":"prenylated","abbreviation":"Pr"},"UBIQUITINATED":{"commonName":"ubiquitinated","abbreviation":"Ub"},"PROTONATED":{"commonName":"protonated","abbreviation":"H"},"HYDROXYLATED":{"commonName":"hydroxylated","abbreviation":"OH"},"MYRISTOYLATED":{"commonName":"myristoylated","abbreviation":"My"},"UNKNOWN":{"commonName":"unknown","abbreviation":"?"},"EMPTY":{"commonName":"empty","abbreviation":""},"DONT_CARE":{"commonName":"don't care","abbreviation":"*"}},"imageFormats":[{"handler":"lcsb.mapviewer.converter.graphics.PngImageGenerator","extension":"png","name":"PNG image"},{"handler":"lcsb.mapviewer.converter.graphics.PdfImageGenerator","extension":"pdf","name":"PDF"},{"handler":"lcsb.mapviewer.converter.graphics.SvgImageGenerator","extension":"svg","name":"SVG image"}],"plugins":[],"annotators":[{"name":"Biocompendium","className":"lcsb.mapviewer.annotation.services.annotators.BiocompendiumAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Gene","lcsb.mapviewer.model.map.species.Rna"],"url":"http://biocompendium.embl.de/"},{"name":"Chebi","className":"lcsb.mapviewer.annotation.services.annotators.ChebiAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Chemical"],"url":"http://www.ebi.ac.uk/chebi/"},{"name":"Uniprot","className":"lcsb.mapviewer.annotation.services.annotators.UniprotAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Gene","lcsb.mapviewer.model.map.species.Rna"],"url":"http://www.uniprot.org/"},{"name":"Gene Ontology","className":"lcsb.mapviewer.annotation.services.annotators.GoAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Phenotype","lcsb.mapviewer.model.map.compartment.Compartment","lcsb.mapviewer.model.map.species.Complex"],"url":"http://amigo.geneontology.org/amigo"},{"name":"HGNC","className":"lcsb.mapviewer.annotation.services.annotators.HgncAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Rna","lcsb.mapviewer.model.map.species.Gene"],"url":"http://www.genenames.org"},{"name":"Protein Data Bank","className":"lcsb.mapviewer.annotation.services.annotators.PdbAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Rna","lcsb.mapviewer.model.map.species.Gene"],"url":"http://www.pdbe.org/"},{"name":"Recon annotator","className":"lcsb.mapviewer.annotation.services.annotators.ReconAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Chemical","lcsb.mapviewer.model.map.reaction.Reaction"],"url":"http://humanmetabolism.org/"},{"name":"Entrez Gene","className":"lcsb.mapviewer.annotation.services.annotators.EntrezAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Rna","lcsb.mapviewer.model.map.species.Gene"],"url":"http://www.ncbi.nlm.nih.gov/gene"},{"name":"Ensembl","className":"lcsb.mapviewer.annotation.services.annotators.EnsemblAnnotator","elementClassNames":["lcsb.mapviewer.model.map.species.Protein","lcsb.mapviewer.model.map.species.Rna","lcsb.mapviewer.model.map.species.Gene"],"url":"www.ensembl.org"}],"buildDate":" 24/01/2018 12:08","reactionTypes":[{"name":"Unknown positive influence","className":"lcsb.mapviewer.model.map.reaction.type.UnknownPositiveInfluenceReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Generic Reaction","className":"lcsb.mapviewer.model.map.reaction.Reaction","parentClass":"lcsb.mapviewer.model.map.BioEntity"},{"name":"Reduced physical stimulation","className":"lcsb.mapviewer.model.map.reaction.type.ReducedPhysicalStimulationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Negative influence","className":"lcsb.mapviewer.model.map.reaction.type.NegativeInfluenceReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Known transition omitted","className":"lcsb.mapviewer.model.map.reaction.type.KnownTransitionOmittedReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Reduced modulation","className":"lcsb.mapviewer.model.map.reaction.type.ReducedModulationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Translation","className":"lcsb.mapviewer.model.map.reaction.type.TranslationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Heterodimer association","className":"lcsb.mapviewer.model.map.reaction.type.HeterodimerAssociationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Transcription","className":"lcsb.mapviewer.model.map.reaction.type.TranscriptionReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown reduced trigger","className":"lcsb.mapviewer.model.map.reaction.type.UnknownReducedTriggerReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown negative influence","className":"lcsb.mapviewer.model.map.reaction.type.UnknownNegativeInfluenceReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Truncation","className":"lcsb.mapviewer.model.map.reaction.type.TruncationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Transport","className":"lcsb.mapviewer.model.map.reaction.type.TransportReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Reduced trigger","className":"lcsb.mapviewer.model.map.reaction.type.ReducedTriggerReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"State transition","className":"lcsb.mapviewer.model.map.reaction.type.StateTransitionReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Positive influence","className":"lcsb.mapviewer.model.map.reaction.type.PositiveInfluenceReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown reduced physical stimulation","className":"lcsb.mapviewer.model.map.reaction.type.UnknownReducedPhysicalStimulationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Boolean logic gate","className":"lcsb.mapviewer.model.map.reaction.type.BooleanLogicGateReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown reduced modulation","className":"lcsb.mapviewer.model.map.reaction.type.UnknownReducedModulationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Unknown transition","className":"lcsb.mapviewer.model.map.reaction.type.UnknownTransitionReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"},{"name":"Dissociation","className":"lcsb.mapviewer.model.map.reaction.type.DissociationReaction","parentClass":"lcsb.mapviewer.model.map.reaction.Reaction"}],"version":"12.0.0","mapTypes":[{"name":"Downstream targets","id":"DOWNSTREAM_TARGETS"},{"name":"Pathway","id":"PATHWAY"},{"name":"Unknown","id":"UNKNOWN"}],"miriamTypes":{"CHEMBL_TARGET":{"commonName":"ChEMBL target","uris":["urn:miriam:chembl.target"],"homepage":"https://www.ebi.ac.uk/chembldb/","registryIdentifier":"MIR:00000085"},"UNIPROT":{"commonName":"Uniprot","uris":["urn:miriam:uniprot"],"homepage":"http://www.uniprot.org/","registryIdentifier":"MIR:00000005"},"MI_R_BASE_MATURE_SEQUENCE":{"commonName":"miRBase Mature Sequence Database","uris":["urn:miriam:mirbase.mature"],"homepage":"http://www.mirbase.org/","registryIdentifier":"MIR:00000235"},"PFAM":{"commonName":"Protein Family Database","uris":["urn:miriam:pfam"],"homepage":"http://pfam.xfam.org//","registryIdentifier":"MIR:00000028"},"ENSEMBL_PLANTS":{"commonName":"Ensembl Plants","uris":["urn:miriam:ensembl.plant"],"homepage":"http://plants.ensembl.org/","registryIdentifier":"MIR:00000205"},"WIKIPEDIA":{"commonName":"Wikipedia (English)","uris":["urn:miriam:wikipedia.en"],"homepage":"http://en.wikipedia.org/wiki/Main_Page","registryIdentifier":"MIR:00000384"},"CHEBI":{"commonName":"Chebi","uris":["urn:miriam:obo.chebi","urn:miriam:chebi"],"homepage":"http://www.ebi.ac.uk/chebi/","registryIdentifier":"MIR:00000002"},"WIKIDATA":{"commonName":"Wikidata","uris":["urn:miriam:wikidata"],"homepage":"https://www.wikidata.org/","registryIdentifier":"MIR:00000549"},"REACTOME":{"commonName":"Reactome","uris":["urn:miriam:reactome"],"homepage":"http://www.reactome.org/","registryIdentifier":"MIR:00000018"},"EC":{"commonName":"Enzyme Nomenclature","uris":["urn:miriam:ec-code"],"homepage":"http://www.enzyme-database.org/","registryIdentifier":"MIR:00000004"},"DOI":{"commonName":"Digital Object Identifier","uris":["urn:miriam:doi"],"homepage":"http://www.doi.org/","registryIdentifier":"MIR:00000019"},"UNIPROT_ISOFORM":{"commonName":"UniProt Isoform","uris":["urn:miriam:uniprot.isoform"],"homepage":"http://www.uniprot.org/","registryIdentifier":"MIR:00000388"},"OMIM":{"commonName":"Online Mendelian Inheritance in Man","uris":["urn:miriam:omim"],"homepage":"http://omim.org/","registryIdentifier":"MIR:00000016"},"DRUGBANK_TARGET_V4":{"commonName":"DrugBank Target v4","uris":["urn:miriam:drugbankv4.target"],"homepage":"http://www.drugbank.ca/targets","registryIdentifier":"MIR:00000528"},"MIR_TAR_BASE_MATURE_SEQUENCE":{"commonName":"miRTarBase Mature Sequence Database","uris":["urn:miriam:mirtarbase"],"homepage":"http://mirtarbase.mbc.nctu.edu.tw/","registryIdentifier":"MIR:00100739"},"CHEMBL_COMPOUND":{"commonName":"ChEMBL","uris":["urn:miriam:chembl.compound"],"homepage":"https://www.ebi.ac.uk/chembldb/","registryIdentifier":"MIR:00000084"},"KEGG_PATHWAY":{"commonName":"Kegg Pathway","uris":["urn:miriam:kegg.pathway"],"homepage":"http://www.genome.jp/kegg/pathway.html","registryIdentifier":"MIR:00000012"},"CAS":{"commonName":"Chemical Abstracts Service","uris":["urn:miriam:cas"],"homepage":"http://commonchemistry.org","registryIdentifier":"MIR:00000237"},"REFSEQ":{"commonName":"RefSeq","uris":["urn:miriam:refseq"],"homepage":"http://www.ncbi.nlm.nih.gov/projects/RefSeq/","registryIdentifier":"MIR:00000039"},"WORM_BASE":{"commonName":"WormBase","uris":["urn:miriam:wormbase"],"homepage":"http://wormbase.bio2rdf.org/fct","registryIdentifier":"MIR:00000027"},"MI_R_BASE_SEQUENCE":{"commonName":"miRBase Sequence Database","uris":["urn:miriam:mirbase"],"homepage":"http://www.mirbase.org/","registryIdentifier":"MIR:00000078"},"TAIR_LOCUS":{"commonName":"TAIR Locus","uris":["urn:miriam:tair.locus"],"homepage":"http://arabidopsis.org/index.jsp","registryIdentifier":"MIR:00000050"},"PHARM":{"commonName":"PharmGKB Pathways","uris":["urn:miriam:pharmgkb.pathways"],"homepage":"http://www.pharmgkb.org/","registryIdentifier":"MIR:00000089"},"PDB":{"commonName":"Protein Data Bank","uris":["urn:miriam:pdb"],"homepage":"http://www.pdbe.org/","registryIdentifier":"MIR:00000020"},"PANTHER":{"commonName":"PANTHER Family","uris":["urn:miriam:panther.family","urn:miriam:panther"],"homepage":"http://www.pantherdb.org/","registryIdentifier":"MIR:00000060"},"TAXONOMY":{"commonName":"Taxonomy","uris":["urn:miriam:taxonomy"],"homepage":"http://www.ncbi.nlm.nih.gov/taxonomy/","registryIdentifier":"MIR:00000006"},"UNIGENE":{"commonName":"UniGene","uris":["urn:miriam:unigene"],"homepage":"http://www.ncbi.nlm.nih.gov/unigene","registryIdentifier":"MIR:00000346"},"HGNC":{"commonName":"HGNC","uris":["urn:miriam:hgnc"],"homepage":"http://www.genenames.org","registryIdentifier":"MIR:00000080"},"HGNC_SYMBOL":{"commonName":"HGNC Symbol","uris":["urn:miriam:hgnc.symbol"],"homepage":"http://www.genenames.org","registryIdentifier":"MIR:00000362"},"COG":{"commonName":"Clusters of Orthologous Groups","uris":["urn:miriam:cogs"],"homepage":"https://www.ncbi.nlm.nih.gov/COG/","registryIdentifier":"MIR:00000296"},"WIKIPATHWAYS":{"commonName":"WikiPathways","uris":["urn:miriam:wikipathways"],"homepage":"http://www.wikipathways.org/","registryIdentifier":"MIR:00000076"},"HMDB":{"commonName":"HMDB","uris":["urn:miriam:hmdb"],"homepage":"http://www.hmdb.ca/","registryIdentifier":"MIR:00000051"},"CHEMSPIDER":{"commonName":"ChemSpider","uris":["urn:miriam:chemspider"],"homepage":"http://www.chemspider.com//","registryIdentifier":"MIR:00000138"},"ENSEMBL":{"commonName":"Ensembl","uris":["urn:miriam:ensembl"],"homepage":"www.ensembl.org","registryIdentifier":"MIR:00000003"},"GO":{"commonName":"Gene Ontology","uris":["urn:miriam:obo.go","urn:miriam:go"],"homepage":"http://amigo.geneontology.org/amigo","registryIdentifier":"MIR:00000022"},"KEGG_REACTION":{"commonName":"Kegg Reaction","uris":["urn:miriam:kegg.reaction"],"homepage":"http://www.genome.jp/kegg/reaction/","registryIdentifier":"MIR:00000014"},"KEGG_ORTHOLOGY":{"commonName":"KEGG Orthology","uris":["urn:miriam:kegg.orthology"],"homepage":"http://www.genome.jp/kegg/ko.html","registryIdentifier":"MIR:00000116"},"PUBCHEM":{"commonName":"PubChem-compound","uris":["urn:miriam:pubchem.compound"],"homepage":"http://pubchem.ncbi.nlm.nih.gov/","registryIdentifier":"MIR:00000034"},"MESH_2012":{"commonName":"MeSH 2012","uris":["urn:miriam:mesh.2012","urn:miriam:mesh"],"homepage":"http://www.nlm.nih.gov/mesh/","registryIdentifier":"MIR:00000270"},"MGD":{"commonName":"Mouse Genome Database","uris":["urn:miriam:mgd"],"homepage":"http://www.informatics.jax.org/","registryIdentifier":"MIR:00000037"},"ENTREZ":{"commonName":"Entrez Gene","uris":["urn:miriam:ncbigene","urn:miriam:entrez.gene"],"homepage":"http://www.ncbi.nlm.nih.gov/gene","registryIdentifier":"MIR:00000069"},"PUBCHEM_SUBSTANCE":{"commonName":"PubChem-substance","uris":["urn:miriam:pubchem.substance"],"homepage":"http://pubchem.ncbi.nlm.nih.gov/","registryIdentifier":"MIR:00000033"},"CCDS":{"commonName":"Consensus CDS","uris":["urn:miriam:ccds"],"homepage":"http://www.ncbi.nlm.nih.gov/CCDS/","registryIdentifier":"MIR:00000375"},"KEGG_GENES":{"commonName":"Kegg Genes","uris":["urn:miriam:kegg.genes","urn:miriam:kegg.genes:hsa"],"homepage":"http://www.genome.jp/kegg/genes.html","registryIdentifier":"MIR:00000070"},"TOXICOGENOMIC_CHEMICAL":{"commonName":"Toxicogenomic Chemical","uris":["urn:miriam:ctd.chemical"],"homepage":"http://ctdbase.org/","registryIdentifier":"MIR:00000098"},"SGD":{"commonName":"Saccharomyces Genome Database","uris":["urn:miriam:sgd"],"homepage":"http://www.yeastgenome.org/","registryIdentifier":"MIR:00000023"},"KEGG_COMPOUND":{"commonName":"Kegg Compound","uris":["urn:miriam:kegg.compound"],"homepage":"http://www.genome.jp/kegg/ligand.html","registryIdentifier":"MIR:00000013"},"INTERPRO":{"commonName":"InterPro","uris":["urn:miriam:interpro"],"homepage":"http://www.ebi.ac.uk/interpro/","registryIdentifier":"MIR:00000011"},"UNKNOWN":{"commonName":"Unknown","uris":[],"homepage":null,"registryIdentifier":null},"DRUGBANK":{"commonName":"DrugBank","uris":["urn:miriam:drugbank"],"homepage":"http://www.drugbank.ca/","registryIdentifier":"MIR:00000102"},"PUBMED":{"commonName":"PubMed","uris":["urn:miriam:pubmed"],"homepage":"http://www.ncbi.nlm.nih.gov/PubMed/","registryIdentifier":"MIR:00000015"}},"options":[{"idObject":9,"type":"EMAIL_ADDRESS","value":"your.account@domain.com","valueType":"EMAIL","commonName":"E-mail address"},{"idObject":10,"type":"EMAIL_LOGIN","value":"your@l","valueType":"STRING","commonName":"E-mail server login"},{"idObject":11,"type":"EMAIL_PASSWORD","value":"email.secret.password","valueType":"PASSWORD","commonName":"E-mail server password"},{"idObject":13,"type":"EMAIL_IMAP_SERVER","value":"your.imap.domain.com","valueType":"STRING","commonName":"IMAP server"},{"idObject":12,"type":"EMAIL_SMTP_SERVER","value":"your.smtp.domain.com","valueType":"STRING","commonName":"SMTP server"},{"idObject":14,"type":"EMAIL_SMTP_PORT","value":"25","valueType":"INTEGER","commonName":"SMTP port"},{"idObject":6,"type":"DEFAULT_MAP","value":"sample","valueType":"STRING","commonName":"Default Project Id"},{"idObject":4,"type":"LOGO_IMG","value":"udl.png","valueType":"URL","commonName":"Logo icon"},{"idObject":3,"type":"LOGO_LINK","value":"http://wwwen.uni.lu/","valueType":"URL","commonName":"Logo link (after click)"},{"idObject":7,"type":"SEARCH_DISTANCE","value":"10","valueType":"DOUBLE","commonName":"Max distance for clicking on element (px)"},{"idObject":1,"type":"REQUEST_ACCOUNT_EMAIL","value":"your.email@domain.com","valueType":"EMAIL","commonName":"Email used for requesting an account"},{"idObject":8,"type":"SEARCH_RESULT_NUMBER","value":"100","valueType":"INTEGER","commonName":"Max number of results in search box. "},{"idObject":2,"type":"GOOGLE_ANALYTICS_IDENTIFIER","value":"","valueType":"STRING","commonName":"Google Analytics tracking ID used for statistics"},{"idObject":5,"type":"LOGO_TEXT","value":"University of Luxembourg","valueType":"STRING","commonName":"Logo description"},{"idObject":56,"type":"X_FRAME_DOMAIN","value":"http://localhost:8080/","valueType":"URL","commonName":"Domain allowed to connect via x-frame technology"},{"idObject":131,"type":"BIG_FILE_STORAGE_DIR","value":"minerva-big/","valueType":"STRING","commonName":"Path to store big files"},{"idObject":138,"type":"LEGEND_FILE_1","value":"resources/images/legend_a.png","valueType":"URL","commonName":"Legend 1 image file"},{"idObject":139,"type":"LEGEND_FILE_2","value":"resources/images/legend_b.png","valueType":"URL","commonName":"Legend 2 image file"},{"idObject":140,"type":"LEGEND_FILE_3","value":"resources/images/legend_c.png","valueType":"URL","commonName":"Legend 3 image file"},{"idObject":141,"type":"LEGEND_FILE_4","value":"resources/images/legend_d.png","valueType":"URL","commonName":"Legend 4 image file"},{"idObject":142,"type":"USER_MANUAL_FILE","value":"resources/other/user_guide.pdf","valueType":"URL","commonName":"User manual file"},{"idObject":205,"type":"MIN_COLOR_VAL","value":"FF0000","valueType":"COLOR","commonName":"Overlay color for negative values"},{"idObject":206,"type":"MAX_COLOR_VAL","value":"fbff00","valueType":"COLOR","commonName":"Overlay color for postive values"},{"idObject":218,"type":"SIMPLE_COLOR_VAL","value":"00ff40","valueType":"COLOR","commonName":"Overlay color when no values are defined"},{"idObject":239,"type":"NEUTRAL_COLOR_VAL","value":"0400ff","valueType":"COLOR","commonName":"Overlay color for value=0"}],"privilegeTypes":{"VIEW_PROJECT":{"commonName":"View project","valueType":"boolean","objectType":"Project"},"LAYOUT_MANAGEMENT":{"commonName":"Manage layouts","valueType":"boolean","objectType":"Project"},"PROJECT_MANAGEMENT":{"commonName":"Map management","valueType":"boolean","objectType":null},"CUSTOM_LAYOUTS":{"commonName":"Custom layouts","valueType":"int","objectType":null},"ADD_MAP":{"commonName":"Add project","valueType":"boolean","objectType":null},"LAYOUT_VIEW":{"commonName":"View layout","valueType":"boolean","objectType":"Layout"},"MANAGE_GENOMES":{"commonName":"Manage genomes","valueType":"boolean","objectType":null},"EDIT_COMMENTS_PROJECT":{"commonName":"Manage comments","valueType":"boolean","objectType":"Project"},"CONFIGURATION_MANAGE":{"commonName":"Manage configuration","valueType":"boolean","objectType":null},"USER_MANAGEMENT":{"commonName":"User management","valueType":"boolean","objectType":null}},"overlayTypes":[{"name":"GENERIC"},{"name":"GENETIC_VARIANT"}]} \ No newline at end of file diff --git a/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java b/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java index 31fa7c1338738febf5798debcde11f33fafa604a..56e6dd03a066c3e940c16a5af0442ab2cb64a4c6 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java @@ -22,651 +22,660 @@ import lcsb.mapviewer.model.map.species.Rna; */ @SuppressWarnings("unchecked") public enum MiriamType { - /** - * Chemical Abstracts Service database: http://commonchemistry.org. - */ - CAS("Chemical Abstracts Service", // - "http://commonchemistry.org", // - new String[] { "urn:miriam:cas" }, // - new Class<?>[] {}, "MIR:00000237"), // - - /** - * Consensus CDS: http://identifiers.org/ccds/. - */ - CCDS("Consensus CDS", // - "http://www.ncbi.nlm.nih.gov/CCDS/", // - new String[] { "urn:miriam:ccds" }, // - new Class<?>[] {}, "MIR:00000375"), // - - /** - * Chebi database: - * <a href = "http://www.ebi.ac.uk/chebi/">http://www.ebi.ac.uk/chebi/</a>. - */ - CHEBI("Chebi", // - "http://www.ebi.ac.uk/chebi/", // - new String[] { "urn:miriam:obo.chebi", "urn:miriam:chebi" }, // - new Class<?>[] { Chemical.class, Drug.class, }, "MIR:00000002", // - new Class<?>[] { Chemical.class }), // - - /** - * ChemSpider database: - * <a href = "http://www.chemspider.com/">http://www.chemspider.com/</a>. - */ - CHEMSPIDER("ChemSpider", // - "http://www.chemspider.com//", // - new String[] { "urn:miriam:chemspider" }, // - new Class<?>[] {}, "MIR:00000138"), // - - /** - * Chembl database: https://www.ebi.ac.uk/chembldb/. - */ - CHEMBL_COMPOUND("ChEMBL", // - "https://www.ebi.ac.uk/chembldb/", // - new String[] { "urn:miriam:chembl.compound" }, // - new Class<?>[] { Drug.class }, "MIR:00000084"), // - - /** - * Target in chembl database: https://www.ebi.ac.uk/chembldb/. - */ - CHEMBL_TARGET("ChEMBL target", // - "https://www.ebi.ac.uk/chembldb/", // - new String[] { "urn:miriam:chembl.target" }, // - new Class<?>[] { Protein.class, Complex.class }, "MIR:00000085"), // - - /** - * Clusters of Orthologous Groups: https://www.ncbi.nlm.nih.gov/COG/. - */ - COG("Clusters of Orthologous Groups", // - "https://www.ncbi.nlm.nih.gov/COG/", // - new String[] { "urn:miriam:cogs" }, // - new Class<?>[] { Reaction.class }, "MIR:00000296"), // - - /** - * Drugbank database: http://www.drugbank.ca/. - */ - DRUGBANK("DrugBank", // - "http://www.drugbank.ca/", // - new String[] { "urn:miriam:drugbank" }, // - new Class<?>[] { Drug.class }, "MIR:00000102"), // - /** - * Drugbank tagrets: http://www.drugbank.ca/targets. - */ - DRUGBANK_TARGET_V4("DrugBank Target v4", // - "http://www.drugbank.ca/targets", // - new String[] { "urn:miriam:drugbankv4.target" }, // - new Class<?>[] {}, "MIR:00000528"), // - - /** - * Enzyme Nomenclature: http://www.enzyme-database.org/. - */ - EC("Enzyme Nomenclature", // - "http://www.enzyme-database.org/", // - new String[] { "urn:miriam:ec-code" }, // - new Class<?>[] { Protein.class, Complex.class }, "MIR:00000004"), // - - /** - * Ensembl: www.ensembl.org. - */ - ENSEMBL("Ensembl", // - "www.ensembl.org", // - new String[] { "urn:miriam:ensembl" }, // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000003"), // - - /** - * Ensembl Plants: http://plants.ensembl.org/. - */ - ENSEMBL_PLANTS("Ensembl Plants", // - "http://plants.ensembl.org/", // - new String[] { "urn:miriam:ensembl.plant" }, // - new Class<?>[] {}, "MIR:00000205"), // - - /** - * Entrez Gene: http://www.ncbi.nlm.nih.gov/gene. - */ - ENTREZ("Entrez Gene", // - "http://www.ncbi.nlm.nih.gov/gene", // - new String[] { "urn:miriam:ncbigene", "urn:miriam:entrez.gene" }, // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000069"), // - - /** - * Gene Ontology: http://amigo.geneontology.org/amigo. - */ - GO("Gene Ontology", // - "http://amigo.geneontology.org/amigo", // - new String[] { "urn:miriam:obo.go", "urn:miriam:go" }, // - new Class<?>[] { Phenotype.class, Compartment.class, Complex.class }, "MIR:00000022"), // - - /** - * HGNC: http://www.genenames.org. - */ - HGNC("HGNC", // - "http://www.genenames.org", // - new String[] { "urn:miriam:hgnc" }, // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000080", // - new Class<?>[] { Protein.class, Gene.class, Rna.class }), // - - /** - * HGNC symbol: http://www.genenames.org. - */ - HGNC_SYMBOL("HGNC Symbol", // - "http://www.genenames.org", // - new String[] { "urn:miriam:hgnc.symbol" }, // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000362", // - new Class<?>[] { Protein.class, Gene.class, Rna.class }), // - - /** - * HMDB: http://www.hmdb.ca/. - */ - HMDB("HMDB", // - "http://www.hmdb.ca/", // - "urn:miriam:hmdb", // - new Class<?>[] { Chemical.class, Drug.class, }, "MIR:00000051"), // - - /** - * InterPro: http://www.ebi.ac.uk/interpro/. - */ - INTERPRO("InterPro", // - "http://www.ebi.ac.uk/interpro/", // - new String[] { "urn:miriam:interpro" }, // - new Class<?>[] { Protein.class, Complex.class }, "MIR:00000011"), // - - /** - * KEGG Compound: http://www.genome.jp/kegg/ligand.html. - */ - KEGG_COMPOUND("Kegg Compound", // - "http://www.genome.jp/kegg/ligand.html", // - "urn:miriam:kegg.compound", // - new Class<?>[] { Chemical.class }, "MIR:00000013"), // - - /** - * KEGG Genes: http://www.genome.jp/kegg/genes.html. - */ - KEGG_GENES("Kegg Genes", // - "http://www.genome.jp/kegg/genes.html", // - new String[] { "urn:miriam:kegg.genes", "urn:miriam:kegg.genes:hsa" }, // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000070"), // - - /** - * KEGG Orthology: http://www.genome.jp/kegg/ko.html. - */ - KEGG_ORTHOLOGY("KEGG Orthology", // - "http://www.genome.jp/kegg/ko.html", // - new String[] { "urn:miriam:kegg.orthology" }, // - new Class<?>[] {}, "MIR:00000116"), // - - /** - * KEGG Pathway: http://www.genome.jp/kegg/pathway.html. - */ - KEGG_PATHWAY("Kegg Pathway", // - "http://www.genome.jp/kegg/pathway.html", // - "urn:miriam:kegg.pathway", // - new Class<?>[] { Reaction.class }, "MIR:00000012"), // - - /** - * KEGG Reaction: http://www.genome.jp/kegg/reaction/. - */ - KEGG_REACTION("Kegg Reaction", // - "http://www.genome.jp/kegg/reaction/", // - "urn:miriam:kegg.reaction", // - new Class<?>[] { Reaction.class }, "MIR:00000014"), // - - /** - * MeSH 2012: http://www.nlm.nih.gov/mesh/. - */ - MESH_2012("MeSH 2012", // - "http://www.nlm.nih.gov/mesh/", // - new String[] { "urn:miriam:mesh.2012", "urn:miriam:mesh" }, // - new Class<?>[] { Phenotype.class, Compartment.class, Complex.class }, "MIR:00000270"), // - - /** - * miRBase Sequence: http://www.mirbase.org/. - */ - MI_R_BASE_SEQUENCE("miRBase Sequence Database", // - "http://www.mirbase.org/", // - new String[] { "urn:miriam:mirbase" }, // - new Class<?>[] {}, "MIR:00000078"), // - - /** - * miRBase Mature Sequence: http://www.mirbase.org/. - */ - MI_R_BASE_MATURE_SEQUENCE("miRBase Mature Sequence Database", // - "http://www.mirbase.org/", // - new String[] { "urn:miriam:mirbase.mature" }, // - new Class<?>[] {}, "MIR:00000235"), // - - /** - * miRTaRBase Mature Sequence: http://mirtarbase.mbc.nctu.edu.tw/. - */ - MIR_TAR_BASE_MATURE_SEQUENCE("miRTarBase Mature Sequence Database", // - "http://mirtarbase.mbc.nctu.edu.tw/", // - new String[] { "urn:miriam:mirtarbase" }, // - new Class<?>[] {}, "MIR:00100739"), // - - /** - * Mouse Genome Database: http://www.informatics.jax.org/. - */ - MGD("Mouse Genome Database", // - "http://www.informatics.jax.org/", // - new String[] { "urn:miriam:mgd" }, // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000037"), // - - /** - * Online Mendelian Inheritance in Man: http://omim.org/. - */ - OMIM("Online Mendelian Inheritance in Man", // - "http://omim.org/", // - new String[] { "urn:miriam:omim" }, // - new Class<?>[] { Phenotype.class }, "MIR:00000016"), // - - /** - * PANTHER Family: http://www.pantherdb.org/. - */ - PANTHER("PANTHER Family", // - "http://www.pantherdb.org/", // - new String[] { "urn:miriam:panther.family", "urn:miriam:panther" }, // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000060"), // - - /** - * PDB: http://www.pdbe.org/. - */ - PDB("Protein Data Bank", // - "http://www.pdbe.org/", // - "urn:miriam:pdb", // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000020"), - - /** - * Protein Family Database: http://pfam.xfam.org/. - */ - PFAM("Protein Family Database", // - "http://pfam.xfam.org//", // - "urn:miriam:pfam", // - new Class<?>[] {}, "MIR:00000028"), // - - /** - * PharmGKB Pathways: http://www.pharmgkb.org/. - */ - PHARM("PharmGKB Pathways", // - "http://www.pharmgkb.org/", // - "urn:miriam:pharmgkb.pathways", // - new Class<?>[] {}, "MIR:00000089"), // - - /** - * PubChem-compound: http://pubchem.ncbi.nlm.nih.gov/. - */ - PUBCHEM("PubChem-compound", // - "http://pubchem.ncbi.nlm.nih.gov/", // - new String[] { "urn:miriam:pubchem.compound" }, // - new Class<?>[] { Chemical.class }, "MIR:00000034", // - new Class<?>[] { Chemical.class }), // - - /** - * PubChem-substance: http://pubchem.ncbi.nlm.nih.gov/. - */ - PUBCHEM_SUBSTANCE("PubChem-substance", // - "http://pubchem.ncbi.nlm.nih.gov/", // - new String[] { "urn:miriam:pubchem.substance" }, // - new Class<?>[] { Chemical.class }, "MIR:00000033", // - new Class<?>[] { Chemical.class }), // - - /** - * PubMed: http://www.ncbi.nlm.nih.gov/PubMed/. - */ - PUBMED("PubMed", // - "http://www.ncbi.nlm.nih.gov/PubMed/", // - new String[] { "urn:miriam:pubmed" }, // - new Class<?>[] { BioEntity.class }, "MIR:00000015", // - new Class<?>[] { Reaction.class }), // - - /** - * Reactome: http://www.reactome.org/. - */ - REACTOME("Reactome", // - "http://www.reactome.org/", // - "urn:miriam:reactome", // - new Class<?>[] { Reaction.class }, "MIR:00000018"), // - - /** - * RefSeq: http://www.ncbi.nlm.nih.gov/projects/RefSeq/. - */ - REFSEQ("RefSeq", // - "http://www.ncbi.nlm.nih.gov/projects/RefSeq/", // - "urn:miriam:refseq", // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000039"), - - /** - * SGD: http://www.yeastgenome.org/. - */ - SGD("Saccharomyces Genome Database", // - "http://www.yeastgenome.org/", // - "urn:miriam:sgd", // - new Class<?>[] {}, "MIR:00000023"), - - /** - * The Arabidopsis Information Resource (TAIR) maintains a database of genetic - * and molecular biology data for the model higher plant Arabidopsis thaliana. - * The name of a Locus is unique and used by TAIR, TIGR, and MIPS: - * http://arabidopsis.org/index.jsp. - */ - TAIR_LOCUS("TAIR Locus", // - "http://arabidopsis.org/index.jsp", // - "urn:miriam:tair.locus", // - new Class<?>[] {}, "MIR:00000050"), - - /** - * Taxonomy: http://www.ncbi.nlm.nih.gov/taxonomy/. - */ - TAXONOMY("Taxonomy", // - "http://www.ncbi.nlm.nih.gov/taxonomy/", // - "urn:miriam:taxonomy", // - new Class<?>[] {}, "MIR:00000006"), - /** - * Toxicogenomic: Chemical: http://ctdbase.org/detail.go. - * http://ctdbase.org/detail.go - */ - TOXICOGENOMIC_CHEMICAL("Toxicogenomic Chemical", // - "http://ctdbase.org/", // - "urn:miriam:ctd.chemical", // - new Class<?>[] {}, "MIR:00000098"), // - - /** - * UniGene: http://www.ncbi.nlm.nih.gov/unigene. - */ - UNIGENE("UniGene", // - "http://www.ncbi.nlm.nih.gov/unigene", // - "urn:miriam:unigene", // - new Class<?>[] {}, "MIR:00000346"), - - /** - * Uniprot: http://www.uniprot.org/. - */ - UNIPROT("Uniprot", // - "http://www.uniprot.org/", // - "urn:miriam:uniprot", // - new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000005"), - - /** - * UniProt Isoform: http://www.uniprot.org/. - */ - UNIPROT_ISOFORM("UniProt Isoform", // - "http://www.uniprot.org/", // - "urn:miriam:uniprot.isoform", // - new Class<?>[] { Protein.class }, "MIR:00000388"), - - /** - * Unknown reference type... - */ - UNKNOWN("Unknown", // - null, // - new String[] {}, // - new Class<?>[] {}, null), - - /** - * Wikidata: https://www.wikidata.org/. - */ - WIKIDATA("Wikidata", // - "https://www.wikidata.org/", // - new String[] { "urn:miriam:wikidata" }, // - new Class<?>[] {}, "MIR:00000549"), // - - /** - * WikiPathways: http://www.wikipathways.org/. - */ - WIKIPATHWAYS("WikiPathways", // - "http://www.wikipathways.org/", // - new String[] { "urn:miriam:wikipathways" }, // - new Class<?>[] {}, "MIR:00000076"), // - - /** - * Wikipedia: http://en.wikipedia.org/wiki/Main_Page. - */ - WIKIPEDIA("Wikipedia (English)", // - "http://en.wikipedia.org/wiki/Main_Page", // / - new String[] { "urn:miriam:wikipedia.en" }, // - new Class<?>[] {}, "MIR:00000384"), - - /** - * WormBase: http://wormbase.bio2rdf.org/fct. - */ - WORM_BASE("WormBase", // - "http://wormbase.bio2rdf.org/fct", // / - new String[] { "urn:miriam:wormbase" }, // - new Class<?>[] {}, "MIR:00000027"); - - /** - * User friendly name. - */ - private String commonName; - - /** - * url to homepage of given resource type. - */ - private String dbHomepage; - - /** - * Identifier of the database in miriam registry. - */ - private String registryIdentifier; - - /** - * Valid uris to this resource. - */ - private List<String> uris = new ArrayList<String>(); - - /** - * Classes that can be annotated by this resource. - */ - private List<Class<? extends BioEntity>> validClass = new ArrayList<>(); - - /** - * When class from this list is marked as "require at least one annotation" - * then annotation of this type is valid. - */ - private List<Class<? extends BioEntity>> requiredClass = new ArrayList<>(); - - /** - * Constructor that initialize enum object. - * - * @param dbHomePage - * homepage of the resource {@link #dbHomepage} - * @param commonName - * {@link #commonName} - * @param uris - * {@link #uris} - * @param classes - * {@link #validClass} - * @param registryIdentifier - * {@link #registryIdentifier} - */ - MiriamType(String commonName, String dbHomePage, String[] uris, Class<?>[] classes, String registryIdentifier) { - this(commonName, dbHomePage, uris, classes, registryIdentifier, new Class<?>[] {}); - } - - /** - * Constructor that initialize enum object. - * - * @param dbHomePage - * homepage of the resource {@link #dbHomepage} - * @param commonName - * {@link #commonName} - * @param uris - * {@link #uris} - * @param classes - * {@link #validClass} - * @param registryIdentifier - * {@link #registryIdentifier} - * @param requiredClasses - * {@link #requiredClasses} - */ - MiriamType(String commonName, String dbHomePage, String[] uris, Class<?>[] classes, String registryIdentifier, Class<?>[] requiredClasses) { - this.commonName = commonName; - this.dbHomepage = dbHomePage; - for (String string : uris) { - this.uris.add(string); - } - for (Class<?> clazz : classes) { - this.validClass.add((Class<? extends BioEntity>) clazz); - } - for (Class<?> clazz : requiredClasses) { - this.requiredClass.add((Class<? extends BioEntity>) clazz); - } - this.registryIdentifier = registryIdentifier; - } - - /** - * Constructor that initialize enum object. - * - * @param dbHomePage - * homepage of the resource {@link #dbHomepage} - * @param commonName - * {@link #commonName} - * @param uri - * one of {@link #uris} - * @param registryIdentifier - * {@link #registryIdentifier} - * @param classes - * {@link #validClass} - */ - MiriamType(String commonName, String dbHomePage, String uri, Class<?>[] classes, String registryIdentifier) { - this(commonName, dbHomePage, new String[] { uri }, classes, registryIdentifier); - } - - /** - * - * @return {@link #commonName} - */ - public String getCommonName() { - return commonName; - } - - /** - * - * @return {@link #uris} - */ - public List<String> getUris() { - return uris; - } - - /** - * - * @return {@link #validClass} - */ - public List<Class<? extends BioEntity>> getValidClass() { - return validClass; - } - - /** - * Returns {@link MiriamType} associated with parameter uri address. - * - * @param uri - * uri to check - * @return {@link MiriamType} for given uri - */ - public static MiriamType getTypeByUri(String uri) { - for (MiriamType mt : MiriamType.values()) { - for (String string : mt.getUris()) { - if (string.equalsIgnoreCase(uri)) { - return mt; - } - } - } - return null; - } - - /** - * @return the dbHomepage - * @see #dbHomepage - */ - public String getDbHomepage() { - return dbHomepage; - } - - /** - * @return the registryIdentifier - * @see #registryIdentifier - */ - public String getRegistryIdentifier() { - return registryIdentifier; - } - - /** - * @return the requiredClass - * @see #requiredClass - */ - public List<Class<? extends BioEntity>> getRequiredClass() { - return requiredClass; - } - - /** - * Returns {@link MiriamType} associated with {@link #commonName}. - * - * @param string - * {@link #commonName} - * @return {@link MiriamType} for given name - */ - public static MiriamType getTypeByCommonName(String string) { - for (MiriamType mt : MiriamType.values()) { - if (string.equalsIgnoreCase(mt.getCommonName())) { - return mt; - } - } - return null; - } - - /** - * Transforms identifier into {@link MiriamData}. - * - * @param generalIdentifier - * identifier in the format NAME:IDENTIFIER. Where NAME is the name - * from {@link MiriamType#commonName} and IDENTIFIER is reasource - * identifier. - * @return {@link MiriamData} representing generalIdentifier, when identifier - * is invalid InvalidArgumentException is thrown - */ - public static MiriamData getMiriamDataFromIdentifier(String generalIdentifier) { - int index = generalIdentifier.indexOf(":"); - if (index < 0) { - throw new InvalidArgumentException("Identifier doesn't contain type"); - } - String type = generalIdentifier.substring(0, index); - String id = generalIdentifier.substring(index + 1); - for (MiriamType mt : MiriamType.values()) { - if (mt.getCommonName().equalsIgnoreCase(type)) { - return new MiriamData(MiriamRelationType.BQ_BIOL_IS_DESCRIBED_BY, mt, id); - } - } - throw new InvalidArgumentException("Unknown miriam type: " + type + " (id: " + id + ")"); - } - - /** - * Creates {@link MiriamData} from miriam uri. - * - * @param miriamUri - * miriam uri defining {@link MiriamData} - * @return {@link MiriamData} from miriam uri - */ - public static MiriamData getMiriamByUri(String miriamUri) { - // this hack is due to CellDesigner issue (CellDesigner incorectly handle - // with identifiers that have ":" inside resource ":" inside resource with - // "%3A" and also the last ":" - miriamUri = miriamUri.replace("%3A", ":"); - - String foundUri = ""; - MiriamType foundType = null; - - for (MiriamType type : MiriamType.values()) { - for (String uri : type.getUris()) { - if (miriamUri.startsWith(uri + ":")) { - if (uri.length() > foundUri.length()) { - foundType = type; - foundUri = uri; - } - } - } - } - if (foundType != null) { - return new MiriamData(foundType, miriamUri.substring(foundUri.length() + 1)); - } - throw new InvalidArgumentException("Invalid miriam uri: " + miriamUri); - } + /** + * Chemical Abstracts Service database: http://commonchemistry.org. + */ + CAS("Chemical Abstracts Service", // + "http://commonchemistry.org", // + new String[] { "urn:miriam:cas" }, // + new Class<?>[] {}, "MIR:00000237"), // + + /** + * Consensus CDS: http://identifiers.org/ccds/. + */ + CCDS("Consensus CDS", // + "http://www.ncbi.nlm.nih.gov/CCDS/", // + new String[] { "urn:miriam:ccds" }, // + new Class<?>[] {}, "MIR:00000375"), // + + /** + * Chebi database: + * <a href = "http://www.ebi.ac.uk/chebi/">http://www.ebi.ac.uk/chebi/</a>. + */ + CHEBI("Chebi", // + "http://www.ebi.ac.uk/chebi/", // + new String[] { "urn:miriam:obo.chebi", "urn:miriam:chebi" }, // + new Class<?>[] { Chemical.class, Drug.class, }, "MIR:00000002", // + new Class<?>[] { Chemical.class }), // + + /** + * ChemSpider database: + * <a href = "http://www.chemspider.com/">http://www.chemspider.com/</a>. + */ + CHEMSPIDER("ChemSpider", // + "http://www.chemspider.com//", // + new String[] { "urn:miriam:chemspider" }, // + new Class<?>[] {}, "MIR:00000138"), // + + /** + * Chembl database: https://www.ebi.ac.uk/chembldb/. + */ + CHEMBL_COMPOUND("ChEMBL", // + "https://www.ebi.ac.uk/chembldb/", // + new String[] { "urn:miriam:chembl.compound" }, // + new Class<?>[] { Drug.class }, "MIR:00000084"), // + + /** + * Target in chembl database: https://www.ebi.ac.uk/chembldb/. + */ + CHEMBL_TARGET("ChEMBL target", // + "https://www.ebi.ac.uk/chembldb/", // + new String[] { "urn:miriam:chembl.target" }, // + new Class<?>[] { Protein.class, Complex.class }, "MIR:00000085"), // + + /** + * Clusters of Orthologous Groups: https://www.ncbi.nlm.nih.gov/COG/. + */ + COG("Clusters of Orthologous Groups", // + "https://www.ncbi.nlm.nih.gov/COG/", // + new String[] { "urn:miriam:cogs" }, // + new Class<?>[] { Reaction.class }, "MIR:00000296"), // + + /** + * Digital Object Identifier: http://www.doi.org/. + */ + DOI("Digital Object Identifier", // + "http://www.doi.org/", // + new String[] { "urn:miriam:doi" }, // + new Class<?>[] { Reaction.class }, "MIR:00000019"), // + + /** + * Drugbank database: http://www.drugbank.ca/. + */ + DRUGBANK("DrugBank", // + "http://www.drugbank.ca/", // + new String[] { "urn:miriam:drugbank" }, // + new Class<?>[] { Drug.class }, "MIR:00000102"), // + /** + * Drugbank targets: http://www.drugbank.ca/targets. + */ + DRUGBANK_TARGET_V4("DrugBank Target v4", // + "http://www.drugbank.ca/targets", // + new String[] { "urn:miriam:drugbankv4.target" }, // + new Class<?>[] {}, "MIR:00000528"), // + + /** + * Enzyme Nomenclature: http://www.enzyme-database.org/. + */ + EC("Enzyme Nomenclature", // + "http://www.enzyme-database.org/", // + new String[] { "urn:miriam:ec-code" }, // + new Class<?>[] { Protein.class, Complex.class }, "MIR:00000004"), // + + /** + * Ensembl: www.ensembl.org. + */ + ENSEMBL("Ensembl", // + "www.ensembl.org", // + new String[] { "urn:miriam:ensembl" }, // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000003"), // + + /** + * Ensembl Plants: http://plants.ensembl.org/. + */ + ENSEMBL_PLANTS("Ensembl Plants", // + "http://plants.ensembl.org/", // + new String[] { "urn:miriam:ensembl.plant" }, // + new Class<?>[] {}, "MIR:00000205"), // + + /** + * Entrez Gene: http://www.ncbi.nlm.nih.gov/gene. + */ + ENTREZ("Entrez Gene", // + "http://www.ncbi.nlm.nih.gov/gene", // + new String[] { "urn:miriam:ncbigene", "urn:miriam:entrez.gene" }, // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000069"), // + + /** + * Gene Ontology: http://amigo.geneontology.org/amigo. + */ + GO("Gene Ontology", // + "http://amigo.geneontology.org/amigo", // + new String[] { "urn:miriam:obo.go", "urn:miriam:go" }, // + new Class<?>[] { Phenotype.class, Compartment.class, Complex.class }, "MIR:00000022"), // + + /** + * HGNC: http://www.genenames.org. + */ + HGNC("HGNC", // + "http://www.genenames.org", // + new String[] { "urn:miriam:hgnc" }, // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000080", // + new Class<?>[] { Protein.class, Gene.class, Rna.class }), // + + /** + * HGNC symbol: http://www.genenames.org. + */ + HGNC_SYMBOL("HGNC Symbol", // + "http://www.genenames.org", // + new String[] { "urn:miriam:hgnc.symbol" }, // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000362", // + new Class<?>[] { Protein.class, Gene.class, Rna.class }), // + + /** + * HMDB: http://www.hmdb.ca/. + */ + HMDB("HMDB", // + "http://www.hmdb.ca/", // + "urn:miriam:hmdb", // + new Class<?>[] { Chemical.class, Drug.class, }, "MIR:00000051"), // + + /** + * InterPro: http://www.ebi.ac.uk/interpro/. + */ + INTERPRO("InterPro", // + "http://www.ebi.ac.uk/interpro/", // + new String[] { "urn:miriam:interpro" }, // + new Class<?>[] { Protein.class, Complex.class }, "MIR:00000011"), // + + /** + * KEGG Compound: http://www.genome.jp/kegg/ligand.html. + */ + KEGG_COMPOUND("Kegg Compound", // + "http://www.genome.jp/kegg/ligand.html", // + "urn:miriam:kegg.compound", // + new Class<?>[] { Chemical.class }, "MIR:00000013"), // + + /** + * KEGG Genes: http://www.genome.jp/kegg/genes.html. + */ + KEGG_GENES("Kegg Genes", // + "http://www.genome.jp/kegg/genes.html", // + new String[] { "urn:miriam:kegg.genes", "urn:miriam:kegg.genes:hsa" }, // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000070"), // + + /** + * KEGG Orthology: http://www.genome.jp/kegg/ko.html. + */ + KEGG_ORTHOLOGY("KEGG Orthology", // + "http://www.genome.jp/kegg/ko.html", // + new String[] { "urn:miriam:kegg.orthology" }, // + new Class<?>[] {}, "MIR:00000116"), // + + /** + * KEGG Pathway: http://www.genome.jp/kegg/pathway.html. + */ + KEGG_PATHWAY("Kegg Pathway", // + "http://www.genome.jp/kegg/pathway.html", // + "urn:miriam:kegg.pathway", // + new Class<?>[] { Reaction.class }, "MIR:00000012"), // + + /** + * KEGG Reaction: http://www.genome.jp/kegg/reaction/. + */ + KEGG_REACTION("Kegg Reaction", // + "http://www.genome.jp/kegg/reaction/", // + "urn:miriam:kegg.reaction", // + new Class<?>[] { Reaction.class }, "MIR:00000014"), // + + /** + * MeSH 2012: http://www.nlm.nih.gov/mesh/. + */ + MESH_2012("MeSH 2012", // + "http://www.nlm.nih.gov/mesh/", // + new String[] { "urn:miriam:mesh.2012", "urn:miriam:mesh" }, // + new Class<?>[] { Phenotype.class, Compartment.class, Complex.class }, "MIR:00000270"), // + + /** + * miRBase Sequence: http://www.mirbase.org/. + */ + MI_R_BASE_SEQUENCE("miRBase Sequence Database", // + "http://www.mirbase.org/", // + new String[] { "urn:miriam:mirbase" }, // + new Class<?>[] {}, "MIR:00000078"), // + + /** + * miRBase Mature Sequence: http://www.mirbase.org/. + */ + MI_R_BASE_MATURE_SEQUENCE("miRBase Mature Sequence Database", // + "http://www.mirbase.org/", // + new String[] { "urn:miriam:mirbase.mature" }, // + new Class<?>[] {}, "MIR:00000235"), // + + /** + * miRTaRBase Mature Sequence: http://mirtarbase.mbc.nctu.edu.tw/. + */ + MIR_TAR_BASE_MATURE_SEQUENCE("miRTarBase Mature Sequence Database", // + "http://mirtarbase.mbc.nctu.edu.tw/", // + new String[] { "urn:miriam:mirtarbase" }, // + new Class<?>[] {}, "MIR:00100739"), // + + /** + * Mouse Genome Database: http://www.informatics.jax.org/. + */ + MGD("Mouse Genome Database", // + "http://www.informatics.jax.org/", // + new String[] { "urn:miriam:mgd" }, // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000037"), // + + /** + * Online Mendelian Inheritance in Man: http://omim.org/. + */ + OMIM("Online Mendelian Inheritance in Man", // + "http://omim.org/", // + new String[] { "urn:miriam:omim" }, // + new Class<?>[] { Phenotype.class }, "MIR:00000016"), // + + /** + * PANTHER Family: http://www.pantherdb.org/. + */ + PANTHER("PANTHER Family", // + "http://www.pantherdb.org/", // + new String[] { "urn:miriam:panther.family", "urn:miriam:panther" }, // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000060"), // + + /** + * PDB: http://www.pdbe.org/. + */ + PDB("Protein Data Bank", // + "http://www.pdbe.org/", // + "urn:miriam:pdb", // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000020"), + + /** + * Protein Family Database: http://pfam.xfam.org/. + */ + PFAM("Protein Family Database", // + "http://pfam.xfam.org//", // + "urn:miriam:pfam", // + new Class<?>[] {}, "MIR:00000028"), // + + /** + * PharmGKB Pathways: http://www.pharmgkb.org/. + */ + PHARM("PharmGKB Pathways", // + "http://www.pharmgkb.org/", // + "urn:miriam:pharmgkb.pathways", // + new Class<?>[] {}, "MIR:00000089"), // + + /** + * PubChem-compound: http://pubchem.ncbi.nlm.nih.gov/. + */ + PUBCHEM("PubChem-compound", // + "http://pubchem.ncbi.nlm.nih.gov/", // + new String[] { "urn:miriam:pubchem.compound" }, // + new Class<?>[] { Chemical.class }, "MIR:00000034", // + new Class<?>[] { Chemical.class }), // + + /** + * PubChem-substance: http://pubchem.ncbi.nlm.nih.gov/. + */ + PUBCHEM_SUBSTANCE("PubChem-substance", // + "http://pubchem.ncbi.nlm.nih.gov/", // + new String[] { "urn:miriam:pubchem.substance" }, // + new Class<?>[] { Chemical.class }, "MIR:00000033", // + new Class<?>[] { Chemical.class }), // + + /** + * PubMed: http://www.ncbi.nlm.nih.gov/PubMed/. + */ + PUBMED("PubMed", // + "http://www.ncbi.nlm.nih.gov/PubMed/", // + new String[] { "urn:miriam:pubmed" }, // + new Class<?>[] { BioEntity.class }, "MIR:00000015", // + new Class<?>[] { Reaction.class }), // + + /** + * Reactome: http://www.reactome.org/. + */ + REACTOME("Reactome", // + "http://www.reactome.org/", // + "urn:miriam:reactome", // + new Class<?>[] { Reaction.class }, "MIR:00000018"), // + + /** + * RefSeq: http://www.ncbi.nlm.nih.gov/projects/RefSeq/. + */ + REFSEQ("RefSeq", // + "http://www.ncbi.nlm.nih.gov/projects/RefSeq/", // + "urn:miriam:refseq", // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000039"), + + /** + * SGD: http://www.yeastgenome.org/. + */ + SGD("Saccharomyces Genome Database", // + "http://www.yeastgenome.org/", // + "urn:miriam:sgd", // + new Class<?>[] {}, "MIR:00000023"), + + /** + * The Arabidopsis Information Resource (TAIR) maintains a database of genetic + * and molecular biology data for the model higher plant Arabidopsis thaliana. + * The name of a Locus is unique and used by TAIR, TIGR, and MIPS: + * http://arabidopsis.org/index.jsp. + */ + TAIR_LOCUS("TAIR Locus", // + "http://arabidopsis.org/index.jsp", // + "urn:miriam:tair.locus", // + new Class<?>[] {}, "MIR:00000050"), + + /** + * Taxonomy: http://www.ncbi.nlm.nih.gov/taxonomy/. + */ + TAXONOMY("Taxonomy", // + "http://www.ncbi.nlm.nih.gov/taxonomy/", // + "urn:miriam:taxonomy", // + new Class<?>[] {}, "MIR:00000006"), + /** + * Toxicogenomic: Chemical: http://ctdbase.org/detail.go. + * http://ctdbase.org/detail.go + */ + TOXICOGENOMIC_CHEMICAL("Toxicogenomic Chemical", // + "http://ctdbase.org/", // + "urn:miriam:ctd.chemical", // + new Class<?>[] {}, "MIR:00000098"), // + + /** + * UniGene: http://www.ncbi.nlm.nih.gov/unigene. + */ + UNIGENE("UniGene", // + "http://www.ncbi.nlm.nih.gov/unigene", // + "urn:miriam:unigene", // + new Class<?>[] {}, "MIR:00000346"), + + /** + * Uniprot: http://www.uniprot.org/. + */ + UNIPROT("Uniprot", // + "http://www.uniprot.org/", // + "urn:miriam:uniprot", // + new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000005"), + + /** + * UniProt Isoform: http://www.uniprot.org/. + */ + UNIPROT_ISOFORM("UniProt Isoform", // + "http://www.uniprot.org/", // + "urn:miriam:uniprot.isoform", // + new Class<?>[] { Protein.class }, "MIR:00000388"), + + /** + * Unknown reference type... + */ + UNKNOWN("Unknown", // + null, // + new String[] {}, // + new Class<?>[] {}, null), + + /** + * Wikidata: https://www.wikidata.org/. + */ + WIKIDATA("Wikidata", // + "https://www.wikidata.org/", // + new String[] { "urn:miriam:wikidata" }, // + new Class<?>[] {}, "MIR:00000549"), // + + /** + * WikiPathways: http://www.wikipathways.org/. + */ + WIKIPATHWAYS("WikiPathways", // + "http://www.wikipathways.org/", // + new String[] { "urn:miriam:wikipathways" }, // + new Class<?>[] {}, "MIR:00000076"), // + + /** + * Wikipedia: http://en.wikipedia.org/wiki/Main_Page. + */ + WIKIPEDIA("Wikipedia (English)", // + "http://en.wikipedia.org/wiki/Main_Page", // / + new String[] { "urn:miriam:wikipedia.en" }, // + new Class<?>[] {}, "MIR:00000384"), + + /** + * WormBase: http://wormbase.bio2rdf.org/fct. + */ + WORM_BASE("WormBase", // + "http://wormbase.bio2rdf.org/fct", // / + new String[] { "urn:miriam:wormbase" }, // + new Class<?>[] {}, "MIR:00000027"); + + /** + * User friendly name. + */ + private String commonName; + + /** + * url to homepage of given resource type. + */ + private String dbHomepage; + + /** + * Identifier of the database in miriam registry. + */ + private String registryIdentifier; + + /** + * Valid uris to this resource. + */ + private List<String> uris = new ArrayList<String>(); + + /** + * Classes that can be annotated by this resource. + */ + private List<Class<? extends BioEntity>> validClass = new ArrayList<>(); + + /** + * When class from this list is marked as "require at least one annotation" then + * annotation of this type is valid. + */ + private List<Class<? extends BioEntity>> requiredClass = new ArrayList<>(); + + /** + * Constructor that initialize enum object. + * + * @param dbHomePage + * homepage of the resource {@link #dbHomepage} + * @param commonName + * {@link #commonName} + * @param uris + * {@link #uris} + * @param classes + * {@link #validClass} + * @param registryIdentifier + * {@link #registryIdentifier} + */ + MiriamType(String commonName, String dbHomePage, String[] uris, Class<?>[] classes, String registryIdentifier) { + this(commonName, dbHomePage, uris, classes, registryIdentifier, new Class<?>[] {}); + } + + /** + * Constructor that initialize enum object. + * + * @param dbHomePage + * homepage of the resource {@link #dbHomepage} + * @param commonName + * {@link #commonName} + * @param uris + * {@link #uris} + * @param classes + * {@link #validClass} + * @param registryIdentifier + * {@link #registryIdentifier} + * @param requiredClasses + * {@link #requiredClasses} + */ + MiriamType(String commonName, String dbHomePage, String[] uris, Class<?>[] classes, String registryIdentifier, + Class<?>[] requiredClasses) { + this.commonName = commonName; + this.dbHomepage = dbHomePage; + for (String string : uris) { + this.uris.add(string); + } + for (Class<?> clazz : classes) { + this.validClass.add((Class<? extends BioEntity>) clazz); + } + for (Class<?> clazz : requiredClasses) { + this.requiredClass.add((Class<? extends BioEntity>) clazz); + } + this.registryIdentifier = registryIdentifier; + } + + /** + * Constructor that initialize enum object. + * + * @param dbHomePage + * homepage of the resource {@link #dbHomepage} + * @param commonName + * {@link #commonName} + * @param uri + * one of {@link #uris} + * @param registryIdentifier + * {@link #registryIdentifier} + * @param classes + * {@link #validClass} + */ + MiriamType(String commonName, String dbHomePage, String uri, Class<?>[] classes, String registryIdentifier) { + this(commonName, dbHomePage, new String[] { uri }, classes, registryIdentifier); + } + + /** + * + * @return {@link #commonName} + */ + public String getCommonName() { + return commonName; + } + + /** + * + * @return {@link #uris} + */ + public List<String> getUris() { + return uris; + } + + /** + * + * @return {@link #validClass} + */ + public List<Class<? extends BioEntity>> getValidClass() { + return validClass; + } + + /** + * Returns {@link MiriamType} associated with parameter uri address. + * + * @param uri + * uri to check + * @return {@link MiriamType} for given uri + */ + public static MiriamType getTypeByUri(String uri) { + for (MiriamType mt : MiriamType.values()) { + for (String string : mt.getUris()) { + if (string.equalsIgnoreCase(uri)) { + return mt; + } + } + } + return null; + } + + /** + * @return the dbHomepage + * @see #dbHomepage + */ + public String getDbHomepage() { + return dbHomepage; + } + + /** + * @return the registryIdentifier + * @see #registryIdentifier + */ + public String getRegistryIdentifier() { + return registryIdentifier; + } + + /** + * @return the requiredClass + * @see #requiredClass + */ + public List<Class<? extends BioEntity>> getRequiredClass() { + return requiredClass; + } + + /** + * Returns {@link MiriamType} associated with {@link #commonName}. + * + * @param string + * {@link #commonName} + * @return {@link MiriamType} for given name + */ + public static MiriamType getTypeByCommonName(String string) { + for (MiriamType mt : MiriamType.values()) { + if (string.equalsIgnoreCase(mt.getCommonName())) { + return mt; + } + } + return null; + } + + /** + * Transforms identifier into {@link MiriamData}. + * + * @param generalIdentifier + * identifier in the format NAME:IDENTIFIER. Where NAME is the name + * from {@link MiriamType#commonName} and IDENTIFIER is reasource + * identifier. + * @return {@link MiriamData} representing generalIdentifier, when identifier is + * invalid InvalidArgumentException is thrown + */ + public static MiriamData getMiriamDataFromIdentifier(String generalIdentifier) { + int index = generalIdentifier.indexOf(":"); + if (index < 0) { + throw new InvalidArgumentException("Identifier doesn't contain type"); + } + String type = generalIdentifier.substring(0, index); + String id = generalIdentifier.substring(index + 1); + for (MiriamType mt : MiriamType.values()) { + if (mt.getCommonName().equalsIgnoreCase(type)) { + return new MiriamData(MiriamRelationType.BQ_BIOL_IS_DESCRIBED_BY, mt, id); + } + } + throw new InvalidArgumentException("Unknown miriam type: " + type + " (id: " + id + ")"); + } + + /** + * Creates {@link MiriamData} from miriam uri. + * + * @param miriamUri + * miriam uri defining {@link MiriamData} + * @return {@link MiriamData} from miriam uri + */ + public static MiriamData getMiriamByUri(String miriamUri) { + // this hack is due to CellDesigner issue (CellDesigner incorectly handle + // with identifiers that have ":" inside resource ":" inside resource with + // "%3A" and also the last ":" + miriamUri = miriamUri.replace("%3A", ":"); + + String foundUri = ""; + MiriamType foundType = null; + + for (MiriamType type : MiriamType.values()) { + for (String uri : type.getUris()) { + if (miriamUri.startsWith(uri + ":")) { + if (uri.length() > foundUri.length()) { + foundType = type; + foundUri = uri; + } + } + } + } + if (foundType != null) { + return new MiriamData(foundType, miriamUri.substring(foundUri.length() + 1)); + } + throw new InvalidArgumentException("Invalid miriam uri: " + miriamUri); + } } diff --git a/web/src/main/webapp/WEB-INF/resources/log4j.properties b/web/src/main/webapp/WEB-INF/resources/log4j.properties index 2dd44999683a1660220521669ce42700cc847713..cce0380c86937576a3e43eb5c8567cfe25a20c0f 100644 --- a/web/src/main/webapp/WEB-INF/resources/log4j.properties +++ b/web/src/main/webapp/WEB-INF/resources/log4j.properties @@ -33,3 +33,6 @@ log4j.logger.lcsb.mapviewer.db.model.map.reaction.ReactionComparator=warn log4j.logger.lcsb.mapviewer.db.model.map.species.ProteinComparator=warn log4j.logger.lcsb.mapviewer.db.model.map.layout.alias.ComplexAliasComparator=warn log4j.logger.lcsb.mapviewer.db.model.map.Element=info + +#Silence miriam debug logs +log4j.logger.uk.ac.ebi.miriam.lib=warn