Update of /cvsroot/gmod/apollo/src/java/apollo/dataadapter/chado/jdbc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24715/src/java/apollo/dataadapter/chado/jdbc Modified Files: ChadoInstance.java FlybaseChadoInstance.java JdbcChadoAdapter.java RiceChadoInstance.java TigrSybilChadoInstance.java Log Message: added ability to configure gene prediction programs from chado-adapter.xml: <chadoInstance id="riceInstance" default="true"> <genePredictionPrograms> <program>FgenesH</program> </genePredictionPrograms> can add more than one program. Scott is configuring up a a new chado database so this ability is pretty important so ya he doesnt have to write java code. need to do the same with alignment programs - but im out of time - when i get back. im sure their will be more that needs to come out in the config file out of the Chado instances. Index: ChadoInstance.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/chado/jdbc/ChadoInstance.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ChadoInstance.java 9 Feb 2005 22:55:05 -0000 1.10 --- ChadoInstance.java 19 Feb 2005 00:42:29 -0000 1.11 *************** *** 114,116 **** --- 114,119 ---- */ public void setThreeLevelFeatures(List features); + + public void setPredictionPrograms(String[] predictionPrograms); + public String[] getPredictionPrograms(); } Index: FlybaseChadoInstance.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/chado/jdbc/FlybaseChadoInstance.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** FlybaseChadoInstance.java 9 Feb 2005 22:55:05 -0000 1.28 --- FlybaseChadoInstance.java 19 Feb 2005 00:42:29 -0000 1.29 *************** *** 16,19 **** --- 16,22 ---- import apollo.datamodel.Transcript; + /** we need an AbstractChadoInstance super class for generic stuff, like + gene prediction programs. */ + public class FlybaseChadoInstance implements ChadoInstance { *************** *** 21,24 **** --- 24,28 ---- private List oneLevelFeatures; private List threeLevelFeatures; + private String[] predictionPrograms; public FlybaseChadoInstance() { *************** *** 348,352 **** } ! protected String[] getPredictionPrograms() { return new String[] {"genscan","piecegenie"}; } --- 352,362 ---- } ! public void setPredictionPrograms(String[] predictionPrograms) { ! this.predictionPrograms = predictionPrograms; ! } ! ! public String[] getPredictionPrograms() { ! if (predictionPrograms != null) ! return predictionPrograms; return new String[] {"genscan","piecegenie"}; } *************** *** 390,394 **** threeLevelFeatures = new ArrayList(features); } ! private void debugPrintTime() { JdbcChadoAdapter.debugPrintTime(); } } --- 400,404 ---- threeLevelFeatures = new ArrayList(features); } ! private void debugPrintTime() { JdbcChadoAdapter.debugPrintTime(); } } Index: JdbcChadoAdapter.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/chado/jdbc/JdbcChadoAdapter.java,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** JdbcChadoAdapter.java 18 Feb 2005 21:34:07 -0000 1.79 --- JdbcChadoAdapter.java 19 Feb 2005 00:42:29 -0000 1.80 *************** *** 1697,1700 **** --- 1697,1705 ---- // "in(...)" clause of anlaysis ids - postgres7.3 speeds up by a factor of 2 if // i take analysis out of the join - 7.3 is lame lame lame + + debugPrint("Querying programs for gene prediction: "); + for (int i=0;i<programStr.length;i++) + debugPrint(programStr[i]+"\n"); + String analysisWhereClause = getAnalysisTable().getAnalysisIdWhereClause(programStr); *************** *** 1821,1824 **** --- 1826,1830 ---- // presently only need id,prog and source - add more as needed String sql = "SELECT analysis_id, program, sourcename FROM analysis "; + debugMsgAndTime(sql); try { if (programToAnalysisRow == null) *************** *** 1861,1867 **** String inAnalysisWhereClause = "in ("; for (int i=0; i<programs.length; i++) { if (i > 0) // if not first row, put in comma before id inAnalysisWhereClause += ","; - int analysis_id = getId(programs[i]); inAnalysisWhereClause += analysis_id; } --- 1867,1878 ---- String inAnalysisWhereClause = "in ("; for (int i=0; i<programs.length; i++) { + int analysis_id = getId(programs[i]); + if (analysis_id == -1) { + // throw exception??? + System.out.println("Analysis program "+programs[i]+" not found in analysis"+ + " table. Please update conf/chado-adapter.xml"); + } if (i > 0) // if not first row, put in comma before id inAnalysisWhereClause += ","; inAnalysisWhereClause += analysis_id; } Index: RiceChadoInstance.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/chado/jdbc/RiceChadoInstance.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** RiceChadoInstance.java 9 Feb 2005 22:55:05 -0000 1.5 --- RiceChadoInstance.java 19 Feb 2005 00:42:30 -0000 1.6 *************** *** 50,55 **** /** These should come from config - chado-adapter.xml */ ! protected String[] getPredictionPrograms() { ! return new String[]{"FgenesH"}; } --- 50,58 ---- /** These should come from config - chado-adapter.xml */ ! public String[] getPredictionPrograms() { ! if (super.getPredictionPrograms() != null) ! return super.getPredictionPrograms(); ! //return new String[]{"FgenesH"}; ! return null; } Index: TigrSybilChadoInstance.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/chado/jdbc/TigrSybilChadoInstance.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** TigrSybilChadoInstance.java 9 Feb 2005 22:55:05 -0000 1.16 --- TigrSybilChadoInstance.java 19 Feb 2005 00:42:30 -0000 1.17 *************** *** 272,274 **** --- 272,279 ---- throw new UnsupportedOperationException("TigrSybilChadoInstance.setThreeLevelFeatures(): Not supported."); } + + // need abstract super class! + private String[] predictionProgs; + public String[] getPredictionPrograms() { return predictionProgs; } + public void setPredictionPrograms(String[] progs) { this.predictionProgs = progs; } } |