compbio-UofT / medsavant

MedSavant is a search engine for genetic variants
22 stars 9 forks source link

Annotating DB with 6500exome throws Exception #206

Closed ronammar closed 10 years ago

ronammar commented 10 years ago

When annotating my DB sick_kids_genome_clinic with the 6500exome file from annovar (built-in file), getting a createSQLException. Importing 1000g or the knowngene (UCSC gene) annotations is error-free. Seems to occur when 1 annotation DB has already been added and, at a later time, other annotation DBs are appended.

Error:

2013-11-19 15:22:12,342 3481779 [pool-1-thread-19] INFO org.ut.biolab.medsavant.client.project.ProjectWizard - Requesting modification from server 2013-11-19 15:22:59,207 3528644 [AWT-EventQueue-0] ERROR org.ut.biolab.medsavant.client.util.notification.VisibleMedSavantWorker - FAILED java.sql.SQLException: Unsupported data type. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2809) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1811) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1725) at org.ut.biolab.medsavant.server.db.PooledConnection.executeUpdate(PooledConnection.java:336) at org.ut.biolab.medsavant.server.serverapi.ProjectManager.createVariantTable(ProjectManager.java:224) at org.ut.biolab.medsavant.server.serverapi.ProjectManager.createVariantTable(ProjectManager.java:186) at org.ut.biolab.medsavant.server.db.variants.ImportUpdateManager.annotateAndUploadTSVFiles(ImportUpdateManager.java:151) at org.ut.biolab.medsavant.server.db.variants.ImportUpdateManager.doUpdate(ImportUpdateManager.java:114) at org.ut.biolab.medsavant.server.db.variants.VariantManager.updateTable(VariantManager.java:207) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at sun.rmi.transport.Transport$1.run(Transport.java:174) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142) at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178) at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132) at com.sun.proxy.$Proxy13.updateTable(Unknown Source) at org.ut.biolab.medsavant.client.project.ProjectWizard.modifyProject(ProjectWizard.java:753) at org.ut.biolab.medsavant.client.project.ProjectWizard.access$1400(ProjectWizard.java:69) at org.ut.biolab.medsavant.client.project.ProjectWizard$17$1.runInBackground(ProjectWizard.java:539) at org.ut.biolab.medsavant.client.project.ProjectWizard$17$1.runInBackground(ProjectWizard.java:535) at org.ut.biolab.medsavant.client.util.notification.VisibleMedSavantWorker.doInBackground(VisibleMedSavantWorker.java:232) at org.ut.biolab.medsavant.client.util.MedSavantWorker$1.doInBackground(MedSavantWorker.java:67) at javax.swing.SwingWorker$1.call(SwingWorker.java:277) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at javax.swing.SwingWorker.run(SwingWorker.java:316) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:695)

mfiume commented 10 years ago

Further diagnosed the issue to be the coumn_type for the annotation format.

The given value was decimal(18, 20) but Infobright doesn't support values higher than 18. Changing to decimal(18, 4) worked.

We should limit values to 18 on both ends.