Possible Issues with 64-bit Java and 32-bit Java WebStart

259 views
Skip to first unread message

Bill Longabaugh

unread,
Jul 25, 2011, 1:44:15 PM7/25/11
to BioTapestry-users
There has been a report from a user that BioTapestry failed to launch
after a 64-bit Java application was installed and run on a PC running
Windows 7. It appears the problem _might_ have been related to the
browser (Firefox 5) trying to launch BioTapestry using a 32-bit Java
Web Start. The problem was solved by uninstalling/reinstalling Java.
I suggest this is followed by a reboot, as there appeared to be some
issues getting the update to be recognized by the browser. A
subsequent attempt to start BioTapestry caused a new download of the
Java WebStart Launcher, and the user was up and running again.

As always, feel free to contact us if you run into such issues.

Bill

zuo

unread,
Sep 21, 2011, 9:53:24 AM9/21/11
to biotapes...@googlegroups.com
Hi, 

I try to generate BTP file from CSV file and the batch mode of using ImageGeneratorApplication class works fine in shell script. However, I want this process can be integrated into our java_based applications rather than shell mode, additionally, I found the 'regions' in generated BTP results are not sorted, which shall be displayed in Biotapestry in order, not random. 

Therefore, I look at the source code of an example ImageGeneratorAppTestWrapper.java that shows how to use ImageGeneratorApplication class. So far 2 problems come up, one is 'import org.systemsbiology.biotapestry.app.ImageGeneratorApplication;' is missing, which is easy. Another one is when " // main1 (argv);  main2 (argv); " is changed to "main1 (argv);  // main2 (argv);" and I run it with command "java generateBTP /home/javaTest/1131323607.csv  /home/javaTest/" , the following error message shows

Exception in thread "main" java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.Integer
at org.systemsbiology.biotapestry.cmd.MainCommands$ImportFullHierarchyFromCSVAction.performOperation(MainCommands.java:7470)
at org.systemsbiology.biotapestry.app.ImageGeneratorApplication.process(ImageGeneratorApplication.java:282)
at 
xxx.generateBTP.generateOrderedBTP(generateBTP.java:78)
at 
xxx.generateBTP.main(generateBTP.java:51)

I have to look inside the code of MainCommands class.   Just wondering whether the code downloaded from http://www.biotapestry.org/src/BioTapestry-5.0.2-src.tar.gz is the latest ?  or anyone has done similar stuff using ImageGeneratorApplication class? any example would be helpful. 

many thanks  


Kind Regards

 
jié zuo 
 
Email: po_...@yahoo.com
Tel: +44 (0)1865 222470
Fax: +44 (0)1865 222501

William Longabaugh

unread,
Sep 21, 2011, 12:46:37 PM9/21/11
to biotapes...@googlegroups.com

Yes, the 5.0.2 downloaded code is the latest. However, it
contains a bug. I believe the code starting at line 276
of ImageGeneratorApplication.java needs to be replaced
with:

osArgs = new Object[7];
osArgs[0] = csvCompress_;
osArgs[1] = csvMode_;
osArgs[2] = csvOverlayMode_;
osArgs[3] = new Boolean(false);
osArgs[4] = input_;
osArgs[5] = nodeIDMap_;
osArgs[6] = modelIDMap_;

The argument list was changed and the above fix was not added.
Though I have not tested the above fix, I think it should do
the trick. Let me know.

I'm not exactly sure what the issue is with the region
sorting in the BTP result? If I recall, the right-to-left
arrangement is based on a partial ordering of the regions
based on inter region links, with feedback loops removed.
I would have to go in and look at the code to remember the
tie-breaker driving the first region in the event of feedback.

Hope this helps,

Bill

> ji� zuo

> --
> You received this message because you are subscribed to the Google
> Groups "BioTapestry-users" group.
> To post to this group, send email to biotapes...@googlegroups.com.
> To unsubscribe from this group, send email to
> biotapestry-us...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/biotapestry-users?hl=en.

zuo

