TAO and PATO concepts missing labels in Node table

3 views
Skip to first unread message

car...@nescent.org

unread,
Sep 22, 2008, 11:12:05 AM9/22/08
to obd-dev
Hello,

I noticed after loading in NexML data files into the OBD Phenoscape
database, the labels for TAO and PATO concepts are missing. To be
specific, where an entry in the UID column of the NODE table reads
PATO:0000122 the corresponding LABEL column reads NULL. The same is
true for PATO concepts. I do see the proper labels like dorsal fin
(from the TAO) being mapped to a UUID generated identifier instead of
the proper TAO identifier. Also, I don't see any ZFIN concepts in the
database although the zebrafish-anatomy ontology is mentioned in the
configuration file.

I am using Perl scripts from the OBDAPI project and Java code from the
Phenote project, which were downloaded on Saturday. On my Hardy Heron
(Ubuntu 8.04) laptop, I use

perl obd-create-db.pl -d obdphenoscape -c conf/obd-phenoscape.conf

to create the database.

Then I run the OBDModelBridge class from the Phenote project to load
in the data from the NeXML file (Chen2003-nexml.xml).

Finally, I use

perl obd-reasoner.pl -d obdphenoscape@localhost:5433 to run the
reasoner, which works fine.

Thanks!

Regards,

Cartik

car...@nescent.org

unread,
Sep 22, 2008, 11:14:54 AM9/22/08
to obd-dev
I forgot to include in my earlier post, TTO UIDs are mapped to their
correct labels in the Node table.
For example, the TTO:1001979 is correctly mapped to Danio Rerio. The
PATO and TAO concepts are not
correctly mapped however.

Thanks,

Cartik

car...@nescent.org

unread,
Sep 22, 2008, 12:54:18 PM9/22/08
to obd-dev
Hi,

Another follow up to my earlier post. Here is a transcript of the logs
when I run the obd-create-db.pl. I noticed some error messages in the
logs. I piped the prints to a separate file, where a lot of CREATE
TABLES and CREATE VIEWS etc have been listed. No error messages there.
But this is what prints to the console after the piping.

