I have added a few cross-product capabilities to oboedit. These should appear in the next beta iteration. You are free to ignore these features, but if you are curious, here is a very cursory overview. If there is interest I could demo these, perhaps on friday morning PDT?
You may first want to peruse the xp guide:
These features are most useful for when you already have some xps defined for existing terms. These can be obtained from the GO scratch directory, or from here:
Once you have GO loaded with some xps overlaid on top you can do some nice things. If you go to the edit menu and you have the reasoner on you can select "Assert implied links". This will give you the option of 'repairing' GO based on the results of running the reasoner over GO + xps.
For example, if we have X is_a Y, then regulation-of-X should be an is_a child of regulation-of-Y. In fact there are some links of this sort missing from GO, since these have been added manually. You can now use the "assert implied links" option to fill these in. After doing this you may want to run "remove redundant links".
Next, if you select "View/Editor/Cross Product Matrix Editor" you will get a 2D editor for viewing and adding xps. Screenshot below. If you load GO + CL + bp_xp_cell and select some cell terms you should see a matrix with genus terms (differentiation, chemotaxis, etc) as the X axis and cell terms on the Y axis. The matrix will be partially filled in. You can select terms to see what the is_a children and parents are in that matrix (colored yellow and pink).
You can select multiple empty cells (umm, "cell (sensu table)") in the matrix and click the "Make" button to realize the terms. If you have the checkbox selected, the xp terms will be automatically placed in the DAG in the correct place.
Currently the autogenerated names are pretty horrible. In the future we can plug in different namers - for example, obol rules could be used to generated name, synonyms and a definition according to the standard form.
There are various other limitations, but it is a start.
Note that the other means of creating cross-products (either through the Text editor or the Intersections editor) will remain in place. The matrix editor is more useful for viewing and editing en-masse.