In commit ab02add1bee33b47e45bfdee7f89190681e9bcf2 @egonw added to org.bridgedb.bio/resources/org/bridgedb/bio/datasources.txt:
ChEMBL compound Cl http://www.ebi.ac.uk/chembl/ https://www.ebi.ac.uk/chembl/compound/inspect/$id CHEMBL308052 metabolite 1 urn:miriam:chembl.compound ^CHEMBL\d+$ ChEMBL compound
Using system code Cl
here clashes with the equivalent entry in org.bridgedb.rdf, which uses ChEMBLCompound
- what was the reason for going with Cl
?
See both IdentifiersOrgDataSource.ttl and in IdentifiersOrgDataSource.txt
This (luckily) causes the IdentifersOrgReaderTest
test to fail with:
Caused by: java.lang.IllegalArgumentException: System code does not match for DataSource ChEMBL compound was Cl so it can not be changed to ChEMBLCompound
at org.bridgedb.DataSource.findOrRegister(DataSource.java:640)
at org.bridgedb.DataSource.register(DataSource.java:620)
at org.bridgedb.rdf.BridgeDBRdfHandler.readDataSource(BridgeDBRdfHandler.java:131)
at org.bridgedb.rdf.BridgeDBRdfHandler.getDataSource(BridgeDBRdfHandler.java:121)
at org.bridgedb.rdf.BridgeDBRdfHandler.readAllDataSources(BridgeDBRdfHandler.java:113)
at org.bridgedb.rdf.BridgeDBRdfHandler.doParseRdfInputStream(BridgeDBRdfHandler.java:92)
... 33 more
The system codes used for ChEMBL within IdentifiersOrgDataSource.txt are not ideal:
- ChEMBLCompound
- ChemblId
- ChemblMolecule
- chembl.target
- ChemblTarget (!)
- Chembl16TargetComponent
Those are both very long, includes (wrong) version number, and has duplicates and are inconsistent.
At Identifiers.org we find the names
(but nothing for molecules, assays or target component)
Cc
is already used by CCDS.
After discussing this with @egonw I suggest modifying org/bridgedb/bio/datasources.txt to use system codes:
ChC
(ChEMBL compound)
ChT
(ChEMBL target)
ChTC
(ChEMBL Target Component) -- or ChP
for "protein"?
CamelCasing here mimics other entries like EnMm
(Ensembl Mouse).
Views?