psql args: obdphentest
CMD: createdb obdphentest
CMD: psql obdphentest < ./../sql/obd-core-schema.sql
NOTICE: CREATE TABLE will create implicit sequence "node_node_id_seq"
for serial column "node.node_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"node_pkey" for table "node"
NOTICE: CREATE TABLE / UNIQUE will create implicit index
"node_uid_key" for table "node"
NOTICE: CREATE TABLE will create implicit sequence "link_link_id_seq"
for serial column "link.link_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"link_pkey" for table "link"
NOTICE: CREATE TABLE / UNIQUE will create implicit index
"link_unique_c" for table "link"
NOTICE: CREATE TABLE / UNIQUE will create implicit index
"link_cardinality_unique_c" for table "link_cardinality"
NOTICE: CREATE TABLE will create implicit sequence
"link_argument_link_argument_id_seq" for serial column
"link_argument.link_argument_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"link_argument_pkey" for table "link_argument"
NOTICE: CREATE TABLE will create implicit sequence
"link_inference_link_inference_id_seq" for serial column
"link_inference.link_inference_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"link_inference_pkey" for table "link_inference"
NOTICE: CREATE TABLE will create implicit sequence
"sameas_sameas_id_seq" for serial column "sameas.sameas_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"sameas_pkey" for table "sameas"
NOTICE: CREATE TABLE / UNIQUE will create implicit index
"sameas_unique_c" for table "sameas"
NOTICE: CREATE TABLE will create implicit sequence
"tagval_tagval_id_seq" for serial column "tagval.tagval_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"tagval_pkey" for table "tagval"
NOTICE: CREATE TABLE will create implicit sequence
"alias_alias_id_seq" for serial column "alias.alias_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"alias_pkey" for table "alias"
NOTICE: CREATE TABLE will create implicit sequence
"description_description_id_seq" for serial column
"description.description_id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"description_pkey" for table "description"
NOTICE: CREATE TABLE / UNIQUE will create implicit index
"node_xref_node_id_key" for table "node_xref"
NOTICE: CREATE TABLE / UNIQUE will create implicit index
"description_xref_description_id_key" for table "description_xref"
CMD: cat ./../sql/obd-core-views.sql | psql obdphentest
ERROR: relation "graph_lead_class_node" does not exist
ERROR: relation "graph_lead_class_node" does not exist
ERROR: relation "graph_lead_instance_node" does not exist
ERROR: column tagval.type_id does not exist
LINE 8: LEFT OUTER JOIN node AS type ON
(tagval.type_id=type.node_...
^
ERROR: relation "tagval_with_type" does not exist
ERROR: column "source_uid" specified in USING clause does not exist
in right table
ERROR: column "source_uid" specified in USING clause does not exist
in right table
ERROR: cannot change name of view column "annotation_count"
ERROR: syntax error at or near "al1"
LINE 9: al1.object_id AS a1_object_id,
^
ERROR: syntax error at or near "CREATE"
LINE 3: CREATE OR REPLACE VIEW node_count_by_document_source AS
^
ERROR: column "ial.object_id" must appear in the GROUP BY clause or
be used in an aggregate function
ERROR: relation "class_count_by_annotated_entity" does not exist
ERROR: function node_auto_label(integer) does not exist
LINE 4: node_auto_label(node_id) AS label
^
HINT: No function matches the given name and argument types. You
might need to add explicit type casts.
ERROR: function node_auto_label(integer) does not exist
LINE 5: node_auto_label(node_id) AS label
^
HINT: No function matches the given name and argument types. You
might need to add explicit type casts.
ERROR: relation
"class_node_entropy_by_evidence_with_node_and_auto_label" does not
exist
ERROR: syntax error at or near
"'annotation_with_information_content'"
LINE 1: COMMENT ON VIEW 'annotation_with_information_content' IS
'An...
^
ERROR: function node_auto_label(integer) does not exist
LINE 5: node_auto_label(node.node_id) AS label
^
HINT: No function matches the given name and argument types. You
might need to add explicit type casts.
ERROR: each UNION query must have the same number of columns
ERROR: relation "n_subclassof_nr" does not exist
ERROR: relation "subclassof_nr" does not exist
CMD: cat ./../sql/obd-simple-views.sql | psql obdphentest
CMD: cat ./../sql/obd-util-funcs.sql | psql obdphentest
cat: ./../sql/obd-util-funcs.sql: No such file or directory
CMD: psql -c 'CREATE LANGUAGE plpgsql' obdphentest
CMD: cat ./../sql/obd-core-functions.plpgsql | psql obdphentest
ERROR: invalid input syntax for integer: "$1"
CONTEXT: SQL function "instance_of"
ERROR: invalid input syntax for integer: "$1"
CONTEXT: SQL function "instance_of"
CMD: cat ./../sql/api/obd-mutable-api.plpgsql | psql obdphentest
CMD: cat ./../sql/util/realize-relations-as-views.plpgsql | psql
obdphentest
CMD: echo 'ALTER USER postgres SET search_path TO
public,obd_statistical_view,obd_aggregate_view,obd_annotation_view,obd_prejoins_view,
obd_obo_metamodel_view,obd_core_view,obd_denormalized;' | psql
obdphentest
NOTICE: schema "obd_statistical_view" does not exist
NOTICE: schema "obd_aggregate_view" does not exist
NOTICE: schema "obd_annotation_view" does not exist
NOTICE: schema "obd_prejoins_view" does not exist
NOTICE: schema "obd_obo_metamodel_view" does not exist
NOTICE: schema "obd_core_view" does not exist
NOTICE: schema "obd_denormalized" does not exist
conf/obd-phenoscape.conf at obd-create-db.pl line 102.

Hope this helps!

Regards,

Cartik

Robert Bruggner

unread,
Sep 22, 2008, 1:34:08 PM9/22/08
to car...@nescent.org, obd...@googlegroups.com
Hey Cartik,

I asked Chris about those recently - I think those errors come from
old view generation code and can be ignored.

-Rob-

Chris Mungall

unread,
Sep 22, 2008, 4:51:44 PM9/22/08
to obd...@googlegroups.com

Do you have the log from the load?

Are all the labels null?

SELECT count(*) FROM node WHERE uid LIKE 'PATO:%' and label IS NULL;

You can always run obo2database separately (obd-create-db.pl is just a
wrapper for this)

>
> Thanks,
>
> Cartik
>
>
> >
>

Chris Mungall

unread,
Sep 22, 2008, 6:43:31 PM9/22/08
to Cartik R. Kothari, obd...@googlegroups.com, obo-ed...@googlegroups.com
Taking this over to oe-dev..

Amina - is this a known problem with Ubuntu?

Cartik - are you doing something like running obo2database on a remote
machine via ssh?

The problem here is that obo2database (and all the obo command line
tools) *should* be able to execute without any awt or gui code.
However, there is something in
org.oboedit.util.GUIUtil.copyExistingConfigFiles that appears to
invoke awt.

If we remove this dependency, you should be fine

Until we fix this, there should be a way to get this to work once we
know more about your setup (e.g. just setting the DISPLAY env var, or
tunneling X over ssh via the -x option)


On Sep 22, 2008, at 3:33 PM, Cartik R. Kothari wrote:

> Hi Chris,
>
> I discovered the ontologies were not being loaded in the first place
> because of
> some idiosyncracies of the Ubuntu platform, directory read/write
> permissions,
> and such. After clearing through this, as of now I have narrowed the
> problem to
> something in the obo2database program, which executes the
> OBO2Database Java
> class. I get the error message
>
> Exception in thread "main" java.lang.ExceptionInInitializerError
> at org.oboedit.launcher.OBO2Database.main(OBO2Database.java:430)
> Caused by: java.awt.HeadlessException:
> No X11 DISPLAY variable was set, but this program performed an
> operation which
> requires it.
> at
> java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:
> 173)
> at java.awt.Window.<init>(Window.java:437)
> at java.awt.Frame.<init>(Frame.java:419)
> at java.awt.Frame.<init>(Frame.java:384)
> at javax.swing.SwingUtilities
> $SharedOwnerFrame.<init>(SwingUtilities.java:1756)
> at
> javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:
> 1833)
> at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1692)
> at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:864)
> at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:668)
> at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:639)
> at org.oboedit.util.GUIUtil.copyExistingConfigFiles(GUIUtil.java:307)
> at org.oboedit.gui.Preferences.getOBOEditPrefsDir(Preferences.java:
> 258)
> at org.oboedit.gui.Preferences.<clinit>(Preferences.java:191)
> ... 1 more
>
> This happens after every ontology is downloaded into a directory on
> my machine.
>
> Thanks,
>
> Cartik
>
>

