alexanderpico / bridgedb-app Goto Github PK
View Code? Open in Web Editor NEWBridgeDb App for Cytoscape 3
BridgeDb App for Cytoscape 3
I could get GI using Synergizer, but I keep getting a backtrace:
java.lang.NullPointerException
at org.cytoscape.filter.internal.column.ColumnFilter.accepts(ColumnFilter.java:190)
at org.cytoscape.filter.internal.column.ColumnFilter.accepts(ColumnFilter.java:24)
at org.cytoscape.filter.internal.composite.CompositeFilterImpl.accepts(CompositeFilterImpl.java:106)
at org.cytoscape.filter.internal.view.FilterWorker.doWork(FilterWorker.java:62)
at org.cytoscape.filter.internal.view.LazyWorkQueue$1.run(LazyWorkQueue.java:35)
at java.lang.Thread.run(Thread.java:744)
java.lang.NullPointerException
at org.cytoscape.filter.internal.column.ColumnFilter.accepts(ColumnFilter.java:190)
at org.cytoscape.filter.internal.column.ColumnFilter.accepts(ColumnFilter.java:24)
at org.cytoscape.filter.internal.composite.CompositeFilterImpl.accepts(CompositeFilterImpl.java:106)
at org.cytoscape.filter.internal.view.FilterWorker.doWork(FilterWorker.java:62)
at org.cytoscape.filter.internal.view.LazyWorkQueue$1.run(LazyWorkQueue.java:35)
at java.lang.Thread.run(Thread.java:744)
java.lang.NullPointerException
at java.net.URLEncoder.encode(URLEncoder.java:205)
at org.bridgedb.webservice.bridgerest.BridgeRest$UrlBuilder.named(BridgeRest.java:255)
at org.bridgedb.webservice.bridgerest.BridgeRest.mapID(BridgeRest.java:346)
at org.bridgedb.impl.InternalUtils.mapMultiFromSingle(InternalUtils.java:69)
at org.bridgedb.webservice.bridgerest.BridgeRest.mapID(BridgeRest.java:331)
at org.bridgedb.IDMapperStack.mapIDnormal(IDMapperStack.java:294)
at org.bridgedb.IDMapperStack.mapID(IDMapperStack.java:274)
at org.bridgedb.cytoscape.internal.util.IDMapperWrapper.mapID(IDMapperWrapper.java:117)
at org.bridgedb.cytoscape.internal.AttributeBasedIDMappingImpl.map(AttributeBasedIDMappingImpl.java:111)
at org.bridgedb.cytoscape.internal.task.AttributeBasedIDMappingTask.run(AttributeBasedIDMappingTask.java:109)
at org.cytoscape.work.internal.task.JDialogTaskManager$TaskRunnable.innerRun(JDialogTaskManager.java:321)
at org.cytoscape.work.internal.task.JDialogTaskManager$TaskRunnable.run(JDialogTaskManager.java:350)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Task-Thread-21-Factory-0x2c0ea67 ERROR [TaskMonitor.org.bridgedb.cytoscape.internal.task.AttributeBasedIDMappingTask] - No IDs were mapped. Please make sure you seleceted the corrected ID mapping resources and source ID types.
allow user to select to override an existing attribute
load file not responding
Doesn't seem like you're checking for the user canceling an operation. This can be really bad, forcing the user to do a force quit...
The problem is that it
is really the ID mapping step that takes the longest time and I cannot
control the internal workflow of BridgeDb. I am thinking of sending
source IDs in small batch (say 100 IDs per time) so that I can
interrupt every 100 IDs. Or maybe I can start a new thread for
BridgeDb mapping and whenever user cancels I kill the thread. Let me
play with them.
In ID Mapping Resource Config, with BioMart set as the type, the second
drop-down, for Mart/Database, is too wide (presumably because of one really
long entry), so it gets cutoff. See attached.
It would be really helpful if the URLs for the various bridge DB services were alphabetized.
After performing a mapping, a dialog asks if the user would like to perform another mapping. If you select yes, the interface should update the list of Key Attributes to include the one from the previous mapping. Otherwise, the user needs to close and reopen the interface to access this new column.
Consider the following entries:
shared name name GeneID HEKScore JurkatScore protein Name Gene Symbol Gene Synonyms
O15258 O15258 11079 0.0 0.753 RER1_HUMAN Protein RER1 RER1 -
28872818 28872818 0.989 0.967 NP_057857 NefFull_HIV-1 - -
NEF NEF
The first row is a Uniprot ID, the second is a GI number, and the third is just a label. So I figured for illustrative purposes (since I can't map from GI to Uniprot) I would map from Uniprot to a new gene symbol column. If I use the web service (http://webservice.bridgedb.org/Human/attributes/S/O15258?attributeName=Symbol), I get:
Description Protein RER1
Synonyms O95322
Symbol RER1_HUMAN
Type Uniprot/SWISSPROT
OK, good. If I use the BridgeDB app, it tells me that no IDs were mapped. I also see lots of errors in the console:
org.bridgedb.IDMapperException: java.io.IOException: HTTP response: 404 - The server has not found anything matching the request URI
at org.bridgedb.webservice.bridgerest.BridgeRest.getAttributes(BridgeRest.java:466)
at org.bridgedb.IDMapperStack.getAttributes(IDMapperStack.java:338)
at org.bridgedb.cytoscape.internal.util.IDMapperWrapper.mapID(IDMapperWrapper.java:155)
at org.bridgedb.cytoscape.internal.AttributeBasedIDMappingImpl.map(AttributeBasedIDMappingImpl.java:111)
at org.bridgedb.cytoscape.internal.task.AttributeBasedIDMappingTask.run(AttributeBasedIDMappingTask.java:109)
at org.cytoscape.work.internal.task.JDialogTaskManager$TaskRunnable.innerRun(JDialogTaskManager.java:321)
at org.cytoscape.work.internal.task.JDialogTaskManager$TaskRunnable.run(JDialogTaskManager.java:350)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.io.IOException: HTTP response: 404 - The server has not found anything matching the request URI
at org.bridgedb.webservice.bridgerest.BridgeRest$UrlBuilder.openReader(BridgeRest.java:273)
at org.bridgedb.webservice.bridgerest.BridgeRest$UrlBuilder.access$200(BridgeRest.java:197)
at org.bridgedb.webservice.bridgerest.BridgeRest.getAttributes(BridgeRest.java:454)
... 11 more
I assume that a lot of those are because of the non-matchable attributes (label and GI#), but it looks to me like every entry is getting that error. Any ideas?
Bad parameters in the dialog leads to a case that an exception is thrown for every node in the network.
org.bridgedb.IDMapperException: java.io.IOException: HTTP response: 404 - The server has not found anything matching the request URI
at org.bridgedb.webservice.bridgerest.BridgeRest$RestCapabilities.isMappingSupported(BridgeRest.java:181)
at org.bridgedb.cytoscape.internal.IDMapperClientManager$2.run(IDMapperClientManager.java:627)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: HTTP response: 404 - The server has not found anything matching the request URI
at org.bridgedb.webservice.bridgerest.BridgeRest$UrlBuilder.openReader(BridgeRest.java:273)
at org.bridgedb.webservice.bridgerest.BridgeRest$UrlBuilder.access$200(BridgeRest.java:197)
at org.bridgedb.webservice.bridgerest.BridgeRest$RestCapabilities.isMappingSupported(BridgeRest.java:172)
to solve the problem when there is no current network.
Reported from a user:
I just recently started to work with cytoscape and realized that BridgeDB eases my work a lot!
However, what puzzled me was the fact that quite a lot of IDs in my network could not be matched properly.
The BioGRID networks I am using use the gene/protein symbol as identifiers, however, all my files are based on EnsemblIDs.
So I now compared the matched IDs from BridgeDB (symbol->Ensembl) with a matched list from ensembl/biomart.
Apparently, there were quite a lot of IDs that could not be matched by BridgeDB (~250 out of 8000). Even worse, unfortunately, a lot of IDs were matched wrongly.
I figured out that in almost all cases were the IDs were matched incorrectly, the matched EnsemblID actually refers to another gene with almost similar symbols.
I.e. "Abp1" was matched to the Enseml of "Napb1",
"Cno" to the one of "Cnot11",
"Rod" to Neurod1" and so on.
All of them are no synonyms to each other, so I suppose it might be an error in the actual matchin procedure or the bridgedb database itself.
Is this already known?
Now a have tring to fix a bug about select a mapping database file from loacl file system .
This method is a ActionEvent handle method to process the select button click event
This is the code :
/**
* handle the click action of select button <br>
* 2013-9-23:下午1:27:17<br>
* <br>
*
* @param evt event handle
*/
private void pgdbButtonActionPerformed(ActionEvent evt) {// GEN-FIRST:event_pgdbButtonActionPerformed
// In CyToscape 3.x FileUtil is a Interface with non of implementation class
// Reading the CyToscape 3.x javaDocs, I have found some docs about this interface
// the link is : http://chianti.ucsd.edu/cytoscape-3.0.1/API/org/cytoscape/util/swing/FileUtil.html
// Now I have 2 questions:
// 0.Do we have to use FileUtil interface to load a file, and where is the impl class or maybe some example
// 1.Could we use another way to handle this problem
// using the util provide by CyToscape to load a file from file system
File source = FileUtil.getFile(
"Select a BridgeDb file", // friendly information
FileUtil.LOAD, // load strategy
new CyFileFilter[] {
new CyFileFilter( // file filter, just allow bridge file and pgdb file
new String[] { "bridge", "pgdb" }, "BridgeDb Derby file") });
//check if there has null arguments
if (source == null) {
return;
}
// this is the impl of CyFileFilter in CyToscape 3.x
// CyFileFilter fileFilter = new BasicCyFileFilter(extensions, contentTypes, description, category, streamUtil);
// CyFileFilter fileFilter = new BasicCyFileFilter(extensions, contentTypes, description, category, streamUtil);
pgdbTextField.setText(source.getPath());
}// GEN-LAST:event_pgdbButtonActionPerformed
Also in the ID Mapping Resource Config, in the Base URL drop-down for
BridegDb services, there's webservice.bridgedb.org/null listed multiple
times. Maybe this is a problem with bridgedb, but it might be a good idea to
check before adding urls to the list.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.