unread,
Sep 22, 2011, 6:53:43 AM9/22/11
to biotapes...@googlegroups.com
thanks Bill, 

The replacement does fix the previous bug after I changed the ImageGeneratorApplication class, buy another exception remains that sounds related to KeysToPublish class, please have a look of error message attached, also the example csv file.

Another question, is it possible to provide with org.systemsbiology.chem class (or code) that is required in MainCommands class when I tried to compile the whole class files? Or maybe I can find somewhere.  

many thanks.   

Kind Regards

 
jié zuo
--- On Wed, 9/21/11, William Longabaugh <wlong...@systemsbiology.org> wrote:
>  jié zuo  Email: po_...@yahoo.com

> Tel: +44 (0)1865 222470
> Fax: +44 (0)1865 222501
>
> -- You received this message because you are subscribed to the Google Groups "BioTapestry-users" group.
> To post to this group, send email to biotapes...@googlegroups.com.
> To unsubscribe from this group, send email to biotapestry-users+unsub...@googlegroups.com.

> For more options, visit this group at http://groups.google.com/group/biotapestry-users?hl=en.

-- You received this message because you are subscribed to the Google Groups "BioTapestry-users" group.
To post to this group, send email to biotapes...@googlegroups.com.
To unsubscribe from this group, send email to biotapestry-users+unsub...@googlegroups.com.
error
1354416149.csv

William Longabaugh

unread,
Sep 22, 2011, 12:35:45 PM9/22/11
to biotapes...@googlegroups.com

It appears the WebPublisher.ModelScale object has been
passed a null modelID in its constructor. That implies that
the modelIDMap returned null on a bogus key. Here is how it
is initialized in the TestWrapper:

String mod1 = (String)modelIDMap.get("ENDOMESODERM");
keysToPublish.add(new WebPublisher.ModelScale(mod1,
WebPublisher.ModelScale.SMALL));

So make sure your WebPublisher.ModelScale objects are
getting correctly built with valid internal model IDs.

As for the org.systemsbiology.chem.* classes, I would
just comment those imports out as well as the code
lines that depend on them. That command is for in-process
execution of the ISB Dizzy Simulator, and the command
is actually commented out from the menus. If you want
the classes, they are available from here:

http://magnet.systemsbiology.net/software/Dizzy/

Bill


zuo wrote:
> thanks Bill,
>
> The replacement does fix the previous bug after I changed the
> ImageGeneratorApplication class, buy another exception remains that
> sounds related to KeysToPublish class, please have a look of error
> message attached, also the example csv file.
>
> Another question, is it possible to provide with org.systemsbiology.chem
> class (or code) that is required in MainCommands class when I tried to
> compile the whole class files? Or maybe I can find somewhere.
>
> many thanks.
>
> Kind Regards
>
>

> ji� zuo

zuo

unread,
Sep 22, 2011, 3:27:04 PM9/22/11
to biotapes...@googlegroups.com
So make sure your WebPublisher.ModelScale objects are
getting correctly built with valid internal model IDs.

I am not sure about this, do you mean the example cvs file is not proper one? or some TestWrapper lines need to be modified?  for example 

String mod1 = (String)modelIDMap.get("ENDOMESODERM"); 

'ENDOMESODERM' shall be changed to real model ID ?

I assume the latter is my case.

thanks for the link. 

Kind Regards

 
jié zuo
 
Email: po_...@yahoo.com
Tel: +44 (0)1865 222470
Fax: +44 (0)1865 222501

--- On Thu, 9/22/11, William Longabaugh <wlong...@systemsbiology.org> wrote:

From: William Longabaugh <wlong...@systemsbiology.org>
Subject: Re: [BioTapestry-users] latest code?
To: biotapes...@googlegroups.com
>  jié zuo

William Longabaugh

unread,
Sep 23, 2011, 12:33:41 AM9/23/11
to biotapes...@googlegroups.com
Correct.  The model names there in the TestWrapper correspond to
names in the CSV file I used.  You should replace with model
names from your file.  In practice, your code calling the
ImageGeneratorApplication would be handed the model names
to publish somehow, or you would just iterate through all the
keys in the modelIDMap.