car...@nescent.org

unread,
Sep 22, 2008, 6:59:40 PM9/22/08
to obd-dev
Hi Chris,

I'm trying to get obo2database to run on my own machine. The plan is
to get a proper version of the OBD database running on my laptop and
then to port it to the Darwin server at NESCent.

Thanks,

Cartik

car...@nescent.org

unread,
Sep 22, 2008, 8:21:22 PM9/22/08
to obd-dev
Hi Chris, Rob, Amina,

Thanks for your help. This should be my last post for today. I set the
DISPLAY environment variable (#export DISPLAY :0.0) and ran into a
NoClassDefFoundError. Will continue working on this first thing
tomorrow. Here is the excerpt


.........
.........
Loading File: /tmp/teleost_taxonomy.obo
Running: ../launch_scripts/obo2database -allowdangling -o
jdbc:postgresql://localhost:5433/obdtest /tmp/teleost_taxonomy.obo
CMDARGS= '-allowdangling' '-o' 'jdbc:postgresql://localhost:5433/
obdtest' '/tmp/teleost_taxonomy.obo'
log4j:WARN No appenders could be found for logger
(org.oboedit.util.GUIUtil).
log4j:WARN Please initialize the log4j system properly.
No protocol specified
Exception in thread "main" java.lang.NoClassDefFoundError: Could not
initialize class sun.awt.X11GraphicsEnvironment
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:
82)
at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:106)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at java.awt.Toolkit$2.run(Toolkit.java:849)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:841)
at
sun.swing.SwingUtilities2$AATextInfo.getAATextInfo(SwingUtilities2.java:
131)
at
javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:
1564)
at
javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:
147)
at
javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:
1599)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:545)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:585)
at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1334)
at javax.swing.UIManager.initialize(UIManager.java:1421)
at javax.swing.UIManager.maybeInitialize(UIManager.java:1409)
at javax.swing.UIManager.getUI(UIManager.java:1006)
at javax.swing.JOptionPane.updateUI(JOptionPane.java:1878)
at javax.swing.JOptionPane.<init>(JOptionPane.java:1841)
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:859)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:668)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:639)
at org.oboedit.util.GUIUtil.copyExistingConfigFiles(GUIUtil.java:307)
at org.oboedit.gui.Preferences.getOBOEditPrefsDir(Preferences.java:
258)
at org.oboedit.gui.Preferences.<clinit>(Preferences.java:191)
at org.oboedit.launcher.OBO2Database.main(OBO2Database.java:430)
Loaded File: /tmp/teleost_taxonomy.obo
...............
...............

Have a good one now!

Cheers,

Cartik

Hilmar Lapp

unread,
Sep 22, 2008, 9:30:37 PM9/22/08
to obd...@googlegroups.com

On Sep 22, 2008, at 8:21 PM, car...@nescent.org wrote:

>
> Hi Chris, Rob, Amina,
>
> Thanks for your help. This should be my last post for today. I set the
> DISPLAY environment variable (#export DISPLAY :0.0)

There needs to be an equals sign between name and value for bash:

$ export DISPLAY=":0.0"

What's odd enough is that you need to set this in the first place,
which lets me to believe that you are executing this command as a
different user than you are logged in with to the X11 session. In that
case the X server will likely deny connection attempts from another
user's X clients. To remedy that, do

$ xhost +localhost

*as the user you are logged in with to the X session* (not as the user
as which you can't execute the command below.

You can also try to put Java into headless mode by adding the option -
Djava.awt.headless=true to the command line that invokes the JVM
(i.e., java), but judging from where the error occurs, there is some
OBO-edit code that assumes you are running the GUI no matter what.

-hilmar

--
===========================================================
: Hilmar Lapp -:- Durham, NC -:- hlapp at duke dot edu :
===========================================================


car...@nescent.org

unread,
Sep 23, 2008, 4:53:48 PM9/23/08
to obd-dev
Hi,

I had to deal some more permission issues today. Eventually I managed
to load the ontologies and the data up and also run the reasoner on
it. The reasoner takes about 20 minutes to finish executing. Lastly, I
have run query tests to make sure everything is shipshape. I have also
documented the changes I had to make at every step to set the database
up on my Ubuntu box. Once the database is ported to Darwin, I will
post all these to the Phenoscape web site. Thanks everyone for your
help.

Regards,

Cartik
Reply all
Reply to author
Forward
0 new messages