Bill


To unsubscribe from this group, send email to biotapestry-us...@googlegroups.com.

zuo

unread,
Sep 23, 2011, 10:36:47 AM9/23/11
to biotapes...@googlegroups.com
many thanks. Now it makes sense. 


Kind Regards

 
jié zuo
 
Email: po_...@yahoo.com
Tel: +44 (0)1865 222470
Fax: +44 (0)1865 222501

--- On Fri, 9/23/11, William Longabaugh <William.L...@systemsbiology.org> wrote:

zuo

unread,
Sep 28, 2011, 11:39:40 AM9/28/11
to biotapes...@googlegroups.com
Hi, 

To aim to sort the regions in biotapestry when converting CSV file to BTP file by HEADLESS_IMPORT mode, I trace down the method generate() in ImageGeneratorApplication class. It sounds going by  mainCommands.getOneshot (HEADLESS_IMPORT_FULL_HIERARCHY_FROM_CSV) >> importFullHierarchyFromCSVAction >>  fullHierarchyCSVFormatFactory >>  buildFromCSVForeground >> readCSV (stream) >> CSVImportRunner (xxx),  then i don't want to go further as the application design is much more complicated than what I can cope.. 


One question is the method readCSV (line 590-668) in FullHierarchyCSVFormatFactory class (genome), before ValidateCSV method, will sorting the (Hash)Map regionDefs based on regions orders in csv files help my goal? More likely the process of sorting regions (& nodes) just before layout makes more sense, because model Map, Node Map and Intersection Map from ImageGeneratorAppTestWrapper class show these element IDs in the order appearing in the BTP file too. Is it possible to know which classes are related to assign values for the elements in <layouts> tag in btp files?     

many thanks 

William Longabaugh

unread,
Sep 29, 2011, 3:00:16 PM9/29/11
to biotapes...@googlegroups.com

I'm not 100% clear on what you mean by sorting the regions;
I'm assuming you mean how they are ordered left to right
in the layout.

If I recall correctly, the ordering is designed to be
consistent, but currently cannot be specified. The big question
depends on whether you have links between regions. If you
do, it does a topo sort on regions using the inter-regions
links to get a partial ordering. Feedback links are discarded
when building the DAG, so of course the order of evaluating
at the regions matters. I believe it is based on the internal
region ID. The sorting occurs here:

org.systemsbiology.biotapestry.ui.LayoutRubberStamper;

private Map sortRegions(Set allGroups,
Map linkTuples,
GenomeInstance gi);

With no inter-region links, I'm pretty sure it depends just
on internal ID order; I would really need to dig deep to
be able to say what drives that assignment.

The only solution I can suggest at the moment is to use
this mode:

ImageGeneratorApplication.BTP_PRE_INPUT_CSV_PRUNED

Where you feed it two files: a btp file and a csv file.
In that mode, the system will use the btp file as a guide
for doing the layout. You can create a btp file that
has JUST regions (and models) defined: no nodes or links.
The system will then use the region order in that file
to order the regions in the result. Give that a try to
see if it works for you.

I will add region order specification from CSV to the wish list.

Hope this helps.

Bill

> ji� zuo

zuo

unread,
Sep 30, 2011, 4:46:20 AM9/30/11
to biotapes...@googlegroups.com
Many thanks, Bill.

You are right, sorting regions is to show regions by some order, for example, in my case, to show networks in xenopus development stage 22, then stage 24, then stage 26... from top to down, or from left to right in one 'model'. In another 'model', the 'regions' are again shown in stage 22, stage 24, stage26.... 

so far, in most btp files converted from CSV files, the stage orders are interrupted rather than following the right orders showing in CSV files. If the networks are not simple, it is painful to reorganise the stage orders manually in BTP Editor. 

I'll try your idea. 

  

Kind Regards

 
jié zuo
--- On Thu, 9/29/11, William Longabaugh <wlong...@systemsbiology.org> wrote:

From: William Longabaugh <wlong...@systemsbiology.org>
Subject: Re: [BioTapestry-users] layout class
To: biotapes...@googlegroups.com
>  jié zuo  Email: po_...@yahoo.com

> Tel: +44 (0)1865 222470
> Fax: +44 (0)1865 222501
>
> -- You received this message because you are subscribed to the Google Groups "BioTapestry-users" group.
> To post to this group, send email to biotapes...@googlegroups.com.
> To unsubscribe from this group, send email to biotapestry-users+unsub...@googlegroups.com.

> For more options, visit this group at http://groups.google.com/group/biotapestry-users?hl=en.

-- You received this message because you are subscribed to the Google Groups "BioTapestry-users" group.
To post to this group, send email to biotapes...@googlegroups.com.
To unsubscribe from this group, send email to biotapestry-users+unsub...@googlegroups.com.

zuo

unread,
Oct 4, 2011, 10:59:21 AM10/4/11
to biotapes...@googlegroups.com
Hi Bill,

ImageGeneratorApplication.BTP_PRE_INPUT_CSV_PRUNED does not help me this time. I tried 2 ways to make btp files , one is HEADLESS mode by converting only 'model' and 'region' lines in a CSV file (deleting all nodes and intersections lines ), another one is manually deleting all nodes and intersections in btp Editor and move the 'regions' in order I want, then save as new btp file.   

Feeding ImageGeneratorApplication.BTP_PRE_INPUT_CSV_PRUNED  with either btp and the CSV file could not generate the full btp file with right region order. Actually the 2 full BTP files are 99% same.  

I'll have a look at sortRegions () next. 

Kind Regards

 
jié zuo
--- On Thu, 9/29/11, William Longabaugh <wlong...@systemsbiology.org> wrote:

From: William Longabaugh <wlong...@systemsbiology.org>
Subject: Re: [BioTapestry-users] layout class
To: biotapes...@googlegroups.com
Date: Thursday, September 29, 2011, 8:00 PM

>  jié zuo  Email: po_...@yahoo.com

> Tel: +44 (0)1865 222470
> Fax: +44 (0)1865 222501
>
> -- You received this message because you are subscribed to the Google Groups "BioTapestry-users" group.
> To post to this group, send email to biotapes...@googlegroups.com.
> To unsubscribe from this group, send email to biotapestry-users+unsub...@googlegroups.com.

> For more options, visit this group at http://groups.google.com/group/biotapestry-users?hl=en.

-- You received this message because you are subscribed to the Google Groups "BioTapestry-users" group.
To post to this group, send email to biotapes...@googlegroups.com.
To unsubscribe from this group, send email to biotapestry-users+unsub...@googlegroups.com.

William Longabaugh

unread,
Oct 4, 2011, 2:12:35 PM10/4/11
to biotapes...@googlegroups.com
zuo wrote:
> Hi Bill,
>
> ImageGeneratorApplication.BTP_PRE_INPUT_CSV_PRUNED does not help me this
> time. I tried 2 ways to make btp files , one is HEADLESS mode by
> converting only 'model' and 'region' lines in a CSV file (deleting all
> nodes and intersections lines ), another one is manually deleting all
> nodes and intersections in btp Editor and move the 'regions' in order I
> want, then save as new btp file.

The second method should work, though you should be sure to run
Tools->Drop All Interaction Tables Used to Build Networks
if it was built from a CSV. The .btp file you hand it should be
completely empty except for the model tree and the pre-arranged
regions.

I have attached an example btp and csv file. When run as follows:

$JAVAHOME/bin/java -Xmx512m \
-classpath "$PIPETESTDIR/sBioTapestry-J15-V5.0.2.jar" \
org.systemsbiology.biotapestry.app.ImageGeneratorAppTestWrapper \
test3InB.btp pruneTest2.csv $IMAGEOUTDIR

My test shows what I expect, that the two submodels use the
pre-arranged region order. I'm not sure why your approach is
not working.

-- Bill

>
> Feeding ImageGeneratorApplication.BTP_PRE_INPUT_CSV_PRUNED with either
> btp and the CSV file could not generate the full btp file with right
> region order. Actually the 2 full BTP files are 99% same.
>
> I'll have a look at sortRegions () next.
>
> Kind Regards
>
>

> ji� zuo

test3InB.btp
pruneTest2.csv

zuo

unread,
Oct 4, 2011, 4:07:05 PM10/4/11
to biotapes...@googlegroups.com
many thanks, bill. I'll try again and let you know.


Kind Regards

 
jié zuo 
 
Email: po_...@yahoo.com
Tel: +44 (0)1865 222470
Fax: +44 (0)1865 222501

--- On Tue, 10/4/11, William Longabaugh <wlong...@systemsbiology.org> wrote:

From: William Longabaugh <wlong...@systemsbiology.org>
Subject: Re: [BioTapestry-users] layout class
To: biotapes...@googlegroups.com
>  jié zuo


-----Inline Attachment Follows-----


--
You received this message because you are subscribed to the Google Groups "BioTapestry-users" group.
To post to this group, send email to biotapes...@googlegroups.com.
To unsubscribe from this group, send email to biotapestry-users+unsub...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/biotapestry-users?hl=en.


-----Inline Attachment Follows-----

zuo

unread,
Oct 13, 2011, 4:40:34 AM10/13/11
to biotapes...@googlegroups.com
Hi, 

This method of ImageGeneratorApplication.BTP_PRE_INPUT_CSV_PRUNED works very well to produce 'sorted' btp files, although the original codes requires some modification. many thanks for the help. 

Another question, can the btp file be processed with pure XML tools like dom4j ? I tried dom4j 1.6.1 with full btp files but errors come up, are lines in files like "<gene name ="gata2" id ="0" / >" the problem as without close marker </ gene>?   

thanks .     


Kind Regards

 
jié zuo
 
Email: po_...@yahoo.com
Tel: +44 (0)1865 222470
Fax: +44 (0)1865 222501

--- On Tue, 10/4/11, William Longabaugh <wlong...@systemsbiology.org> wrote:

From: William Longabaugh <wlong...@systemsbiology.org>
Subject: Re: [BioTapestry-users] layout class
To: biotapes...@googlegroups.com
Date: Tuesday, October 4, 2011, 7:12 PM

>  jié zuo

William Longabaugh

unread,
Oct 13, 2011, 7:43:48 AM10/13/11
to biotapes...@googlegroups.com

On Thu, Oct 13, 2011 at 1:40 AM, zuo <po_...@yahoo.com> wrote:

Another question, can the btp file be processed with pure XML tools like dom4j ? I tried dom4j 1.6.1 with full btp files but errors come up, are lines in files like "<gene name ="gata2" id ="0" / >" the problem as without close marker </ gene>?   


Glad it worked.

If the above example is an accurate cut and paste, the problem is
probably the space between the / and the >, i.e. "/ >".  I guess the
XML parser BioTapestry uses is tolerant of that, while dom4j calls
it out.  Ending an element with "/>" (no space) means there is no
need for a separate closing tag.  I'll add that to the bug list.

Thanks,

Bill

zuo

unread,
Oct 13, 2011, 11:25:42 AM10/13/11
to biotapes...@googlegroups.com
Bill, 

apologises. it is my typo,   when I generate btp files, leave a blank between '/'  and '>'.  I test it again, and surely dom4j can handle it. many thanks. 

Kind Regards

 
jié zuo
 
Email: po_...@yahoo.com
Tel: +44 (0)1865 222470
Fax: +44 (0)1865 222501

--- On Thu, 10/13/11, William Longabaugh <William.L...@systemsbiology.org> wrote:

From: William Longabaugh <William.L...@systemsbiology.org>
Subject: Re: [BioTapestry-users] layout class
To: biotapes...@googlegroups.com
--
You received this message because you are subscribed to the Google Groups "BioTapestry-users" group.
To post to this group, send email to biotapes...@googlegroups.com.
To unsubscribe from this group, send email to biotapestry-us...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages