xmlpipedb-developer Mailing List for XMLPipeDB (Page 5)
Brought to you by:
kdahlquist,
zugzugglug
You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(16) |
Sep
|
Oct
(9) |
Nov
(3) |
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(2) |
Feb
(8) |
Mar
|
Apr
(22) |
May
(1) |
Jun
|
Jul
|
Aug
(3) |
Sep
(32) |
Oct
(2) |
Nov
|
Dec
|
2011 |
Jan
|
Feb
(60) |
Mar
(42) |
Apr
(35) |
May
(17) |
Jun
(2) |
Jul
(23) |
Aug
(72) |
Sep
(15) |
Oct
(10) |
Nov
(14) |
Dec
(4) |
2012 |
Jan
(6) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(11) |
Dec
|
2014 |
Jan
(1) |
Feb
(12) |
Mar
(14) |
Apr
(8) |
May
|
Jun
(14) |
Jul
(2) |
Aug
|
Sep
(5) |
Oct
(6) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
(5) |
Mar
(2) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: John D. N. D. <do...@lm...> - 2011-10-15 06:13:51
|
GenMAPP Builder 2.0b65 Release Notes This release of GenMAPP Builder includes a preliminary implementation of multi-species Gene Database exports, as well as user interface changes to the export wizard. This version also updates the Gene Ontology database library to accommodate the latest elements included in GO OBO XML downloads. |
From: Richard B. <rbr...@gm...> - 2011-10-07 14:56:58
|
Thanks for the confirmation and the update. Your change is exactly what I had done so at least we were on the same page. I'll run another export today for review. Richard On Thu, Oct 6, 2011 at 11:11 PM, John David N. Dionisio <do...@lm...>wrote: > Hi Rich, > > I took a look at getSecondPassTableManagers and have concluded that it will > be sufficient to iterate through the species profiles and just keep on > adding the table managers that they return to the overall result. If you > look in ExportToGenMAPP.export, lines 176-179 in the current version, the > returned array of TableManagers is simply sent directly to > TableCoordinator.exportTables, which merely iterates through the > TableManagers and has each do its individual export work. > > This change was sufficiently straightforward that I've gone ahead and made > it, then committed it. Hope you don't mind. So, at this point, I think you > can just do some export/data testing experiments, and we'll see what else > needs to be fixed from there. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > > On Oct 2, 2011, at 8:15 PM, Richard Brous wrote: > > > Will commit my changes to the combined else {} up into Sourceforge in a > few minutes, after this current export completes. I had to up the max log > file size to accommodate all the logging changes for multi-species export > plus tweak some log formatting. > > > > Please take a look at my changes and confirm they make sense to > accomplish the task assigned to that code block. > > > > > > Additionally, as I 'thought' I was near done, I reviewed an exported P_a > and S_a multi-species gdb in MS Access and noticed the following oddities: > > > > 1. OrderedLocusNames: all ids are labeled one species, P_a. > > I expected some to also be labeled S_a. > > > > 2. Systems: OrderedLocusNames only reference one species and provides > only one link. > > I expect we need both species and both http links > > > > 3. Uniprot: All ids reference only one species name: P_a > > I expected some to also reference S_a. > > > > BUT, I'm not surprised there are issues such as the 3 mentioned, I still > need to work on the following methods which are being called during the > export: > > getRelationsTableManager () > > getSystemsTableManager() > > getPrimarySystemTableManager() > > getSecondPassTableManager() - this one has the most impact from my > intermediate hard coding so will prioritize as #1 > > > > Thanks. > > > > Richard > > > > On Sat, Oct 1, 2011 at 5:35 PM, John David N. Dionisio <do...@lm...> > wrote: > > Hi Rich, > > > > OK, sounds good, looks like you can get to a good trial export after > this. > > > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Associate Director, University Honors Program > > Loyola Marymount University > > > > > > On Oct 1, 2011, at 3:36 PM, Richard Brous <rbr...@gm...> wrote: > > > >> Reread my last line and of course was reminded to proof any quickly > typed, edited and rewritten sentences before hitting send lol > >> > >> OLD AND CONFUSING SENTENCE: "But that said I have my head wrapped around > the solution and will go ahead and code it out and complete > getRelationshipTableManager() completely transitioned." > >> > >> NEW IMPROVED SENTENCE: "But that said, I have my head wrapped around the > solution and will go ahead and complete the changes to > getRelationshipTableManager(). These last changes will complete the > transition from single species to a multiple species aware method." > >> > >> rb > >> > >> On Sat, Oct 1, 2011 at 3:29 PM, Richard Brous <rbr...@gm...> > wrote: > >> Wow thanks for the detailed reply and anticipating questions that might > follow! > >> > >> Glad my understanding of what was going on was solid even though my > nested "else if for" code didn't actually make semantic sense. I realized it > was doing as you described but wanted to keep it in that form as a vehicle > to clearly relay my thinking. And since my maturity to object looping, I > wasn't sure if there was a slick way to fool the if else loop into thinking > the inner for loop was boolean. > >> > >> That leads to the transition of somehow combining the my "else if for" > conditional and the existing else code into a combined else: > >> > >> I didn't believe I had the option of dumping the existing else block > since it was doing something already (which also may be referenced by other > code) but I should have thought about combining them in the else block. I'm > sitting here thinking: Duh, it should have occurred to me. =/ > >> > >> But that said I have my head wrapped around the solution and will go > ahead and code it out and complete getRelationshipTableManager() completely > transitioned. > >> > >> Richard > >> > >> > >> On Sat, Oct 1, 2011 at 1:14 PM, John David N. Dionisio <do...@lm...> > wrote: > >> Hi Rich, > >> > >> First, let's phrase out in English what gets done here overall. Then, > still at the conceptual level, I'll talk about what needs to be done. > Finally, we'll look at what needs to change in the code. In that part, we > will also look at why you're getting syntax errors in your current working > version (assuming that what you included is exactly the code that you > currently have). At all points, be conscious of whether what I'm writing > matches your current understanding, or not. If something clears up for you, > then great; if not, let me know what isn't clear. > >> > >> 1. What is being done > >> > >> The method goes through the full list of relationship tables then, > depending on those tables, chooses different algorithms for producing their > data. > >> > >> The if conditions generally categorize these tables --- GeneOntology > relationships are handled one way; UniProt relationships are handled another > way; relationships that use other ID systems are handled yet another way. > The condition on which you're stuck involves relationships involving an ID > system that is *specific* to a particular species profile. In that > situation, the code essentially defers all work to the specific species > profile --- which makes sense, because, as a species-specific ID system, it > is fair to assume that only the species profile knows how to handle its > relationships to other ID systems. > >> > >> 2. What needs to be done, conceptually > >> > >> The change you are performing involves handling multiple species > profiles. In other words, for every species profile that you are exporting, > you need to give each of them an opportunity to handle the export to the > currently chosen relationship table. That involves first checking if the > current relationship table (e.g., "Blattner-GeneID") even applies to the > species profile. If the relationship table does not involve > species-specific ID systems, then that species profile effectively skips > that relationship table. Otherwise, it then builds up the ID pairs to be > exported, via the getSpeciesSpecificRelationshipTable method. > >> > >> 3. What needs to be done, in code > >> > >> So, given this view, let's look at the code: > >> > >> > else if > ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) > || > >> > > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) > && > >> > !stp.systemTable2.equals("GeneOntology")) { > >> > >> > >> Note that, as written, this code checks *only one* species profile, and > that is after all prior cases (GeneOntology, UniProt, two different ones) > have already been checked. Your proposed change now is this: > >> > >> > else if( > >> > for(SpeciesProfile species : selectedSpeciesProfiles) { > >> > > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > >> > > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > >> > !stp.systemTable2.equals("GeneOntology") } > >> > ) { > >> > >> > >> You got the loop here, as described in part 2. You are indeed supposed > to iterate through the selected species profiles, "ask" them if they need to > do any exports with the current relationship table, then have them do so if > they say "yes." > >> > >> Now, as to the problem with the actual code, look at how the process is > phrased in English --- you *iterate first*, and *then* check if the > relationship table matches. The source of your syntax error is that you are > putting the for statement inside the if condition. If you step back for a > moment, you'll see that this does not make semantic sense --- the if > condition expects an expression that evaluates to a boolean value. The > preface to a for statement is *not* such an expression --- in fact, it > doesn't evaluate to anything. That is the heart of your syntax error. > >> > >> So, in reality, this last clause simply has to become a pure "else," > since the condition has to be applied to *every single species profile*. > The for loop can then take place within, and the if check happens *inside > that*, since it has to happen for each selected species profile: > >> > >> else { > >> for (SpeciesProfile species: selectedSpeciesProfiles) { > >> if > ((species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > >> > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > >> !"GeneOntology".equals(stp.systemTable2)) { > >> > >> // Have the species profile do the relationship table export. > >> > >> } > >> } > >> } > >> > >> That's the overall structure. Now, some housecleaning: there is already > a "pure else" clause at the bottom. However, if you look at that code, it > effectively does nothing: it just emits a single record with blanks for its > fields. I think you can safely skip that. Or, if you really do want to > make sure that an inapplicable relationship table does have at least this > dummy record, you can have a boolean in the code given above that indicates > whether or not the relationship table was handled: > >> > >> else { > >> boolean relationshipTableWasHandled = false; > >> /* Same for loop and if statement. */ { > >> // This would be in the case that a species profile does > perform an export. > >> relationshipTableWasHandled = true; > >> } > >> > >> if (!relationshipTableWasHandled) { > >> // Do the single-blank-row export here. > >> } > >> } > >> > >> So, that's the run of it. Hope this walkthrough and breakdown clears up > the issues. > >> > >> John David N. Dionisio, PhD > >> Associate Professor, Computer Science > >> Associate Director, University Honors Program > >> Loyola Marymount University > >> > >> > >> On Oct 1, 2011, at 11:34 AM, Richard Brous wrote: > >> > >> > I'm hung up on the last else if conditional within > getRelationshipTableManager() > >> > > >> > This is the "Species-X or X-Species" conditional, excluding > GeneOntology > >> > > >> > The original single species conditional is: > >> > > >> > else if > ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) > || > >> > > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey( > stp.systemTable2)) && > >> > !stp.systemTable2.equals("GeneOntology")) { > >> > > >> > Now it needs to be multispecies aware obviously so... > >> > > >> > Can I add a for loop within the else if and change the following > tablemanager creation logic , such as: > >> > > >> > else if( > >> > for(SpeciesProfile species : selectedSpeciesProfiles) { > >> > > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > >> > > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > >> > !stp.systemTable2.equals("GeneOntology") } > >> > ) { > >> > > >> > > >> > adding the for loop is wrought with syntax errors, but the real > question is ... am I missing a much simpler solution to solve this? > >> > > >> > Richard > >> > > >> > > >> > On Sun, Sep 25, 2011 at 9:20 PM, Richard Brous <rbr...@gm...> > wrote: > >> > Worked on the code during the past few days and have committed some > changes tonight. > >> > Also successfully exported without error. > >> > > >> > UniProtDatabaseProfile.java > >> > > >> > • clean up of some comments and old code > >> > • cleaned up logging code for getSystemTableManager() > >> > • Worked on getRelationshipTableManager() > >> > • [Uniprot - X conditional] > >> > • rewrote SQL programmatically > >> > • used looping to create correct setStrings > >> > • added logging to surface details > >> > • -[X - X conditional] > >> > • rewrite of programmatic SQL is in progress > (created stringbuilder etc. in preparation) > >> > • added logging > >> > • -[Species - X or X - Species] > >> > • added minimal logging to be expanded upon > >> > DatabaseProfile.java > >> > > >> > • cleaned up comments > >> > • reviewed getRelationsTableManager() and added some logging to > it > >> > ExportToGenMAPP.java > >> > > >> > • cleaned up code and comments for readability > >> > > >> > > >> > > >> > Appreciate any feedback as usual =D > >> > > >> > Richard > >> > > >> > > >> > On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio < > do...@lm...> wrote: > >> > Very cool; looks like we can move on now. Dr. Dahlquist and I suspect > that the relationship tables may not actually be as hard as they seem; just > a matter of tweaking the initial queries (which you're more comfortable > doing now!) so that they return the corresponding records for all of the > requested species. Onward we go :) > >> > > >> > John David N. Dionisio, PhD > >> > Associate Professor, Computer Science > >> > Associate Director, University Honors Program > >> > Loyola Marymount University > >> > > >> > > >> > > >> > On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: > >> > > >> > > Hi, > >> > > > >> > > LMU can accept 20 MB attachments now; I don't know how big your file > is zipped, but that's an option. You could also use LionShare. > >> > > > >> > > Glad to see success! > >> > > > >> > > Kam > >> > > > >> > > At 06:05 PM 9/18/2011, you wrote: > >> > >> Tried to post my latest gdb export to the biodb wiki but receiving > log in error (per separate email) > >> > >> > >> > >> But, I wanted to let you know I verified that each improper system > table does in fact contain the id and species name (samples of each): > >> > >> > >> > >> > >> > >> Pfam > >> > >> ID Species Date > >> > >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> > >> > >> > >> > >> RefSeq > >> > >> ID Species Date > >> > >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> > >> > >> > >> GeneId > >> > >> ID Species Date > >> > >> 879140 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> 879337 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> 881899 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 882312 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> 881520 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> 881596 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> > >> > >> > >> InterPro > >> > >> ID Species Date > >> > >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> > >> > >> > >> PDB > >> > >> ID Species Date > >> > >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 > >> > >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> > >> > >> > >> EMBL > >> > >> ID Species Date > >> > >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> U07359 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> X54201 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> X99471 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> M21093 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> > >> > >> > >> Richard > >> > >> > >> > >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> > wrote: > >> > >> OK, going to commit my changes to UniProtDatabaseProfile: > getSystemTableManager() > >> > >> > >> > >> Here is some logging info to confirm result.next() within the while > loop is both id and species name: > >> > >> > >> > >> 3070712 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR006314 Species:: > Staphylococcus aureus (strain MRSA252) > >> > >> 3070712 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR013840 Species:: > Staphylococcus aureus (strain MRSA252) > >> > >> 3070728 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR015887 Species:: > Pseudomonas aeruginosa > >> > >> 3070728 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR016148 Species:: > Pseudomonas aeruginosa > >> > >> > >> > >> Richard > >> > >> > >> > >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> > wrote: > >> > >> Solid progress made and I now have a compilable working copy. > >> > >> > >> > >> I'm now working through how to plug the results of the query into > the proper slots under the while loop. I had stumbled on an error where I > was supplying the column name instead of the actual data from the tuple. > Solved that and am hoping the current export will be the last before I > commit to sourceforge. > >> > >> > >> > >> Richard > >> > >> > >> > >> > >> > >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous < > rbr...@gm...> wrote: > >> > >> Spent the weekend reviewing sql and I have achieved some clarity. > >> > >> > >> > >> I'm still working through things but not at least I have better > context and can ask intelligent questions. > >> > >> > >> > >> The sub query was a big help, I'm not sure how long it would have > taken me to do all the joins using ON to return "hjid | species name" > >> > >> > >> > >> Dondi - I'll stop by after theory tomorrow to discuss further. > >> > >> > >> > >> Thanks. > >> > >> > >> > >> Richard > >> > >> > >> > >> > >> > >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio < > do...@lm...> wrote: > >> > >> Hi Rich, > >> > >> > >> > >> As discussed in our meeting, here is a first step toward the new > system table query: > >> > >> > >> > >> SELECT entrytype.hjid, organismnametype.value FROM entrytype > INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner > join organismnametype on (organismtype.hjid = > organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype > ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE > dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); > >> > >> > >> > >> (substitute the "id = " clause accordingly) > >> > >> > >> > >> John David N. Dionisio, PhD > >> > >> Associate Professor, Computer Science > >> > >> Associate Director, University Honors Program > >> > >> Loyola Marymount University > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ > >> > >> Why Cloud-Based Security and Archiving Make Sense > >> > >> Osterman Research conducted this study that outlines how and why > cloud > >> > >> computing security and archiving is rapidly being adopted across > the IT > >> > >> space for its ease of implementation, lower cost, and increased > >> > >> reliability. Learn more. > http://www.accelacomm.com/jaw/sfnl/114/51425301/ > >> > >> _______________________________________________ > >> > >> xmlpipedb-developer mailing list > >> > >> xml...@li... > >> > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > > <ATT00001..txt><ATT00002..txt> > >> > > >> > > >> > > ------------------------------------------------------------------------------ > >> > All the data continuously generated in your IT infrastructure contains > a > >> > definitive record of customers, application performance, security > >> > threats, fraudulent activity and more. Splunk takes this data and > makes > >> > sense of it. Business sense. IT sense. Common sense. > >> > http://p.sf.net/sfu/splunk-d2dcopy1 > >> > _______________________________________________ > >> > xmlpipedb-developer mailing list > >> > xml...@li... > >> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >> > > >> > > >> > <ATT00001..txt><ATT00002..txt> > >> > >> > >> > ------------------------------------------------------------------------------ > >> All of the data generated in your IT infrastructure is seriously > valuable. > >> Why? It contains a definitive record of application performance, > security > >> threats, fraudulent activity, and more. Splunk takes this data and makes > >> sense of it. IT sense. And common sense. > >> http://p.sf.net/sfu/splunk-d2dcopy2 > >> _______________________________________________ > >> xmlpipedb-developer mailing list > >> xml...@li... > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >> > >> > >> > ------------------------------------------------------------------------------ > >> All of the data generated in your IT infrastructure is seriously > valuable. > >> Why? It contains a definitive record of application performance, > security > >> threats, fraudulent activity, and more. Splunk takes this data and makes > >> sense of it. IT sense. And common sense. > >> http://p.sf.net/sfu/splunk-d2dcopy2 > >> _______________________________________________ > >> xmlpipedb-developer mailing list > >> xml...@li... > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > ------------------------------------------------------------------------------ > > All of the data generated in your IT infrastructure is seriously > valuable. > > Why? It contains a definitive record of application performance, security > > threats, fraudulent activity, and more. Splunk takes this data and makes > > sense of it. IT sense. And common sense. > > http://p.sf.net/sfu/splunk-d2dcopy2 > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > <ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2dcopy2 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-10-07 06:11:45
|
Hi Rich, I took a look at getSecondPassTableManagers and have concluded that it will be sufficient to iterate through the species profiles and just keep on adding the table managers that they return to the overall result. If you look in ExportToGenMAPP.export, lines 176-179 in the current version, the returned array of TableManagers is simply sent directly to TableCoordinator.exportTables, which merely iterates through the TableManagers and has each do its individual export work. This change was sufficiently straightforward that I've gone ahead and made it, then committed it. Hope you don't mind. So, at this point, I think you can just do some export/data testing experiments, and we'll see what else needs to be fixed from there. John David N. Dionisio, PhD Associate Professor, Computer Science Associate Director, University Honors Program Loyola Marymount University On Oct 2, 2011, at 8:15 PM, Richard Brous wrote: > Will commit my changes to the combined else {} up into Sourceforge in a few minutes, after this current export completes. I had to up the max log file size to accommodate all the logging changes for multi-species export plus tweak some log formatting. > > Please take a look at my changes and confirm they make sense to accomplish the task assigned to that code block. > > > Additionally, as I 'thought' I was near done, I reviewed an exported P_a and S_a multi-species gdb in MS Access and noticed the following oddities: > > 1. OrderedLocusNames: all ids are labeled one species, P_a. > I expected some to also be labeled S_a. > > 2. Systems: OrderedLocusNames only reference one species and provides only one link. > I expect we need both species and both http links > > 3. Uniprot: All ids reference only one species name: P_a > I expected some to also reference S_a. > > BUT, I'm not surprised there are issues such as the 3 mentioned, I still need to work on the following methods which are being called during the export: > getRelationsTableManager () > getSystemsTableManager() > getPrimarySystemTableManager() > getSecondPassTableManager() - this one has the most impact from my intermediate hard coding so will prioritize as #1 > > Thanks. > > Richard > > On Sat, Oct 1, 2011 at 5:35 PM, John David N. Dionisio <do...@lm...> wrote: > Hi Rich, > > OK, sounds good, looks like you can get to a good trial export after this. > > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > On Oct 1, 2011, at 3:36 PM, Richard Brous <rbr...@gm...> wrote: > >> Reread my last line and of course was reminded to proof any quickly typed, edited and rewritten sentences before hitting send lol >> >> OLD AND CONFUSING SENTENCE: "But that said I have my head wrapped around the solution and will go ahead and code it out and complete getRelationshipTableManager() completely transitioned." >> >> NEW IMPROVED SENTENCE: "But that said, I have my head wrapped around the solution and will go ahead and complete the changes to getRelationshipTableManager(). These last changes will complete the transition from single species to a multiple species aware method." >> >> rb >> >> On Sat, Oct 1, 2011 at 3:29 PM, Richard Brous <rbr...@gm...> wrote: >> Wow thanks for the detailed reply and anticipating questions that might follow! >> >> Glad my understanding of what was going on was solid even though my nested "else if for" code didn't actually make semantic sense. I realized it was doing as you described but wanted to keep it in that form as a vehicle to clearly relay my thinking. And since my maturity to object looping, I wasn't sure if there was a slick way to fool the if else loop into thinking the inner for loop was boolean. >> >> That leads to the transition of somehow combining the my "else if for" conditional and the existing else code into a combined else: >> >> I didn't believe I had the option of dumping the existing else block since it was doing something already (which also may be referenced by other code) but I should have thought about combining them in the else block. I'm sitting here thinking: Duh, it should have occurred to me. =/ >> >> But that said I have my head wrapped around the solution and will go ahead and code it out and complete getRelationshipTableManager() completely transitioned. >> >> Richard >> >> >> On Sat, Oct 1, 2011 at 1:14 PM, John David N. Dionisio <do...@lm...> wrote: >> Hi Rich, >> >> First, let's phrase out in English what gets done here overall. Then, still at the conceptual level, I'll talk about what needs to be done. Finally, we'll look at what needs to change in the code. In that part, we will also look at why you're getting syntax errors in your current working version (assuming that what you included is exactly the code that you currently have). At all points, be conscious of whether what I'm writing matches your current understanding, or not. If something clears up for you, then great; if not, let me know what isn't clear. >> >> 1. What is being done >> >> The method goes through the full list of relationship tables then, depending on those tables, chooses different algorithms for producing their data. >> >> The if conditions generally categorize these tables --- GeneOntology relationships are handled one way; UniProt relationships are handled another way; relationships that use other ID systems are handled yet another way. The condition on which you're stuck involves relationships involving an ID system that is *specific* to a particular species profile. In that situation, the code essentially defers all work to the specific species profile --- which makes sense, because, as a species-specific ID system, it is fair to assume that only the species profile knows how to handle its relationships to other ID systems. >> >> 2. What needs to be done, conceptually >> >> The change you are performing involves handling multiple species profiles. In other words, for every species profile that you are exporting, you need to give each of them an opportunity to handle the export to the currently chosen relationship table. That involves first checking if the current relationship table (e.g., "Blattner-GeneID") even applies to the species profile. If the relationship table does not involve species-specific ID systems, then that species profile effectively skips that relationship table. Otherwise, it then builds up the ID pairs to be exported, via the getSpeciesSpecificRelationshipTable method. >> >> 3. What needs to be done, in code >> >> So, given this view, let's look at the code: >> >> > else if ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology")) { >> >> >> Note that, as written, this code checks *only one* species profile, and that is after all prior cases (GeneOntology, UniProt, two different ones) have already been checked. Your proposed change now is this: >> >> > else if( >> > for(SpeciesProfile species : selectedSpeciesProfiles) { >> > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology") } >> > ) { >> >> >> You got the loop here, as described in part 2. You are indeed supposed to iterate through the selected species profiles, "ask" them if they need to do any exports with the current relationship table, then have them do so if they say "yes." >> >> Now, as to the problem with the actual code, look at how the process is phrased in English --- you *iterate first*, and *then* check if the relationship table matches. The source of your syntax error is that you are putting the for statement inside the if condition. If you step back for a moment, you'll see that this does not make semantic sense --- the if condition expects an expression that evaluates to a boolean value. The preface to a for statement is *not* such an expression --- in fact, it doesn't evaluate to anything. That is the heart of your syntax error. >> >> So, in reality, this last clause simply has to become a pure "else," since the condition has to be applied to *every single species profile*. The for loop can then take place within, and the if check happens *inside that*, since it has to happen for each selected species profile: >> >> else { >> for (SpeciesProfile species: selectedSpeciesProfiles) { >> if ((species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> !"GeneOntology".equals(stp.systemTable2)) { >> >> // Have the species profile do the relationship table export. >> >> } >> } >> } >> >> That's the overall structure. Now, some housecleaning: there is already a "pure else" clause at the bottom. However, if you look at that code, it effectively does nothing: it just emits a single record with blanks for its fields. I think you can safely skip that. Or, if you really do want to make sure that an inapplicable relationship table does have at least this dummy record, you can have a boolean in the code given above that indicates whether or not the relationship table was handled: >> >> else { >> boolean relationshipTableWasHandled = false; >> /* Same for loop and if statement. */ { >> // This would be in the case that a species profile does perform an export. >> relationshipTableWasHandled = true; >> } >> >> if (!relationshipTableWasHandled) { >> // Do the single-blank-row export here. >> } >> } >> >> So, that's the run of it. Hope this walkthrough and breakdown clears up the issues. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Associate Director, University Honors Program >> Loyola Marymount University >> >> >> On Oct 1, 2011, at 11:34 AM, Richard Brous wrote: >> >> > I'm hung up on the last else if conditional within getRelationshipTableManager() >> > >> > This is the "Species-X or X-Species" conditional, excluding GeneOntology >> > >> > The original single species conditional is: >> > >> > else if ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey( stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology")) { >> > >> > Now it needs to be multispecies aware obviously so... >> > >> > Can I add a for loop within the else if and change the following tablemanager creation logic , such as: >> > >> > else if( >> > for(SpeciesProfile species : selectedSpeciesProfiles) { >> > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology") } >> > ) { >> > >> > >> > adding the for loop is wrought with syntax errors, but the real question is ... am I missing a much simpler solution to solve this? >> > >> > Richard >> > >> > >> > On Sun, Sep 25, 2011 at 9:20 PM, Richard Brous <rbr...@gm...> wrote: >> > Worked on the code during the past few days and have committed some changes tonight. >> > Also successfully exported without error. >> > >> > UniProtDatabaseProfile.java >> > >> > • clean up of some comments and old code >> > • cleaned up logging code for getSystemTableManager() >> > • Worked on getRelationshipTableManager() >> > • [Uniprot - X conditional] >> > • rewrote SQL programmatically >> > • used looping to create correct setStrings >> > • added logging to surface details >> > • -[X - X conditional] >> > • rewrite of programmatic SQL is in progress (created stringbuilder etc. in preparation) >> > • added logging >> > • -[Species - X or X - Species] >> > • added minimal logging to be expanded upon >> > DatabaseProfile.java >> > >> > • cleaned up comments >> > • reviewed getRelationsTableManager() and added some logging to it >> > ExportToGenMAPP.java >> > >> > • cleaned up code and comments for readability >> > >> > >> > >> > Appreciate any feedback as usual =D >> > >> > Richard >> > >> > >> > On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio <do...@lm...> wrote: >> > Very cool; looks like we can move on now. Dr. Dahlquist and I suspect that the relationship tables may not actually be as hard as they seem; just a matter of tweaking the initial queries (which you're more comfortable doing now!) so that they return the corresponding records for all of the requested species. Onward we go :) >> > >> > John David N. Dionisio, PhD >> > Associate Professor, Computer Science >> > Associate Director, University Honors Program >> > Loyola Marymount University >> > >> > >> > >> > On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: >> > >> > > Hi, >> > > >> > > LMU can accept 20 MB attachments now; I don't know how big your file is zipped, but that's an option. You could also use LionShare. >> > > >> > > Glad to see success! >> > > >> > > Kam >> > > >> > > At 06:05 PM 9/18/2011, you wrote: >> > >> Tried to post my latest gdb export to the biodb wiki but receiving log in error (per separate email) >> > >> >> > >> But, I wanted to let you know I verified that each improper system table does in fact contain the id and species name (samples of each): >> > >> >> > >> >> > >> Pfam >> > >> ID Species Date >> > >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 >> > >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 >> > >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 >> > >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> >> > >> >> > >> RefSeq >> > >> ID Species Date >> > >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 >> > >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> GeneId >> > >> ID Species Date >> > >> 879140 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 879337 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 881899 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 882312 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 881520 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 881596 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> InterPro >> > >> ID Species Date >> > >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> PDB >> > >> ID Species Date >> > >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 >> > >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> EMBL >> > >> ID Species Date >> > >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 >> > >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 >> > >> U07359 |Pseudomonas aeruginosa| 9/14/2011 >> > >> X54201 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 >> > >> X99471 |Pseudomonas aeruginosa| 9/14/2011 >> > >> M21093 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> Richard >> > >> >> > >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> wrote: >> > >> OK, going to commit my changes to UniProtDatabaseProfile: getSystemTableManager() >> > >> >> > >> Here is some logging info to confirm result.next() within the while loop is both id and species name: >> > >> >> > >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR006314 Species:: Staphylococcus aureus (strain MRSA252) >> > >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR013840 Species:: Staphylococcus aureus (strain MRSA252) >> > >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR015887 Species:: Pseudomonas aeruginosa >> > >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR016148 Species:: Pseudomonas aeruginosa >> > >> >> > >> Richard >> > >> >> > >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> wrote: >> > >> Solid progress made and I now have a compilable working copy. >> > >> >> > >> I'm now working through how to plug the results of the query into the proper slots under the while loop. I had stumbled on an error where I was supplying the column name instead of the actual data from the tuple. Solved that and am hoping the current export will be the last before I commit to sourceforge. >> > >> >> > >> Richard >> > >> >> > >> >> > >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> wrote: >> > >> Spent the weekend reviewing sql and I have achieved some clarity. >> > >> >> > >> I'm still working through things but not at least I have better context and can ask intelligent questions. >> > >> >> > >> The sub query was a big help, I'm not sure how long it would have taken me to do all the joins using ON to return "hjid | species name" >> > >> >> > >> Dondi - I'll stop by after theory tomorrow to discuss further. >> > >> >> > >> Thanks. >> > >> >> > >> Richard >> > >> >> > >> >> > >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...> wrote: >> > >> Hi Rich, >> > >> >> > >> As discussed in our meeting, here is a first step toward the new system table query: >> > >> >> > >> SELECT entrytype.hjid, organismnametype.value FROM entrytype INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner join organismnametype on (organismtype.hjid = organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); >> > >> >> > >> (substitute the "id = " clause accordingly) >> > >> >> > >> John David N. Dionisio, PhD >> > >> Associate Professor, Computer Science >> > >> Associate Director, University Honors Program >> > >> Loyola Marymount University >> > >> >> > >> >> > >> >> > >> >> > >> ------------------------------------------------------------------------------ >> > >> Why Cloud-Based Security and Archiving Make Sense >> > >> Osterman Research conducted this study that outlines how and why cloud >> > >> computing security and archiving is rapidly being adopted across the IT >> > >> space for its ease of implementation, lower cost, and increased >> > >> reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/ >> > >> _______________________________________________ >> > >> xmlpipedb-developer mailing list >> > >> xml...@li... >> > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > > <ATT00001..txt><ATT00002..txt> >> > >> > >> > ------------------------------------------------------------------------------ >> > All the data continuously generated in your IT infrastructure contains a >> > definitive record of customers, application performance, security >> > threats, fraudulent activity and more. Splunk takes this data and makes >> > sense of it. Business sense. IT sense. Common sense. >> > http://p.sf.net/sfu/splunk-d2dcopy1 >> > _______________________________________________ >> > xmlpipedb-developer mailing list >> > xml...@li... >> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > >> > >> > <ATT00001..txt><ATT00002..txt> >> >> >> ------------------------------------------------------------------------------ >> All of the data generated in your IT infrastructure is seriously valuable. >> Why? It contains a definitive record of application performance, security >> threats, fraudulent activity, and more. Splunk takes this data and makes >> sense of it. IT sense. And common sense. >> http://p.sf.net/sfu/splunk-d2dcopy2 >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> >> ------------------------------------------------------------------------------ >> All of the data generated in your IT infrastructure is seriously valuable. >> Why? It contains a definitive record of application performance, security >> threats, fraudulent activity, and more. Splunk takes this data and makes >> sense of it. IT sense. And common sense. >> http://p.sf.net/sfu/splunk-d2dcopy2 >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2dcopy2 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > <ATT00001..txt><ATT00002..txt> |
From: John D. N. D. <do...@lm...> - 2011-10-03 04:26:57
|
Hi Rich, Thanks for the updates. I agree that these are not totally shocking issues; after all, not many of us always get their code totally right the first time around :) A few rounds of debug-and-review won't be out of the question. At least the main coding should be done barring some major unforeseen problem. John David N. Dionisio, PhD Associate Professor, Computer Science Associate Director, University Honors Program Loyola Marymount University On Oct 2, 2011, at 8:15 PM, Richard Brous wrote: > Will commit my changes to the combined else {} up into Sourceforge in a few minutes, after this current export completes. I had to up the max log file size to accommodate all the logging changes for multi-species export plus tweak some log formatting. > > Please take a look at my changes and confirm they make sense to accomplish the task assigned to that code block. > > > Additionally, as I 'thought' I was near done, I reviewed an exported P_a and S_a multi-species gdb in MS Access and noticed the following oddities: > > 1. OrderedLocusNames: all ids are labeled one species, P_a. > I expected some to also be labeled S_a. > > 2. Systems: OrderedLocusNames only reference one species and provides only one link. > I expect we need both species and both http links > > 3. Uniprot: All ids reference only one species name: P_a > I expected some to also reference S_a. > > BUT, I'm not surprised there are issues such as the 3 mentioned, I still need to work on the following methods which are being called during the export: > getRelationsTableManager () > getSystemsTableManager() > getPrimarySystemTableManager() > getSecondPassTableManager() - this one has the most impact from my intermediate hard coding so will prioritize as #1 > > Thanks. > > Richard > > On Sat, Oct 1, 2011 at 5:35 PM, John David N. Dionisio <do...@lm...> wrote: > Hi Rich, > > OK, sounds good, looks like you can get to a good trial export after this. > > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > On Oct 1, 2011, at 3:36 PM, Richard Brous <rbr...@gm...> wrote: > >> Reread my last line and of course was reminded to proof any quickly typed, edited and rewritten sentences before hitting send lol >> >> OLD AND CONFUSING SENTENCE: "But that said I have my head wrapped around the solution and will go ahead and code it out and complete getRelationshipTableManager() completely transitioned." >> >> NEW IMPROVED SENTENCE: "But that said, I have my head wrapped around the solution and will go ahead and complete the changes to getRelationshipTableManager(). These last changes will complete the transition from single species to a multiple species aware method." >> >> rb >> >> On Sat, Oct 1, 2011 at 3:29 PM, Richard Brous <rbr...@gm...> wrote: >> Wow thanks for the detailed reply and anticipating questions that might follow! >> >> Glad my understanding of what was going on was solid even though my nested "else if for" code didn't actually make semantic sense. I realized it was doing as you described but wanted to keep it in that form as a vehicle to clearly relay my thinking. And since my maturity to object looping, I wasn't sure if there was a slick way to fool the if else loop into thinking the inner for loop was boolean. >> >> That leads to the transition of somehow combining the my "else if for" conditional and the existing else code into a combined else: >> >> I didn't believe I had the option of dumping the existing else block since it was doing something already (which also may be referenced by other code) but I should have thought about combining them in the else block. I'm sitting here thinking: Duh, it should have occurred to me. =/ >> >> But that said I have my head wrapped around the solution and will go ahead and code it out and complete getRelationshipTableManager() completely transitioned. >> >> Richard >> >> >> On Sat, Oct 1, 2011 at 1:14 PM, John David N. Dionisio <do...@lm...> wrote: >> Hi Rich, >> >> First, let's phrase out in English what gets done here overall. Then, still at the conceptual level, I'll talk about what needs to be done. Finally, we'll look at what needs to change in the code. In that part, we will also look at why you're getting syntax errors in your current working version (assuming that what you included is exactly the code that you currently have). At all points, be conscious of whether what I'm writing matches your current understanding, or not. If something clears up for you, then great; if not, let me know what isn't clear. >> >> 1. What is being done >> >> The method goes through the full list of relationship tables then, depending on those tables, chooses different algorithms for producing their data. >> >> The if conditions generally categorize these tables --- GeneOntology relationships are handled one way; UniProt relationships are handled another way; relationships that use other ID systems are handled yet another way. The condition on which you're stuck involves relationships involving an ID system that is *specific* to a particular species profile. In that situation, the code essentially defers all work to the specific species profile --- which makes sense, because, as a species-specific ID system, it is fair to assume that only the species profile knows how to handle its relationships to other ID systems. >> >> 2. What needs to be done, conceptually >> >> The change you are performing involves handling multiple species profiles. In other words, for every species profile that you are exporting, you need to give each of them an opportunity to handle the export to the currently chosen relationship table. That involves first checking if the current relationship table (e.g., "Blattner-GeneID") even applies to the species profile. If the relationship table does not involve species-specific ID systems, then that species profile effectively skips that relationship table. Otherwise, it then builds up the ID pairs to be exported, via the getSpeciesSpecificRelationshipTable method. >> >> 3. What needs to be done, in code >> >> So, given this view, let's look at the code: >> >> > else if ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology")) { >> >> >> Note that, as written, this code checks *only one* species profile, and that is after all prior cases (GeneOntology, UniProt, two different ones) have already been checked. Your proposed change now is this: >> >> > else if( >> > for(SpeciesProfile species : selectedSpeciesProfiles) { >> > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology") } >> > ) { >> >> >> You got the loop here, as described in part 2. You are indeed supposed to iterate through the selected species profiles, "ask" them if they need to do any exports with the current relationship table, then have them do so if they say "yes." >> >> Now, as to the problem with the actual code, look at how the process is phrased in English --- you *iterate first*, and *then* check if the relationship table matches. The source of your syntax error is that you are putting the for statement inside the if condition. If you step back for a moment, you'll see that this does not make semantic sense --- the if condition expects an expression that evaluates to a boolean value. The preface to a for statement is *not* such an expression --- in fact, it doesn't evaluate to anything. That is the heart of your syntax error. >> >> So, in reality, this last clause simply has to become a pure "else," since the condition has to be applied to *every single species profile*. The for loop can then take place within, and the if check happens *inside that*, since it has to happen for each selected species profile: >> >> else { >> for (SpeciesProfile species: selectedSpeciesProfiles) { >> if ((species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> !"GeneOntology".equals(stp.systemTable2)) { >> >> // Have the species profile do the relationship table export. >> >> } >> } >> } >> >> That's the overall structure. Now, some housecleaning: there is already a "pure else" clause at the bottom. However, if you look at that code, it effectively does nothing: it just emits a single record with blanks for its fields. I think you can safely skip that. Or, if you really do want to make sure that an inapplicable relationship table does have at least this dummy record, you can have a boolean in the code given above that indicates whether or not the relationship table was handled: >> >> else { >> boolean relationshipTableWasHandled = false; >> /* Same for loop and if statement. */ { >> // This would be in the case that a species profile does perform an export. >> relationshipTableWasHandled = true; >> } >> >> if (!relationshipTableWasHandled) { >> // Do the single-blank-row export here. >> } >> } >> >> So, that's the run of it. Hope this walkthrough and breakdown clears up the issues. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Associate Director, University Honors Program >> Loyola Marymount University >> >> >> On Oct 1, 2011, at 11:34 AM, Richard Brous wrote: >> >> > I'm hung up on the last else if conditional within getRelationshipTableManager() >> > >> > This is the "Species-X or X-Species" conditional, excluding GeneOntology >> > >> > The original single species conditional is: >> > >> > else if ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey( stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology")) { >> > >> > Now it needs to be multispecies aware obviously so... >> > >> > Can I add a for loop within the else if and change the following tablemanager creation logic , such as: >> > >> > else if( >> > for(SpeciesProfile species : selectedSpeciesProfiles) { >> > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology") } >> > ) { >> > >> > >> > adding the for loop is wrought with syntax errors, but the real question is ... am I missing a much simpler solution to solve this? >> > >> > Richard >> > >> > >> > On Sun, Sep 25, 2011 at 9:20 PM, Richard Brous <rbr...@gm...> wrote: >> > Worked on the code during the past few days and have committed some changes tonight. >> > Also successfully exported without error. >> > >> > UniProtDatabaseProfile.java >> > >> > • clean up of some comments and old code >> > • cleaned up logging code for getSystemTableManager() >> > • Worked on getRelationshipTableManager() >> > • [Uniprot - X conditional] >> > • rewrote SQL programmatically >> > • used looping to create correct setStrings >> > • added logging to surface details >> > • -[X - X conditional] >> > • rewrite of programmatic SQL is in progress (created stringbuilder etc. in preparation) >> > • added logging >> > • -[Species - X or X - Species] >> > • added minimal logging to be expanded upon >> > DatabaseProfile.java >> > >> > • cleaned up comments >> > • reviewed getRelationsTableManager() and added some logging to it >> > ExportToGenMAPP.java >> > >> > • cleaned up code and comments for readability >> > >> > >> > >> > Appreciate any feedback as usual =D >> > >> > Richard >> > >> > >> > On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio <do...@lm...> wrote: >> > Very cool; looks like we can move on now. Dr. Dahlquist and I suspect that the relationship tables may not actually be as hard as they seem; just a matter of tweaking the initial queries (which you're more comfortable doing now!) so that they return the corresponding records for all of the requested species. Onward we go :) >> > >> > John David N. Dionisio, PhD >> > Associate Professor, Computer Science >> > Associate Director, University Honors Program >> > Loyola Marymount University >> > >> > >> > >> > On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: >> > >> > > Hi, >> > > >> > > LMU can accept 20 MB attachments now; I don't know how big your file is zipped, but that's an option. You could also use LionShare. >> > > >> > > Glad to see success! >> > > >> > > Kam >> > > >> > > At 06:05 PM 9/18/2011, you wrote: >> > >> Tried to post my latest gdb export to the biodb wiki but receiving log in error (per separate email) >> > >> >> > >> But, I wanted to let you know I verified that each improper system table does in fact contain the id and species name (samples of each): >> > >> >> > >> >> > >> Pfam >> > >> ID Species Date >> > >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 >> > >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 >> > >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 >> > >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> >> > >> >> > >> RefSeq >> > >> ID Species Date >> > >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 >> > >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> GeneId >> > >> ID Species Date >> > >> 879140 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 879337 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 881899 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 882312 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 881520 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 881596 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> InterPro >> > >> ID Species Date >> > >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> PDB >> > >> ID Species Date >> > >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 >> > >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> EMBL >> > >> ID Species Date >> > >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 >> > >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 >> > >> U07359 |Pseudomonas aeruginosa| 9/14/2011 >> > >> X54201 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 >> > >> X99471 |Pseudomonas aeruginosa| 9/14/2011 >> > >> M21093 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> Richard >> > >> >> > >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> wrote: >> > >> OK, going to commit my changes to UniProtDatabaseProfile: getSystemTableManager() >> > >> >> > >> Here is some logging info to confirm result.next() within the while loop is both id and species name: >> > >> >> > >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR006314 Species:: Staphylococcus aureus (strain MRSA252) >> > >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR013840 Species:: Staphylococcus aureus (strain MRSA252) >> > >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR015887 Species:: Pseudomonas aeruginosa >> > >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR016148 Species:: Pseudomonas aeruginosa >> > >> >> > >> Richard >> > >> >> > >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> wrote: >> > >> Solid progress made and I now have a compilable working copy. >> > >> >> > >> I'm now working through how to plug the results of the query into the proper slots under the while loop. I had stumbled on an error where I was supplying the column name instead of the actual data from the tuple. Solved that and am hoping the current export will be the last before I commit to sourceforge. >> > >> >> > >> Richard >> > >> >> > >> >> > >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> wrote: >> > >> Spent the weekend reviewing sql and I have achieved some clarity. >> > >> >> > >> I'm still working through things but not at least I have better context and can ask intelligent questions. >> > >> >> > >> The sub query was a big help, I'm not sure how long it would have taken me to do all the joins using ON to return "hjid | species name" >> > >> >> > >> Dondi - I'll stop by after theory tomorrow to discuss further. >> > >> >> > >> Thanks. >> > >> >> > >> Richard >> > >> >> > >> >> > >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...> wrote: >> > >> Hi Rich, >> > >> >> > >> As discussed in our meeting, here is a first step toward the new system table query: >> > >> >> > >> SELECT entrytype.hjid, organismnametype.value FROM entrytype INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner join organismnametype on (organismtype.hjid = organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); >> > >> >> > >> (substitute the "id = " clause accordingly) >> > >> >> > >> John David N. Dionisio, PhD >> > >> Associate Professor, Computer Science >> > >> Associate Director, University Honors Program >> > >> Loyola Marymount University >> > >> >> > >> >> > >> >> > >> >> > >> ------------------------------------------------------------------------------ >> > >> Why Cloud-Based Security and Archiving Make Sense >> > >> Osterman Research conducted this study that outlines how and why cloud >> > >> computing security and archiving is rapidly being adopted across the IT >> > >> space for its ease of implementation, lower cost, and increased >> > >> reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/ >> > >> _______________________________________________ >> > >> xmlpipedb-developer mailing list >> > >> xml...@li... >> > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > > <ATT00001..txt><ATT00002..txt> >> > >> > >> > ------------------------------------------------------------------------------ >> > All the data continuously generated in your IT infrastructure contains a >> > definitive record of customers, application performance, security >> > threats, fraudulent activity and more. Splunk takes this data and makes >> > sense of it. Business sense. IT sense. Common sense. >> > http://p.sf.net/sfu/splunk-d2dcopy1 >> > _______________________________________________ >> > xmlpipedb-developer mailing list >> > xml...@li... >> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > >> > >> > <ATT00001..txt><ATT00002..txt> >> >> >> ------------------------------------------------------------------------------ >> All of the data generated in your IT infrastructure is seriously valuable. >> Why? It contains a definitive record of application performance, security >> threats, fraudulent activity, and more. Splunk takes this data and makes >> sense of it. IT sense. And common sense. >> http://p.sf.net/sfu/splunk-d2dcopy2 >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> >> ------------------------------------------------------------------------------ >> All of the data generated in your IT infrastructure is seriously valuable. >> Why? It contains a definitive record of application performance, security >> threats, fraudulent activity, and more. Splunk takes this data and makes >> sense of it. IT sense. And common sense. >> http://p.sf.net/sfu/splunk-d2dcopy2 >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2dcopy2 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-10-03 03:15:30
|
Will commit my changes to the combined else {} up into Sourceforge in a few minutes, after this current export completes. I had to up the max log file size to accommodate all the logging changes for multi-species export plus tweak some log formatting. Please take a look at my changes and confirm they make sense to accomplish the task assigned to that code block. Additionally, as I *'thought'* I was near done, I reviewed an exported P_a and S_a multi-species gdb in MS Access and noticed the following oddities: 1. OrderedLocusNames: all ids are labeled one species, P_a. I expected some to also be labeled S_a. 2. Systems: OrderedLocusNames only reference one species and provides only one link. I expect we need both species and both http links 3. Uniprot: All ids reference only one species name: P_a I expected some to also reference S_a. BUT, I'm not surprised there are issues such as the 3 mentioned, I still need to work on the following methods which are being called during the export: getRelationsTableManager () getSystemsTableManager() getPrimarySystemTableManager() getSecondPassTableManager() - this one has the most impact from my intermediate hard coding so will prioritize as #1 Thanks. Richard On Sat, Oct 1, 2011 at 5:35 PM, John David N. Dionisio <do...@lm...>wrote: > Hi Rich, > > OK, sounds good, looks like you can get to a good trial export after this. > > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > On Oct 1, 2011, at 3:36 PM, Richard Brous <rbr...@gm...> wrote: > > Reread my last line and of course was reminded to proof any quickly typed, > edited and rewritten sentences before hitting send lol > > OLD AND CONFUSING SENTENCE: "But that said I have my head wrapped around > the solution and will go ahead and code it out and complete > getRelationshipTableManager() completely transitioned." > > > NEW IMPROVED SENTENCE: "But that said, I have my head wrapped around the > solution and will go ahead and complete the changes to > getRelationshipTableManager(). These last changes will complete the > transition from single species to a multiple species aware method." > > > rb > > On Sat, Oct 1, 2011 at 3:29 PM, Richard Brous < <rbr...@gm...> > rbr...@gm...> wrote: > >> Wow thanks for the detailed reply and anticipating questions that might >> follow! >> >> Glad my understanding of what was going on was solid even though my nested >> "else if for" code didn't actually make semantic sense. I realized it was >> doing as you described but wanted to keep it in that form as a vehicle to >> clearly relay my thinking. And since my maturity to object looping, I wasn't >> sure if there was a slick way to fool the if else loop into thinking the >> inner for loop was boolean. >> >> That leads to the transition of somehow combining the my "else if for" >> conditional and the existing else code into a combined else: >> >> I didn't believe I had the option of dumping the existing else block since >> it was doing something already (which also may be referenced by other code) >> but I should have thought about combining them in the else block. I'm >> sitting here thinking: Duh, it should have occurred to me. =/ >> >> But that said I have my head wrapped around the solution and will go ahead >> and code it out and complete getRelationshipTableManager() completely >> transitioned. >> >> Richard >> >> >> On Sat, Oct 1, 2011 at 1:14 PM, John David N. Dionisio < <do...@lm...> >> do...@lm...> wrote: >> >>> Hi Rich, >>> >>> First, let's phrase out in English what gets done here overall. Then, >>> still at the conceptual level, I'll talk about what needs to be done. >>> Finally, we'll look at what needs to change in the code. In that part, we >>> will also look at why you're getting syntax errors in your current working >>> version (assuming that what you included is exactly the code that you >>> currently have). At all points, be conscious of whether what I'm writing >>> matches your current understanding, or not. If something clears up for you, >>> then great; if not, let me know what isn't clear. >>> >>> 1. What is being done >>> >>> The method goes through the full list of relationship tables then, >>> depending on those tables, chooses different algorithms for producing their >>> data. >>> >>> The if conditions generally categorize these tables --- GeneOntology >>> relationships are handled one way; UniProt relationships are handled another >>> way; relationships that use other ID systems are handled yet another way. >>> The condition on which you're stuck involves relationships involving an ID >>> system that is *specific* to a particular species profile. In that >>> situation, the code essentially defers all work to the specific species >>> profile --- which makes sense, because, as a species-specific ID system, it >>> is fair to assume that only the species profile knows how to handle its >>> relationships to other ID systems. >>> >>> 2. What needs to be done, conceptually >>> >>> The change you are performing involves handling multiple species >>> profiles. In other words, for every species profile that you are exporting, >>> you need to give each of them an opportunity to handle the export to the >>> currently chosen relationship table. That involves first checking if the >>> current relationship table (e.g., "Blattner-GeneID") even applies to the >>> species profile. If the relationship table does not involve >>> species-specific ID systems, then that species profile effectively skips >>> that relationship table. Otherwise, it then builds up the ID pairs to be >>> exported, via the getSpeciesSpecificRelationshipTable method. >>> >>> 3. What needs to be done, in code >>> >>> So, given this view, let's look at the code: >>> >>> > else if >>> ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) >>> || >>> > >>> selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) >>> && >>> > !stp.systemTable2.equals("GeneOntology")) { >>> >>> >>> Note that, as written, this code checks *only one* species profile, and >>> that is after all prior cases (GeneOntology, UniProt, two different ones) >>> have already been checked. Your proposed change now is this: >>> >>> > else if( >>> > for(SpeciesProfile species : selectedSpeciesProfiles) { >>> > >>> (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >>> > >>> species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >>> > !stp.systemTable2.equals("GeneOntology") } >>> > ) { >>> >>> >>> You got the loop here, as described in part 2. You are indeed supposed >>> to iterate through the selected species profiles, "ask" them if they need to >>> do any exports with the current relationship table, then have them do so if >>> they say "yes." >>> >>> Now, as to the problem with the actual code, look at how the process is >>> phrased in English --- you *iterate first*, and *then* check if the >>> relationship table matches. The source of your syntax error is that you are >>> putting the for statement inside the if condition. If you step back for a >>> moment, you'll see that this does not make semantic sense --- the if >>> condition expects an expression that evaluates to a boolean value. The >>> preface to a for statement is *not* such an expression --- in fact, it >>> doesn't evaluate to anything. That is the heart of your syntax error. >>> >>> So, in reality, this last clause simply has to become a pure "else," >>> since the condition has to be applied to *every single species profile*. >>> The for loop can then take place within, and the if check happens *inside >>> that*, since it has to happen for each selected species profile: >>> >>> else { >>> for (SpeciesProfile species: selectedSpeciesProfiles) { >>> if >>> ((species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >>> >>> species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >>> !"GeneOntology".equals(stp.systemTable2)) { >>> >>> // Have the species profile do the relationship table export. >>> >>> } >>> } >>> } >>> >>> That's the overall structure. Now, some housecleaning: there is already >>> a "pure else" clause at the bottom. However, if you look at that code, it >>> effectively does nothing: it just emits a single record with blanks for its >>> fields. I think you can safely skip that. Or, if you really do want to >>> make sure that an inapplicable relationship table does have at least this >>> dummy record, you can have a boolean in the code given above that indicates >>> whether or not the relationship table was handled: >>> >>> else { >>> boolean relationshipTableWasHandled = false; >>> /* Same for loop and if statement. */ { >>> // This would be in the case that a species profile does >>> perform an export. >>> relationshipTableWasHandled = true; >>> } >>> >>> if (!relationshipTableWasHandled) { >>> // Do the single-blank-row export here. >>> } >>> } >>> >>> So, that's the run of it. Hope this walkthrough and breakdown clears up >>> the issues. >>> >>> John David N. Dionisio, PhD >>> Associate Professor, Computer Science >>> Associate Director, University Honors Program >>> Loyola Marymount University >>> >>> >>> On Oct 1, 2011, at 11:34 AM, Richard Brous wrote: >>> >>> > I'm hung up on the last else if conditional within >>> getRelationshipTableManager() >>> > >>> > This is the "Species-X or X-Species" conditional, excluding >>> GeneOntology >>> > >>> > The original single species conditional is: >>> > >>> > else if >>> ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) >>> || >>> > >>> selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey( >>> stp.systemTable2)) && >>> > !stp.systemTable2.equals("GeneOntology")) { >>> > >>> > Now it needs to be multispecies aware obviously so... >>> > >>> > Can I add a for loop within the else if and change the following >>> tablemanager creation logic , such as: >>> > >>> > else if( >>> > for(SpeciesProfile species : selectedSpeciesProfiles) { >>> > >>> (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >>> > >>> species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >>> > !stp.systemTable2.equals("GeneOntology") } >>> > ) { >>> > >>> > >>> > adding the for loop is wrought with syntax errors, but the real >>> question is ... am I missing a much simpler solution to solve this? >>> > >>> > Richard >>> > >>> > >>> > On Sun, Sep 25, 2011 at 9:20 PM, Richard Brous < <rbr...@gm...> >>> rbr...@gm...> wrote: >>> > Worked on the code during the past few days and have committed some >>> changes tonight. >>> > Also successfully exported without error. >>> > >>> > UniProtDatabaseProfile.java >>> > >>> > • clean up of some comments and old code >>> > • cleaned up logging code for getSystemTableManager() >>> > • Worked on getRelationshipTableManager() >>> > • [Uniprot - X conditional] >>> > • rewrote SQL programmatically >>> > • used looping to create correct setStrings >>> > • added logging to surface details >>> > • -[X - X conditional] >>> > • rewrite of programmatic SQL is in progress >>> (created stringbuilder etc. in preparation) >>> > • added logging >>> > • -[Species - X or X - Species] >>> > • added minimal logging to be expanded upon >>> > DatabaseProfile.java >>> > >>> > • cleaned up comments >>> > • reviewed getRelationsTableManager() and added some logging to >>> it >>> > ExportToGenMAPP.java >>> > >>> > • cleaned up code and comments for readability >>> > >>> > >>> > >>> > Appreciate any feedback as usual =D >>> > >>> > Richard >>> > >>> > >>> > On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio <<do...@lm...> >>> do...@lm...> wrote: >>> > Very cool; looks like we can move on now. Dr. Dahlquist and I suspect >>> that the relationship tables may not actually be as hard as they seem; just >>> a matter of tweaking the initial queries (which you're more comfortable >>> doing now!) so that they return the corresponding records for all of the >>> requested species. Onward we go :) >>> > >>> > John David N. Dionisio, PhD >>> > Associate Professor, Computer Science >>> > Associate Director, University Honors Program >>> > Loyola Marymount University >>> > >>> > >>> > >>> > On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: >>> > >>> > > Hi, >>> > > >>> > > LMU can accept 20 MB attachments now; I don't know how big your file >>> is zipped, but that's an option. You could also use LionShare. >>> > > >>> > > Glad to see success! >>> > > >>> > > Kam >>> > > >>> > > At 06:05 PM 9/18/2011, you wrote: >>> > >> Tried to post my latest gdb export to the biodb wiki but receiving >>> log in error (per separate email) >>> > >> >>> > >> But, I wanted to let you know I verified that each improper system >>> table does in fact contain the id and species name (samples of each): >>> > >> >>> > >> >>> > >> Pfam >>> > >> ID Species Date >>> > >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> >>> > >> >>> > >> RefSeq >>> > >> ID Species Date >>> > >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> >>> > >> >>> > >> GeneId >>> > >> ID Species Date >>> > >> 879140 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> 879337 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> 881899 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 882312 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> 881520 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> 881596 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> >>> > >> >>> > >> InterPro >>> > >> ID Species Date >>> > >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> >>> > >> >>> > >> PDB >>> > >> ID Species Date >>> > >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 >>> > >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 >>> > >> >>> > >> >>> > >> EMBL >>> > >> ID Species Date >>> > >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >>> > >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> U07359 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> X54201 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> X99471 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> M21093 |Pseudomonas aeruginosa| 9/14/2011 >>> > >> >>> > >> >>> > >> Richard >>> > >> >>> > >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <<rbr...@gm...> >>> rbr...@gm...> wrote: >>> > >> OK, going to commit my changes to UniProtDatabaseProfile: >>> getSystemTableManager() >>> > >> >>> > >> Here is some logging info to confirm result.next() within the while >>> loop is both id and species name: >>> > >> >>> > >> 3070712 [Thread-4] INFO >>> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >>> - getSystemTableManager(): while loop: ID:: IPR006314 Species:: >>> Staphylococcus aureus (strain MRSA252) >>> > >> 3070712 [Thread-4] INFO >>> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >>> - getSystemTableManager(): while loop: ID:: IPR013840 Species:: >>> Staphylococcus aureus (strain MRSA252) >>> > >> 3070728 [Thread-4] INFO >>> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >>> - getSystemTableManager(): while loop: ID:: IPR015887 Species:: >>> Pseudomonas aeruginosa >>> > >> 3070728 [Thread-4] INFO >>> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >>> - getSystemTableManager(): while loop: ID:: IPR016148 Species:: >>> Pseudomonas aeruginosa >>> > >> >>> > >> Richard >>> > >> >>> > >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <<rbr...@gm...> >>> rbr...@gm...> wrote: >>> > >> Solid progress made and I now have a compilable working copy. >>> > >> >>> > >> I'm now working through how to plug the results of the query into >>> the proper slots under the while loop. I had stumbled on an error where I >>> was supplying the column name instead of the actual data from the tuple. >>> Solved that and am hoping the current export will be the last before I >>> commit to sourceforge. >>> > >> >>> > >> Richard >>> > >> >>> > >> >>> > >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <<rbr...@gm...> >>> rbr...@gm...> wrote: >>> > >> Spent the weekend reviewing sql and I have achieved some clarity. >>> > >> >>> > >> I'm still working through things but not at least I have better >>> context and can ask intelligent questions. >>> > >> >>> > >> The sub query was a big help, I'm not sure how long it would have >>> taken me to do all the joins using ON to return "hjid | species name" >>> > >> >>> > >> Dondi - I'll stop by after theory tomorrow to discuss further. >>> > >> >>> > >> Thanks. >>> > >> >>> > >> Richard >>> > >> >>> > >> >>> > >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <<do...@lm...> >>> do...@lm...> wrote: >>> > >> Hi Rich, >>> > >> >>> > >> As discussed in our meeting, here is a first step toward the new >>> system table query: >>> > >> >>> > >> SELECT entrytype.hjid, organismnametype.value FROM entrytype >>> INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner >>> join organismnametype on (organismtype.hjid = >>> organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype >>> ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE >>> dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); >>> > >> >>> > >> (substitute the "id = " clause accordingly) >>> > >> >>> > >> John David N. Dionisio, PhD >>> > >> Associate Professor, Computer Science >>> > >> Associate Director, University Honors Program >>> > >> Loyola Marymount University >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> ------------------------------------------------------------------------------ >>> > >> Why Cloud-Based Security and Archiving Make Sense >>> > >> Osterman Research conducted this study that outlines how and why >>> cloud >>> > >> computing security and archiving is rapidly being adopted across the >>> IT >>> > >> space for its ease of implementation, lower cost, and increased >>> > >> reliability. Learn more. >>> <http://www.accelacomm.com/jaw/sfnl/114/51425301/> >>> http://www.accelacomm.com/jaw/sfnl/114/51425301/ >>> > >> _______________________________________________ >>> > >> xmlpipedb-developer mailing list >>> > >> <xml...@li...> >>> xml...@li... >>> > >> <https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer> >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > > <ATT00001..txt><ATT00002..txt> >>> > >>> > >>> > >>> ------------------------------------------------------------------------------ >>> > All the data continuously generated in your IT infrastructure contains >>> a >>> > definitive record of customers, application performance, security >>> > threats, fraudulent activity and more. Splunk takes this data and makes >>> > sense of it. Business sense. IT sense. Common sense. >>> > <http://p.sf.net/sfu/splunk-d2dcopy1> >>> http://p.sf.net/sfu/splunk-d2dcopy1 >>> > _______________________________________________ >>> > xmlpipedb-developer mailing list >>> > <xml...@li...> >>> xml...@li... >>> > <https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer> >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>> > >>> > >>> > <ATT00001..txt><ATT00002..txt> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> All of the data generated in your IT infrastructure is seriously >>> valuable. >>> Why? It contains a definitive record of application performance, security >>> threats, fraudulent activity, and more. Splunk takes this data and makes >>> sense of it. IT sense. And common sense. >>> <http://p.sf.net/sfu/splunk-d2dcopy2> >>> http://p.sf.net/sfu/splunk-d2dcopy2 >>> _______________________________________________ >>> xmlpipedb-developer mailing list >>> <xml...@li...> >>> xml...@li... >>> <https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer> >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>> >> >> > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2dcopy2 > > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2dcopy2 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > |
From: John D. N. D. <do...@lm...> - 2011-10-02 00:35:22
|
Hi Rich, OK, sounds good, looks like you can get to a good trial export after this. John David N. Dionisio, PhD Associate Professor, Computer Science Associate Director, University Honors Program Loyola Marymount University On Oct 1, 2011, at 3:36 PM, Richard Brous <rbr...@gm...> wrote: > Reread my last line and of course was reminded to proof any quickly typed, edited and rewritten sentences before hitting send lol > > OLD AND CONFUSING SENTENCE: "But that said I have my head wrapped around the solution and will go ahead and code it out and complete getRelationshipTableManager() completely transitioned." > > NEW IMPROVED SENTENCE: "But that said, I have my head wrapped around the solution and will go ahead and complete the changes to getRelationshipTableManager(). These last changes will complete the transition from single species to a multiple species aware method." > > rb > > On Sat, Oct 1, 2011 at 3:29 PM, Richard Brous <rbr...@gm...> wrote: > Wow thanks for the detailed reply and anticipating questions that might follow! > > Glad my understanding of what was going on was solid even though my nested "else if for" code didn't actually make semantic sense. I realized it was doing as you described but wanted to keep it in that form as a vehicle to clearly relay my thinking. And since my maturity to object looping, I wasn't sure if there was a slick way to fool the if else loop into thinking the inner for loop was boolean. > > That leads to the transition of somehow combining the my "else if for" conditional and the existing else code into a combined else: > > I didn't believe I had the option of dumping the existing else block since it was doing something already (which also may be referenced by other code) but I should have thought about combining them in the else block. I'm sitting here thinking: Duh, it should have occurred to me. =/ > > But that said I have my head wrapped around the solution and will go ahead and code it out and complete getRelationshipTableManager() completely transitioned. > > Richard > > > On Sat, Oct 1, 2011 at 1:14 PM, John David N. Dionisio <do...@lm...> wrote: > Hi Rich, > > First, let's phrase out in English what gets done here overall. Then, still at the conceptual level, I'll talk about what needs to be done. Finally, we'll look at what needs to change in the code. In that part, we will also look at why you're getting syntax errors in your current working version (assuming that what you included is exactly the code that you currently have). At all points, be conscious of whether what I'm writing matches your current understanding, or not. If something clears up for you, then great; if not, let me know what isn't clear. > > 1. What is being done > > The method goes through the full list of relationship tables then, depending on those tables, chooses different algorithms for producing their data. > > The if conditions generally categorize these tables --- GeneOntology relationships are handled one way; UniProt relationships are handled another way; relationships that use other ID systems are handled yet another way. The condition on which you're stuck involves relationships involving an ID system that is *specific* to a particular species profile. In that situation, the code essentially defers all work to the specific species profile --- which makes sense, because, as a species-specific ID system, it is fair to assume that only the species profile knows how to handle its relationships to other ID systems. > > 2. What needs to be done, conceptually > > The change you are performing involves handling multiple species profiles. In other words, for every species profile that you are exporting, you need to give each of them an opportunity to handle the export to the currently chosen relationship table. That involves first checking if the current relationship table (e.g., "Blattner-GeneID") even applies to the species profile. If the relationship table does not involve species-specific ID systems, then that species profile effectively skips that relationship table. Otherwise, it then builds up the ID pairs to be exported, via the getSpeciesSpecificRelationshipTable method. > > 3. What needs to be done, in code > > So, given this view, let's look at the code: > > > else if ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > > !stp.systemTable2.equals("GeneOntology")) { > > > Note that, as written, this code checks *only one* species profile, and that is after all prior cases (GeneOntology, UniProt, two different ones) have already been checked. Your proposed change now is this: > > > else if( > > for(SpeciesProfile species : selectedSpeciesProfiles) { > > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > > !stp.systemTable2.equals("GeneOntology") } > > ) { > > > You got the loop here, as described in part 2. You are indeed supposed to iterate through the selected species profiles, "ask" them if they need to do any exports with the current relationship table, then have them do so if they say "yes." > > Now, as to the problem with the actual code, look at how the process is phrased in English --- you *iterate first*, and *then* check if the relationship table matches. The source of your syntax error is that you are putting the for statement inside the if condition. If you step back for a moment, you'll see that this does not make semantic sense --- the if condition expects an expression that evaluates to a boolean value. The preface to a for statement is *not* such an expression --- in fact, it doesn't evaluate to anything. That is the heart of your syntax error. > > So, in reality, this last clause simply has to become a pure "else," since the condition has to be applied to *every single species profile*. The for loop can then take place within, and the if check happens *inside that*, since it has to happen for each selected species profile: > > else { > for (SpeciesProfile species: selectedSpeciesProfiles) { > if ((species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > !"GeneOntology".equals(stp.systemTable2)) { > > // Have the species profile do the relationship table export. > > } > } > } > > That's the overall structure. Now, some housecleaning: there is already a "pure else" clause at the bottom. However, if you look at that code, it effectively does nothing: it just emits a single record with blanks for its fields. I think you can safely skip that. Or, if you really do want to make sure that an inapplicable relationship table does have at least this dummy record, you can have a boolean in the code given above that indicates whether or not the relationship table was handled: > > else { > boolean relationshipTableWasHandled = false; > /* Same for loop and if statement. */ { > // This would be in the case that a species profile does perform an export. > relationshipTableWasHandled = true; > } > > if (!relationshipTableWasHandled) { > // Do the single-blank-row export here. > } > } > > So, that's the run of it. Hope this walkthrough and breakdown clears up the issues. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > On Oct 1, 2011, at 11:34 AM, Richard Brous wrote: > > > I'm hung up on the last else if conditional within getRelationshipTableManager() > > > > This is the "Species-X or X-Species" conditional, excluding GeneOntology > > > > The original single species conditional is: > > > > else if ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey( stp.systemTable2)) && > > !stp.systemTable2.equals("GeneOntology")) { > > > > Now it needs to be multispecies aware obviously so... > > > > Can I add a for loop within the else if and change the following tablemanager creation logic , such as: > > > > else if( > > for(SpeciesProfile species : selectedSpeciesProfiles) { > > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > > !stp.systemTable2.equals("GeneOntology") } > > ) { > > > > > > adding the for loop is wrought with syntax errors, but the real question is ... am I missing a much simpler solution to solve this? > > > > Richard > > > > > > On Sun, Sep 25, 2011 at 9:20 PM, Richard Brous <rbr...@gm...> wrote: > > Worked on the code during the past few days and have committed some changes tonight. > > Also successfully exported without error. > > > > UniProtDatabaseProfile.java > > > > • clean up of some comments and old code > > • cleaned up logging code for getSystemTableManager() > > • Worked on getRelationshipTableManager() > > • [Uniprot - X conditional] > > • rewrote SQL programmatically > > • used looping to create correct setStrings > > • added logging to surface details > > • -[X - X conditional] > > • rewrite of programmatic SQL is in progress (created stringbuilder etc. in preparation) > > • added logging > > • -[Species - X or X - Species] > > • added minimal logging to be expanded upon > > DatabaseProfile.java > > > > • cleaned up comments > > • reviewed getRelationsTableManager() and added some logging to it > > ExportToGenMAPP.java > > > > • cleaned up code and comments for readability > > > > > > > > Appreciate any feedback as usual =D > > > > Richard > > > > > > On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio <do...@lm...> wrote: > > Very cool; looks like we can move on now. Dr. Dahlquist and I suspect that the relationship tables may not actually be as hard as they seem; just a matter of tweaking the initial queries (which you're more comfortable doing now!) so that they return the corresponding records for all of the requested species. Onward we go :) > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Associate Director, University Honors Program > > Loyola Marymount University > > > > > > > > On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: > > > > > Hi, > > > > > > LMU can accept 20 MB attachments now; I don't know how big your file is zipped, but that's an option. You could also use LionShare. > > > > > > Glad to see success! > > > > > > Kam > > > > > > At 06:05 PM 9/18/2011, you wrote: > > >> Tried to post my latest gdb export to the biodb wiki but receiving log in error (per separate email) > > >> > > >> But, I wanted to let you know I verified that each improper system table does in fact contain the id and species name (samples of each): > > >> > > >> > > >> Pfam > > >> ID Species Date > > >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 > > >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 > > >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 > > >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> > > >> > > >> RefSeq > > >> ID Species Date > > >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 > > >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> GeneId > > >> ID Species Date > > >> 879140 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 879337 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 881899 |Pseudomonas aeruginosa| 9/14/2011 > > >> 882312 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 881520 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 881596 |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> InterPro > > >> ID Species Date > > >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> PDB > > >> ID Species Date > > >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 > > >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 > > >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 > > >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 > > >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 > > >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 > > >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 > > >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 > > >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> EMBL > > >> ID Species Date > > >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 > > >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 > > >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 > > >> U07359 |Pseudomonas aeruginosa| 9/14/2011 > > >> X54201 |Pseudomonas aeruginosa| 9/14/2011 > > >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 > > >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 > > >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 > > >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 > > >> X99471 |Pseudomonas aeruginosa| 9/14/2011 > > >> M21093 |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> Richard > > >> > > >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> wrote: > > >> OK, going to commit my changes to UniProtDatabaseProfile: getSystemTableManager() > > >> > > >> Here is some logging info to confirm result.next() within the while loop is both id and species name: > > >> > > >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR006314 Species:: Staphylococcus aureus (strain MRSA252) > > >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR013840 Species:: Staphylococcus aureus (strain MRSA252) > > >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR015887 Species:: Pseudomonas aeruginosa > > >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR016148 Species:: Pseudomonas aeruginosa > > >> > > >> Richard > > >> > > >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> wrote: > > >> Solid progress made and I now have a compilable working copy. > > >> > > >> I'm now working through how to plug the results of the query into the proper slots under the while loop. I had stumbled on an error where I was supplying the column name instead of the actual data from the tuple. Solved that and am hoping the current export will be the last before I commit to sourceforge. > > >> > > >> Richard > > >> > > >> > > >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> wrote: > > >> Spent the weekend reviewing sql and I have achieved some clarity. > > >> > > >> I'm still working through things but not at least I have better context and can ask intelligent questions. > > >> > > >> The sub query was a big help, I'm not sure how long it would have taken me to do all the joins using ON to return "hjid | species name" > > >> > > >> Dondi - I'll stop by after theory tomorrow to discuss further. > > >> > > >> Thanks. > > >> > > >> Richard > > >> > > >> > > >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...> wrote: > > >> Hi Rich, > > >> > > >> As discussed in our meeting, here is a first step toward the new system table query: > > >> > > >> SELECT entrytype.hjid, organismnametype.value FROM entrytype INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner join organismnametype on (organismtype.hjid = organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); > > >> > > >> (substitute the "id = " clause accordingly) > > >> > > >> John David N. Dionisio, PhD > > >> Associate Professor, Computer Science > > >> Associate Director, University Honors Program > > >> Loyola Marymount University > > >> > > >> > > >> > > >> > > >> ------------------------------------------------------------------------------ > > >> Why Cloud-Based Security and Archiving Make Sense > > >> Osterman Research conducted this study that outlines how and why cloud > > >> computing security and archiving is rapidly being adopted across the IT > > >> space for its ease of implementation, lower cost, and increased > > >> reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/ > > >> _______________________________________________ > > >> xmlpipedb-developer mailing list > > >> xml...@li... > > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >> > > >> > > >> > > >> > > >> > > >> > > > <ATT00001..txt><ATT00002..txt> > > > > > > ------------------------------------------------------------------------------ > > All the data continuously generated in your IT infrastructure contains a > > definitive record of customers, application performance, security > > threats, fraudulent activity and more. Splunk takes this data and makes > > sense of it. Business sense. IT sense. Common sense. > > http://p.sf.net/sfu/splunk-d2dcopy1 > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > <ATT00001..txt><ATT00002..txt> > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2dcopy2 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2dcopy2 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer |
From: Richard B. <rbr...@gm...> - 2011-10-01 22:36:14
|
Reread my last line and of course was reminded to proof any quickly typed, edited and rewritten sentences before hitting send lol OLD AND CONFUSING SENTENCE: "But that said I have my head wrapped around the solution and will go ahead and code it out and complete getRelationshipTableManager() completely transitioned." NEW IMPROVED SENTENCE: "But that said, I have my head wrapped around the solution and will go ahead and complete the changes to getRelationshipTableManager(). These last changes will complete the transition from single species to a multiple species aware method." rb On Sat, Oct 1, 2011 at 3:29 PM, Richard Brous <rbr...@gm...> wrote: > Wow thanks for the detailed reply and anticipating questions that might > follow! > > Glad my understanding of what was going on was solid even though my nested > "else if for" code didn't actually make semantic sense. I realized it was > doing as you described but wanted to keep it in that form as a vehicle to > clearly relay my thinking. And since my maturity to object looping, I wasn't > sure if there was a slick way to fool the if else loop into thinking the > inner for loop was boolean. > > That leads to the transition of somehow combining the my "else if for" > conditional and the existing else code into a combined else: > > I didn't believe I had the option of dumping the existing else block since > it was doing something already (which also may be referenced by other code) > but I should have thought about combining them in the else block. I'm > sitting here thinking: Duh, it should have occurred to me. =/ > > But that said I have my head wrapped around the solution and will go ahead > and code it out and complete getRelationshipTableManager() completely > transitioned. > > Richard > > > On Sat, Oct 1, 2011 at 1:14 PM, John David N. Dionisio <do...@lm...>wrote: > >> Hi Rich, >> >> First, let's phrase out in English what gets done here overall. Then, >> still at the conceptual level, I'll talk about what needs to be done. >> Finally, we'll look at what needs to change in the code. In that part, we >> will also look at why you're getting syntax errors in your current working >> version (assuming that what you included is exactly the code that you >> currently have). At all points, be conscious of whether what I'm writing >> matches your current understanding, or not. If something clears up for you, >> then great; if not, let me know what isn't clear. >> >> 1. What is being done >> >> The method goes through the full list of relationship tables then, >> depending on those tables, chooses different algorithms for producing their >> data. >> >> The if conditions generally categorize these tables --- GeneOntology >> relationships are handled one way; UniProt relationships are handled another >> way; relationships that use other ID systems are handled yet another way. >> The condition on which you're stuck involves relationships involving an ID >> system that is *specific* to a particular species profile. In that >> situation, the code essentially defers all work to the specific species >> profile --- which makes sense, because, as a species-specific ID system, it >> is fair to assume that only the species profile knows how to handle its >> relationships to other ID systems. >> >> 2. What needs to be done, conceptually >> >> The change you are performing involves handling multiple species profiles. >> In other words, for every species profile that you are exporting, you need >> to give each of them an opportunity to handle the export to the currently >> chosen relationship table. That involves first checking if the current >> relationship table (e.g., "Blattner-GeneID") even applies to the species >> profile. If the relationship table does not involve species-specific ID >> systems, then that species profile effectively skips that relationship >> table. Otherwise, it then builds up the ID pairs to be exported, via the >> getSpeciesSpecificRelationshipTable method. >> >> 3. What needs to be done, in code >> >> So, given this view, let's look at the code: >> >> > else if >> ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) >> || >> > >> selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) >> && >> > !stp.systemTable2.equals("GeneOntology")) { >> >> >> Note that, as written, this code checks *only one* species profile, and >> that is after all prior cases (GeneOntology, UniProt, two different ones) >> have already been checked. Your proposed change now is this: >> >> > else if( >> > for(SpeciesProfile species : selectedSpeciesProfiles) { >> > >> (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > >> species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology") } >> > ) { >> >> >> You got the loop here, as described in part 2. You are indeed supposed to >> iterate through the selected species profiles, "ask" them if they need to do >> any exports with the current relationship table, then have them do so if >> they say "yes." >> >> Now, as to the problem with the actual code, look at how the process is >> phrased in English --- you *iterate first*, and *then* check if the >> relationship table matches. The source of your syntax error is that you are >> putting the for statement inside the if condition. If you step back for a >> moment, you'll see that this does not make semantic sense --- the if >> condition expects an expression that evaluates to a boolean value. The >> preface to a for statement is *not* such an expression --- in fact, it >> doesn't evaluate to anything. That is the heart of your syntax error. >> >> So, in reality, this last clause simply has to become a pure "else," since >> the condition has to be applied to *every single species profile*. The for >> loop can then take place within, and the if check happens *inside that*, >> since it has to happen for each selected species profile: >> >> else { >> for (SpeciesProfile species: selectedSpeciesProfiles) { >> if >> ((species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> >> species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> !"GeneOntology".equals(stp.systemTable2)) { >> >> // Have the species profile do the relationship table export. >> >> } >> } >> } >> >> That's the overall structure. Now, some housecleaning: there is already a >> "pure else" clause at the bottom. However, if you look at that code, it >> effectively does nothing: it just emits a single record with blanks for its >> fields. I think you can safely skip that. Or, if you really do want to >> make sure that an inapplicable relationship table does have at least this >> dummy record, you can have a boolean in the code given above that indicates >> whether or not the relationship table was handled: >> >> else { >> boolean relationshipTableWasHandled = false; >> /* Same for loop and if statement. */ { >> // This would be in the case that a species profile does >> perform an export. >> relationshipTableWasHandled = true; >> } >> >> if (!relationshipTableWasHandled) { >> // Do the single-blank-row export here. >> } >> } >> >> So, that's the run of it. Hope this walkthrough and breakdown clears up >> the issues. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Associate Director, University Honors Program >> Loyola Marymount University >> >> >> On Oct 1, 2011, at 11:34 AM, Richard Brous wrote: >> >> > I'm hung up on the last else if conditional within >> getRelationshipTableManager() >> > >> > This is the "Species-X or X-Species" conditional, excluding GeneOntology >> > >> > The original single species conditional is: >> > >> > else if >> ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) >> || >> > >> selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey( >> stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology")) { >> > >> > Now it needs to be multispecies aware obviously so... >> > >> > Can I add a for loop within the else if and change the following >> tablemanager creation logic , such as: >> > >> > else if( >> > for(SpeciesProfile species : selectedSpeciesProfiles) { >> > >> (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || >> > >> species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && >> > !stp.systemTable2.equals("GeneOntology") } >> > ) { >> > >> > >> > adding the for loop is wrought with syntax errors, but the real question >> is ... am I missing a much simpler solution to solve this? >> > >> > Richard >> > >> > >> > On Sun, Sep 25, 2011 at 9:20 PM, Richard Brous <rbr...@gm...> >> wrote: >> > Worked on the code during the past few days and have committed some >> changes tonight. >> > Also successfully exported without error. >> > >> > UniProtDatabaseProfile.java >> > >> > • clean up of some comments and old code >> > • cleaned up logging code for getSystemTableManager() >> > • Worked on getRelationshipTableManager() >> > • [Uniprot - X conditional] >> > • rewrote SQL programmatically >> > • used looping to create correct setStrings >> > • added logging to surface details >> > • -[X - X conditional] >> > • rewrite of programmatic SQL is in progress >> (created stringbuilder etc. in preparation) >> > • added logging >> > • -[Species - X or X - Species] >> > • added minimal logging to be expanded upon >> > DatabaseProfile.java >> > >> > • cleaned up comments >> > • reviewed getRelationsTableManager() and added some logging to it >> > ExportToGenMAPP.java >> > >> > • cleaned up code and comments for readability >> > >> > >> > >> > Appreciate any feedback as usual =D >> > >> > Richard >> > >> > >> > On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio <do...@lm...> >> wrote: >> > Very cool; looks like we can move on now. Dr. Dahlquist and I suspect >> that the relationship tables may not actually be as hard as they seem; just >> a matter of tweaking the initial queries (which you're more comfortable >> doing now!) so that they return the corresponding records for all of the >> requested species. Onward we go :) >> > >> > John David N. Dionisio, PhD >> > Associate Professor, Computer Science >> > Associate Director, University Honors Program >> > Loyola Marymount University >> > >> > >> > >> > On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: >> > >> > > Hi, >> > > >> > > LMU can accept 20 MB attachments now; I don't know how big your file >> is zipped, but that's an option. You could also use LionShare. >> > > >> > > Glad to see success! >> > > >> > > Kam >> > > >> > > At 06:05 PM 9/18/2011, you wrote: >> > >> Tried to post my latest gdb export to the biodb wiki but receiving >> log in error (per separate email) >> > >> >> > >> But, I wanted to let you know I verified that each improper system >> table does in fact contain the id and species name (samples of each): >> > >> >> > >> >> > >> Pfam >> > >> ID Species Date >> > >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 >> > >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 >> > >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 >> > >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> >> > >> >> > >> RefSeq >> > >> ID Species Date >> > >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 >> > >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 >> > >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> GeneId >> > >> ID Species Date >> > >> 879140 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 879337 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 881899 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 882312 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 881520 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 881596 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> InterPro >> > >> ID Species Date >> > >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 >> > >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> PDB >> > >> ID Species Date >> > >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 >> > >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 >> > >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 >> > >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> EMBL >> > >> ID Species Date >> > >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 >> > >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> > >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 >> > >> U07359 |Pseudomonas aeruginosa| 9/14/2011 >> > >> X54201 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 >> > >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 >> > >> X99471 |Pseudomonas aeruginosa| 9/14/2011 >> > >> M21093 |Pseudomonas aeruginosa| 9/14/2011 >> > >> >> > >> >> > >> Richard >> > >> >> > >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> >> wrote: >> > >> OK, going to commit my changes to UniProtDatabaseProfile: >> getSystemTableManager() >> > >> >> > >> Here is some logging info to confirm result.next() within the while >> loop is both id and species name: >> > >> >> > >> 3070712 [Thread-4] INFO >> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >> - getSystemTableManager(): while loop: ID:: IPR006314 Species:: >> Staphylococcus aureus (strain MRSA252) >> > >> 3070712 [Thread-4] INFO >> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >> - getSystemTableManager(): while loop: ID:: IPR013840 Species:: >> Staphylococcus aureus (strain MRSA252) >> > >> 3070728 [Thread-4] INFO >> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >> - getSystemTableManager(): while loop: ID:: IPR015887 Species:: >> Pseudomonas aeruginosa >> > >> 3070728 [Thread-4] INFO >> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >> - getSystemTableManager(): while loop: ID:: IPR016148 Species:: >> Pseudomonas aeruginosa >> > >> >> > >> Richard >> > >> >> > >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> >> wrote: >> > >> Solid progress made and I now have a compilable working copy. >> > >> >> > >> I'm now working through how to plug the results of the query into the >> proper slots under the while loop. I had stumbled on an error where I was >> supplying the column name instead of the actual data from the tuple. Solved >> that and am hoping the current export will be the last before I commit to >> sourceforge. >> > >> >> > >> Richard >> > >> >> > >> >> > >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> >> wrote: >> > >> Spent the weekend reviewing sql and I have achieved some clarity. >> > >> >> > >> I'm still working through things but not at least I have better >> context and can ask intelligent questions. >> > >> >> > >> The sub query was a big help, I'm not sure how long it would have >> taken me to do all the joins using ON to return "hjid | species name" >> > >> >> > >> Dondi - I'll stop by after theory tomorrow to discuss further. >> > >> >> > >> Thanks. >> > >> >> > >> Richard >> > >> >> > >> >> > >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio < >> do...@lm...> wrote: >> > >> Hi Rich, >> > >> >> > >> As discussed in our meeting, here is a first step toward the new >> system table query: >> > >> >> > >> SELECT entrytype.hjid, organismnametype.value FROM entrytype >> INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner >> join organismnametype on (organismtype.hjid = >> organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype >> ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE >> dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); >> > >> >> > >> (substitute the "id = " clause accordingly) >> > >> >> > >> John David N. Dionisio, PhD >> > >> Associate Professor, Computer Science >> > >> Associate Director, University Honors Program >> > >> Loyola Marymount University >> > >> >> > >> >> > >> >> > >> >> > >> >> ------------------------------------------------------------------------------ >> > >> Why Cloud-Based Security and Archiving Make Sense >> > >> Osterman Research conducted this study that outlines how and why >> cloud >> > >> computing security and archiving is rapidly being adopted across the >> IT >> > >> space for its ease of implementation, lower cost, and increased >> > >> reliability. Learn more. >> http://www.accelacomm.com/jaw/sfnl/114/51425301/ >> > >> _______________________________________________ >> > >> xmlpipedb-developer mailing list >> > >> xml...@li... >> > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > > <ATT00001..txt><ATT00002..txt> >> > >> > >> > >> ------------------------------------------------------------------------------ >> > All the data continuously generated in your IT infrastructure contains a >> > definitive record of customers, application performance, security >> > threats, fraudulent activity and more. Splunk takes this data and makes >> > sense of it. Business sense. IT sense. Common sense. >> > http://p.sf.net/sfu/splunk-d2dcopy1 >> > _______________________________________________ >> > xmlpipedb-developer mailing list >> > xml...@li... >> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > >> > >> > <ATT00001..txt><ATT00002..txt> >> >> >> >> ------------------------------------------------------------------------------ >> All of the data generated in your IT infrastructure is seriously valuable. >> Why? It contains a definitive record of application performance, security >> threats, fraudulent activity, and more. Splunk takes this data and makes >> sense of it. IT sense. And common sense. >> http://p.sf.net/sfu/splunk-d2dcopy2 >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > > |
From: Richard B. <rbr...@gm...> - 2011-10-01 22:29:09
|
Wow thanks for the detailed reply and anticipating questions that might follow! Glad my understanding of what was going on was solid even though my nested "else if for" code didn't actually make semantic sense. I realized it was doing as you described but wanted to keep it in that form as a vehicle to clearly relay my thinking. And since my maturity to object looping, I wasn't sure if there was a slick way to fool the if else loop into thinking the inner for loop was boolean. That leads to the transition of somehow combining the my "else if for" conditional and the existing else code into a combined else: I didn't believe I had the option of dumping the existing else block since it was doing something already (which also may be referenced by other code) but I should have thought about combining them in the else block. I'm sitting here thinking: Duh, it should have occurred to me. =/ But that said I have my head wrapped around the solution and will go ahead and code it out and complete getRelationshipTableManager() completely transitioned. Richard On Sat, Oct 1, 2011 at 1:14 PM, John David N. Dionisio <do...@lm...>wrote: > Hi Rich, > > First, let's phrase out in English what gets done here overall. Then, > still at the conceptual level, I'll talk about what needs to be done. > Finally, we'll look at what needs to change in the code. In that part, we > will also look at why you're getting syntax errors in your current working > version (assuming that what you included is exactly the code that you > currently have). At all points, be conscious of whether what I'm writing > matches your current understanding, or not. If something clears up for you, > then great; if not, let me know what isn't clear. > > 1. What is being done > > The method goes through the full list of relationship tables then, > depending on those tables, chooses different algorithms for producing their > data. > > The if conditions generally categorize these tables --- GeneOntology > relationships are handled one way; UniProt relationships are handled another > way; relationships that use other ID systems are handled yet another way. > The condition on which you're stuck involves relationships involving an ID > system that is *specific* to a particular species profile. In that > situation, the code essentially defers all work to the specific species > profile --- which makes sense, because, as a species-specific ID system, it > is fair to assume that only the species profile knows how to handle its > relationships to other ID systems. > > 2. What needs to be done, conceptually > > The change you are performing involves handling multiple species profiles. > In other words, for every species profile that you are exporting, you need > to give each of them an opportunity to handle the export to the currently > chosen relationship table. That involves first checking if the current > relationship table (e.g., "Blattner-GeneID") even applies to the species > profile. If the relationship table does not involve species-specific ID > systems, then that species profile effectively skips that relationship > table. Otherwise, it then builds up the ID pairs to be exported, via the > getSpeciesSpecificRelationshipTable method. > > 3. What needs to be done, in code > > So, given this view, let's look at the code: > > > else if > ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) > || > > > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) > && > > !stp.systemTable2.equals("GeneOntology")) { > > > Note that, as written, this code checks *only one* species profile, and > that is after all prior cases (GeneOntology, UniProt, two different ones) > have already been checked. Your proposed change now is this: > > > else if( > > for(SpeciesProfile species : selectedSpeciesProfiles) { > > > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > > > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > > !stp.systemTable2.equals("GeneOntology") } > > ) { > > > You got the loop here, as described in part 2. You are indeed supposed to > iterate through the selected species profiles, "ask" them if they need to do > any exports with the current relationship table, then have them do so if > they say "yes." > > Now, as to the problem with the actual code, look at how the process is > phrased in English --- you *iterate first*, and *then* check if the > relationship table matches. The source of your syntax error is that you are > putting the for statement inside the if condition. If you step back for a > moment, you'll see that this does not make semantic sense --- the if > condition expects an expression that evaluates to a boolean value. The > preface to a for statement is *not* such an expression --- in fact, it > doesn't evaluate to anything. That is the heart of your syntax error. > > So, in reality, this last clause simply has to become a pure "else," since > the condition has to be applied to *every single species profile*. The for > loop can then take place within, and the if check happens *inside that*, > since it has to happen for each selected species profile: > > else { > for (SpeciesProfile species: selectedSpeciesProfiles) { > if > ((species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > !"GeneOntology".equals(stp.systemTable2)) { > > // Have the species profile do the relationship table export. > > } > } > } > > That's the overall structure. Now, some housecleaning: there is already a > "pure else" clause at the bottom. However, if you look at that code, it > effectively does nothing: it just emits a single record with blanks for its > fields. I think you can safely skip that. Or, if you really do want to > make sure that an inapplicable relationship table does have at least this > dummy record, you can have a boolean in the code given above that indicates > whether or not the relationship table was handled: > > else { > boolean relationshipTableWasHandled = false; > /* Same for loop and if statement. */ { > // This would be in the case that a species profile does perform > an export. > relationshipTableWasHandled = true; > } > > if (!relationshipTableWasHandled) { > // Do the single-blank-row export here. > } > } > > So, that's the run of it. Hope this walkthrough and breakdown clears up > the issues. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > On Oct 1, 2011, at 11:34 AM, Richard Brous wrote: > > > I'm hung up on the last else if conditional within > getRelationshipTableManager() > > > > This is the "Species-X or X-Species" conditional, excluding GeneOntology > > > > The original single species conditional is: > > > > else if > ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) > || > > > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey( > stp.systemTable2)) && > > !stp.systemTable2.equals("GeneOntology")) { > > > > Now it needs to be multispecies aware obviously so... > > > > Can I add a for loop within the else if and change the following > tablemanager creation logic , such as: > > > > else if( > > for(SpeciesProfile species : selectedSpeciesProfiles) { > > > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > > > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > > !stp.systemTable2.equals("GeneOntology") } > > ) { > > > > > > adding the for loop is wrought with syntax errors, but the real question > is ... am I missing a much simpler solution to solve this? > > > > Richard > > > > > > On Sun, Sep 25, 2011 at 9:20 PM, Richard Brous <rbr...@gm...> > wrote: > > Worked on the code during the past few days and have committed some > changes tonight. > > Also successfully exported without error. > > > > UniProtDatabaseProfile.java > > > > • clean up of some comments and old code > > • cleaned up logging code for getSystemTableManager() > > • Worked on getRelationshipTableManager() > > • [Uniprot - X conditional] > > • rewrote SQL programmatically > > • used looping to create correct setStrings > > • added logging to surface details > > • -[X - X conditional] > > • rewrite of programmatic SQL is in progress > (created stringbuilder etc. in preparation) > > • added logging > > • -[Species - X or X - Species] > > • added minimal logging to be expanded upon > > DatabaseProfile.java > > > > • cleaned up comments > > • reviewed getRelationsTableManager() and added some logging to it > > ExportToGenMAPP.java > > > > • cleaned up code and comments for readability > > > > > > > > Appreciate any feedback as usual =D > > > > Richard > > > > > > On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio <do...@lm...> > wrote: > > Very cool; looks like we can move on now. Dr. Dahlquist and I suspect > that the relationship tables may not actually be as hard as they seem; just > a matter of tweaking the initial queries (which you're more comfortable > doing now!) so that they return the corresponding records for all of the > requested species. Onward we go :) > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Associate Director, University Honors Program > > Loyola Marymount University > > > > > > > > On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: > > > > > Hi, > > > > > > LMU can accept 20 MB attachments now; I don't know how big your file is > zipped, but that's an option. You could also use LionShare. > > > > > > Glad to see success! > > > > > > Kam > > > > > > At 06:05 PM 9/18/2011, you wrote: > > >> Tried to post my latest gdb export to the biodb wiki but receiving log > in error (per separate email) > > >> > > >> But, I wanted to let you know I verified that each improper system > table does in fact contain the id and species name (samples of each): > > >> > > >> > > >> Pfam > > >> ID Species Date > > >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 > > >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 > > >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 > > >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> > > >> > > >> RefSeq > > >> ID Species Date > > >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 > > >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 > > >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> GeneId > > >> ID Species Date > > >> 879140 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 879337 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 881899 |Pseudomonas aeruginosa| 9/14/2011 > > >> 882312 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 881520 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 881596 |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> InterPro > > >> ID Species Date > > >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 > > >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> PDB > > >> ID Species Date > > >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 > > >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 > > >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 > > >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 > > >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 > > >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 > > >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 > > >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 > > >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 > > >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> EMBL > > >> ID Species Date > > >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 > > >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 > > >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 > > >> U07359 |Pseudomonas aeruginosa| 9/14/2011 > > >> X54201 |Pseudomonas aeruginosa| 9/14/2011 > > >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 > > >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 > > >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 > > >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 > > >> X99471 |Pseudomonas aeruginosa| 9/14/2011 > > >> M21093 |Pseudomonas aeruginosa| 9/14/2011 > > >> > > >> > > >> Richard > > >> > > >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> > wrote: > > >> OK, going to commit my changes to UniProtDatabaseProfile: > getSystemTableManager() > > >> > > >> Here is some logging info to confirm result.next() within the while > loop is both id and species name: > > >> > > >> 3070712 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR006314 Species:: > Staphylococcus aureus (strain MRSA252) > > >> 3070712 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR013840 Species:: > Staphylococcus aureus (strain MRSA252) > > >> 3070728 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR015887 Species:: > Pseudomonas aeruginosa > > >> 3070728 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR016148 Species:: > Pseudomonas aeruginosa > > >> > > >> Richard > > >> > > >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> > wrote: > > >> Solid progress made and I now have a compilable working copy. > > >> > > >> I'm now working through how to plug the results of the query into the > proper slots under the while loop. I had stumbled on an error where I was > supplying the column name instead of the actual data from the tuple. Solved > that and am hoping the current export will be the last before I commit to > sourceforge. > > >> > > >> Richard > > >> > > >> > > >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> > wrote: > > >> Spent the weekend reviewing sql and I have achieved some clarity. > > >> > > >> I'm still working through things but not at least I have better > context and can ask intelligent questions. > > >> > > >> The sub query was a big help, I'm not sure how long it would have > taken me to do all the joins using ON to return "hjid | species name" > > >> > > >> Dondi - I'll stop by after theory tomorrow to discuss further. > > >> > > >> Thanks. > > >> > > >> Richard > > >> > > >> > > >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...> > wrote: > > >> Hi Rich, > > >> > > >> As discussed in our meeting, here is a first step toward the new > system table query: > > >> > > >> SELECT entrytype.hjid, organismnametype.value FROM entrytype > INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner > join organismnametype on (organismtype.hjid = > organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype > ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE > dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); > > >> > > >> (substitute the "id = " clause accordingly) > > >> > > >> John David N. Dionisio, PhD > > >> Associate Professor, Computer Science > > >> Associate Director, University Honors Program > > >> Loyola Marymount University > > >> > > >> > > >> > > >> > > >> > ------------------------------------------------------------------------------ > > >> Why Cloud-Based Security and Archiving Make Sense > > >> Osterman Research conducted this study that outlines how and why cloud > > >> computing security and archiving is rapidly being adopted across the > IT > > >> space for its ease of implementation, lower cost, and increased > > >> reliability. Learn more. > http://www.accelacomm.com/jaw/sfnl/114/51425301/ > > >> _______________________________________________ > > >> xmlpipedb-developer mailing list > > >> xml...@li... > > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >> > > >> > > >> > > >> > > >> > > >> > > > <ATT00001..txt><ATT00002..txt> > > > > > > > ------------------------------------------------------------------------------ > > All the data continuously generated in your IT infrastructure contains a > > definitive record of customers, application performance, security > > threats, fraudulent activity and more. Splunk takes this data and makes > > sense of it. Business sense. IT sense. Common sense. > > http://p.sf.net/sfu/splunk-d2dcopy1 > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > <ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2dcopy2 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-10-01 20:14:29
|
Hi Rich, First, let's phrase out in English what gets done here overall. Then, still at the conceptual level, I'll talk about what needs to be done. Finally, we'll look at what needs to change in the code. In that part, we will also look at why you're getting syntax errors in your current working version (assuming that what you included is exactly the code that you currently have). At all points, be conscious of whether what I'm writing matches your current understanding, or not. If something clears up for you, then great; if not, let me know what isn't clear. 1. What is being done The method goes through the full list of relationship tables then, depending on those tables, chooses different algorithms for producing their data. The if conditions generally categorize these tables --- GeneOntology relationships are handled one way; UniProt relationships are handled another way; relationships that use other ID systems are handled yet another way. The condition on which you're stuck involves relationships involving an ID system that is *specific* to a particular species profile. In that situation, the code essentially defers all work to the specific species profile --- which makes sense, because, as a species-specific ID system, it is fair to assume that only the species profile knows how to handle its relationships to other ID systems. 2. What needs to be done, conceptually The change you are performing involves handling multiple species profiles. In other words, for every species profile that you are exporting, you need to give each of them an opportunity to handle the export to the currently chosen relationship table. That involves first checking if the current relationship table (e.g., "Blattner-GeneID") even applies to the species profile. If the relationship table does not involve species-specific ID systems, then that species profile effectively skips that relationship table. Otherwise, it then builds up the ID pairs to be exported, via the getSpeciesSpecificRelationshipTable method. 3. What needs to be done, in code So, given this view, let's look at the code: > else if ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > !stp.systemTable2.equals("GeneOntology")) { Note that, as written, this code checks *only one* species profile, and that is after all prior cases (GeneOntology, UniProt, two different ones) have already been checked. Your proposed change now is this: > else if( > for(SpeciesProfile species : selectedSpeciesProfiles) { > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > !stp.systemTable2.equals("GeneOntology") } > ) { You got the loop here, as described in part 2. You are indeed supposed to iterate through the selected species profiles, "ask" them if they need to do any exports with the current relationship table, then have them do so if they say "yes." Now, as to the problem with the actual code, look at how the process is phrased in English --- you *iterate first*, and *then* check if the relationship table matches. The source of your syntax error is that you are putting the for statement inside the if condition. If you step back for a moment, you'll see that this does not make semantic sense --- the if condition expects an expression that evaluates to a boolean value. The preface to a for statement is *not* such an expression --- in fact, it doesn't evaluate to anything. That is the heart of your syntax error. So, in reality, this last clause simply has to become a pure "else," since the condition has to be applied to *every single species profile*. The for loop can then take place within, and the if check happens *inside that*, since it has to happen for each selected species profile: else { for (SpeciesProfile species: selectedSpeciesProfiles) { if ((species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && !"GeneOntology".equals(stp.systemTable2)) { // Have the species profile do the relationship table export. } } } That's the overall structure. Now, some housecleaning: there is already a "pure else" clause at the bottom. However, if you look at that code, it effectively does nothing: it just emits a single record with blanks for its fields. I think you can safely skip that. Or, if you really do want to make sure that an inapplicable relationship table does have at least this dummy record, you can have a boolean in the code given above that indicates whether or not the relationship table was handled: else { boolean relationshipTableWasHandled = false; /* Same for loop and if statement. */ { // This would be in the case that a species profile does perform an export. relationshipTableWasHandled = true; } if (!relationshipTableWasHandled) { // Do the single-blank-row export here. } } So, that's the run of it. Hope this walkthrough and breakdown clears up the issues. John David N. Dionisio, PhD Associate Professor, Computer Science Associate Director, University Honors Program Loyola Marymount University On Oct 1, 2011, at 11:34 AM, Richard Brous wrote: > I'm hung up on the last else if conditional within getRelationshipTableManager() > > This is the "Species-X or X-Species" conditional, excluding GeneOntology > > The original single species conditional is: > > else if ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey( stp.systemTable2)) && > !stp.systemTable2.equals("GeneOntology")) { > > Now it needs to be multispecies aware obviously so... > > Can I add a for loop within the else if and change the following tablemanager creation logic , such as: > > else if( > for(SpeciesProfile species : selectedSpeciesProfiles) { > (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || > species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && > !stp.systemTable2.equals("GeneOntology") } > ) { > > > adding the for loop is wrought with syntax errors, but the real question is ... am I missing a much simpler solution to solve this? > > Richard > > > On Sun, Sep 25, 2011 at 9:20 PM, Richard Brous <rbr...@gm...> wrote: > Worked on the code during the past few days and have committed some changes tonight. > Also successfully exported without error. > > UniProtDatabaseProfile.java > > • clean up of some comments and old code > • cleaned up logging code for getSystemTableManager() > • Worked on getRelationshipTableManager() > • [Uniprot - X conditional] > • rewrote SQL programmatically > • used looping to create correct setStrings > • added logging to surface details > • -[X - X conditional] > • rewrite of programmatic SQL is in progress (created stringbuilder etc. in preparation) > • added logging > • -[Species - X or X - Species] > • added minimal logging to be expanded upon > DatabaseProfile.java > > • cleaned up comments > • reviewed getRelationsTableManager() and added some logging to it > ExportToGenMAPP.java > > • cleaned up code and comments for readability > > > > Appreciate any feedback as usual =D > > Richard > > > On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio <do...@lm...> wrote: > Very cool; looks like we can move on now. Dr. Dahlquist and I suspect that the relationship tables may not actually be as hard as they seem; just a matter of tweaking the initial queries (which you're more comfortable doing now!) so that they return the corresponding records for all of the requested species. Onward we go :) > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > > On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: > > > Hi, > > > > LMU can accept 20 MB attachments now; I don't know how big your file is zipped, but that's an option. You could also use LionShare. > > > > Glad to see success! > > > > Kam > > > > At 06:05 PM 9/18/2011, you wrote: > >> Tried to post my latest gdb export to the biodb wiki but receiving log in error (per separate email) > >> > >> But, I wanted to let you know I verified that each improper system table does in fact contain the id and species name (samples of each): > >> > >> > >> Pfam > >> ID Species Date > >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 > >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 > >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 > >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> > >> RefSeq > >> ID Species Date > >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 > >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> GeneId > >> ID Species Date > >> 879140 |Pseudomonas aeruginosa| 9/14/2011 > >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 879337 |Pseudomonas aeruginosa| 9/14/2011 > >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 881899 |Pseudomonas aeruginosa| 9/14/2011 > >> 882312 |Pseudomonas aeruginosa| 9/14/2011 > >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 881520 |Pseudomonas aeruginosa| 9/14/2011 > >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 881596 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> InterPro > >> ID Species Date > >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> PDB > >> ID Species Date > >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 > >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 > >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 > >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 > >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 > >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 > >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 > >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 > >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 > >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> EMBL > >> ID Species Date > >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 > >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 > >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 > >> U07359 |Pseudomonas aeruginosa| 9/14/2011 > >> X54201 |Pseudomonas aeruginosa| 9/14/2011 > >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 > >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 > >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 > >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 > >> X99471 |Pseudomonas aeruginosa| 9/14/2011 > >> M21093 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> Richard > >> > >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> wrote: > >> OK, going to commit my changes to UniProtDatabaseProfile: getSystemTableManager() > >> > >> Here is some logging info to confirm result.next() within the while loop is both id and species name: > >> > >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR006314 Species:: Staphylococcus aureus (strain MRSA252) > >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR013840 Species:: Staphylococcus aureus (strain MRSA252) > >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR015887 Species:: Pseudomonas aeruginosa > >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR016148 Species:: Pseudomonas aeruginosa > >> > >> Richard > >> > >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> wrote: > >> Solid progress made and I now have a compilable working copy. > >> > >> I'm now working through how to plug the results of the query into the proper slots under the while loop. I had stumbled on an error where I was supplying the column name instead of the actual data from the tuple. Solved that and am hoping the current export will be the last before I commit to sourceforge. > >> > >> Richard > >> > >> > >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> wrote: > >> Spent the weekend reviewing sql and I have achieved some clarity. > >> > >> I'm still working through things but not at least I have better context and can ask intelligent questions. > >> > >> The sub query was a big help, I'm not sure how long it would have taken me to do all the joins using ON to return "hjid | species name" > >> > >> Dondi - I'll stop by after theory tomorrow to discuss further. > >> > >> Thanks. > >> > >> Richard > >> > >> > >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...> wrote: > >> Hi Rich, > >> > >> As discussed in our meeting, here is a first step toward the new system table query: > >> > >> SELECT entrytype.hjid, organismnametype.value FROM entrytype INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner join organismnametype on (organismtype.hjid = organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); > >> > >> (substitute the "id = " clause accordingly) > >> > >> John David N. Dionisio, PhD > >> Associate Professor, Computer Science > >> Associate Director, University Honors Program > >> Loyola Marymount University > >> > >> > >> > >> > >> ------------------------------------------------------------------------------ > >> Why Cloud-Based Security and Archiving Make Sense > >> Osterman Research conducted this study that outlines how and why cloud > >> computing security and archiving is rapidly being adopted across the IT > >> space for its ease of implementation, lower cost, and increased > >> reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/ > >> _______________________________________________ > >> xmlpipedb-developer mailing list > >> xml...@li... > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >> > >> > >> > >> > >> > >> > > <ATT00001..txt><ATT00002..txt> > > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure contains a > definitive record of customers, application performance, security > threats, fraudulent activity and more. Splunk takes this data and makes > sense of it. Business sense. IT sense. Common sense. > http://p.sf.net/sfu/splunk-d2dcopy1 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-10-01 18:35:05
|
I'm hung up on the last else if conditional within getRelationshipTableManager() This is the "Species-X or X-Species" conditional, excluding GeneOntology The original single species conditional is: else if ((selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || selectedSpeciesProfiles.get(0).getSpeciesSpecificSystemTables().containsKey( stp.systemTable2)) && !stp.systemTable2.equals("GeneOntology")) { Now it needs to be multispecies aware obviously so... Can I add a for loop within the else if and change the following tablemanager creation logic , such as: else if( for(SpeciesProfile species : selectedSpeciesProfiles) { (species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable1) || species.getSpeciesSpecificSystemTables().containsKey(stp.systemTable2)) && !stp.systemTable2.equals("GeneOntology") } ) { adding the for loop is wrought with syntax errors, but the real question is ... am I missing a much simpler solution to solve this? Richard On Sun, Sep 25, 2011 at 9:20 PM, Richard Brous <rbr...@gm...> wrote: > Worked on the code during the past few days and have committed some changes > tonight. > Also successfully exported without error. > > > UniProtDatabaseProfile.java > > - clean up of some comments and old code > - cleaned up logging code for getSystemTableManager() > - Worked on getRelationshipTableManager() > - [Uniprot - X conditional] > - rewrote SQL programmatically > - used looping to create correct setStrings > - added logging to surface details > - -[X - X conditional] > - rewrite of programmatic SQL is in progress (created stringbuilder > etc. in preparation) > - added logging > - -[Species - X or X - Species] > - added minimal logging to be expanded upon > > DatabaseProfile.java > > > - cleaned up comments > - reviewed getRelationsTableManager() and added some logging to it > > ExportToGenMAPP.java > > - cleaned up code and comments for readability > > > > > Appreciate any feedback as usual =D > > Richard > > > On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio <do...@lm...>wrote: > >> Very cool; looks like we can move on now. Dr. Dahlquist and I suspect >> that the relationship tables may not actually be as hard as they seem; just >> a matter of tweaking the initial queries (which you're more comfortable >> doing now!) so that they return the corresponding records for all of the >> requested species. Onward we go :) >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Associate Director, University Honors Program >> Loyola Marymount University >> >> >> >> On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: >> >> > Hi, >> > >> > LMU can accept 20 MB attachments now; I don't know how big your file is >> zipped, but that's an option. You could also use LionShare. >> > >> > Glad to see success! >> > >> > Kam >> > >> > At 06:05 PM 9/18/2011, you wrote: >> >> Tried to post my latest gdb export to the biodb wiki but receiving log >> in error (per separate email) >> >> >> >> But, I wanted to let you know I verified that each improper system >> table does in fact contain the id and species name (samples of each): >> >> >> >> >> >> Pfam >> >> ID Species Date >> >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 >> >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 >> >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 >> >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> >> >> >> >> RefSeq >> >> ID Species Date >> >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 >> >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 >> >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 >> >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 >> >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 >> >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 >> >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 >> >> >> >> >> >> GeneId >> >> ID Species Date >> >> 879140 |Pseudomonas aeruginosa| 9/14/2011 >> >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> 879337 |Pseudomonas aeruginosa| 9/14/2011 >> >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> 881899 |Pseudomonas aeruginosa| 9/14/2011 >> >> 882312 |Pseudomonas aeruginosa| 9/14/2011 >> >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> 881520 |Pseudomonas aeruginosa| 9/14/2011 >> >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> 881596 |Pseudomonas aeruginosa| 9/14/2011 >> >> >> >> >> >> InterPro >> >> ID Species Date >> >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 >> >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 >> >> >> >> >> >> PDB >> >> ID Species Date >> >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 >> >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 >> >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 >> >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 >> >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 >> >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 >> >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 >> >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 >> >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 >> >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 >> >> >> >> >> >> EMBL >> >> ID Species Date >> >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 >> >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 >> >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 >> >> U07359 |Pseudomonas aeruginosa| 9/14/2011 >> >> X54201 |Pseudomonas aeruginosa| 9/14/2011 >> >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 >> >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 >> >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 >> >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 >> >> X99471 |Pseudomonas aeruginosa| 9/14/2011 >> >> M21093 |Pseudomonas aeruginosa| 9/14/2011 >> >> >> >> >> >> Richard >> >> >> >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> >> wrote: >> >> OK, going to commit my changes to UniProtDatabaseProfile: >> getSystemTableManager() >> >> >> >> Here is some logging info to confirm result.next() within the while >> loop is both id and species name: >> >> >> >> 3070712 [Thread-4] INFO >> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >> - getSystemTableManager(): while loop: ID:: IPR006314 Species:: >> Staphylococcus aureus (strain MRSA252) >> >> 3070712 [Thread-4] INFO >> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >> - getSystemTableManager(): while loop: ID:: IPR013840 Species:: >> Staphylococcus aureus (strain MRSA252) >> >> 3070728 [Thread-4] INFO >> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >> - getSystemTableManager(): while loop: ID:: IPR015887 Species:: >> Pseudomonas aeruginosa >> >> 3070728 [Thread-4] INFO >> edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >> - getSystemTableManager(): while loop: ID:: IPR016148 Species:: >> Pseudomonas aeruginosa >> >> >> >> Richard >> >> >> >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> >> wrote: >> >> Solid progress made and I now have a compilable working copy. >> >> >> >> I'm now working through how to plug the results of the query into the >> proper slots under the while loop. I had stumbled on an error where I was >> supplying the column name instead of the actual data from the tuple. Solved >> that and am hoping the current export will be the last before I commit to >> sourceforge. >> >> >> >> Richard >> >> >> >> >> >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> >> wrote: >> >> Spent the weekend reviewing sql and I have achieved some clarity. >> >> >> >> I'm still working through things but not at least I have better context >> and can ask intelligent questions. >> >> >> >> The sub query was a big help, I'm not sure how long it would have taken >> me to do all the joins using ON to return "hjid | species name" >> >> >> >> Dondi - I'll stop by after theory tomorrow to discuss further. >> >> >> >> Thanks. >> >> >> >> Richard >> >> >> >> >> >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...> >> wrote: >> >> Hi Rich, >> >> >> >> As discussed in our meeting, here is a first step toward the new system >> table query: >> >> >> >> SELECT entrytype.hjid, organismnametype.value FROM entrytype >> INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner >> join organismnametype on (organismtype.hjid = >> organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype >> ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE >> dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); >> >> >> >> (substitute the "id = " clause accordingly) >> >> >> >> John David N. Dionisio, PhD >> >> Associate Professor, Computer Science >> >> Associate Director, University Honors Program >> >> Loyola Marymount University >> >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> Why Cloud-Based Security and Archiving Make Sense >> >> Osterman Research conducted this study that outlines how and why cloud >> >> computing security and archiving is rapidly being adopted across the IT >> >> space for its ease of implementation, lower cost, and increased >> >> reliability. Learn more. >> http://www.accelacomm.com/jaw/sfnl/114/51425301/ >> >> _______________________________________________ >> >> xmlpipedb-developer mailing list >> >> xml...@li... >> >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> >> >> >> >> >> >> >> >> >> >> >> > <ATT00001..txt><ATT00002..txt> >> >> >> >> ------------------------------------------------------------------------------ >> All the data continuously generated in your IT infrastructure contains a >> definitive record of customers, application performance, security >> threats, fraudulent activity and more. Splunk takes this data and makes >> sense of it. Business sense. IT sense. Common sense. >> http://p.sf.net/sfu/splunk-d2dcopy1 >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > > |
From: Richard B. <rbr...@gm...> - 2011-09-26 04:20:58
|
Worked on the code during the past few days and have committed some changes tonight. Also successfully exported without error. UniProtDatabaseProfile.java - clean up of some comments and old code - cleaned up logging code for getSystemTableManager() - Worked on getRelationshipTableManager() - [Uniprot - X conditional] - rewrote SQL programmatically - used looping to create correct setStrings - added logging to surface details - -[X - X conditional] - rewrite of programmatic SQL is in progress (created stringbuilder etc. in preparation) - added logging - -[Species - X or X - Species] - added minimal logging to be expanded upon DatabaseProfile.java - cleaned up comments - reviewed getRelationsTableManager() and added some logging to it ExportToGenMAPP.java - cleaned up code and comments for readability Appreciate any feedback as usual =D Richard On Mon, Sep 19, 2011 at 6:22 PM, John David N. Dionisio <do...@lm...>wrote: > Very cool; looks like we can move on now. Dr. Dahlquist and I suspect that > the relationship tables may not actually be as hard as they seem; just a > matter of tweaking the initial queries (which you're more comfortable doing > now!) so that they return the corresponding records for all of the requested > species. Onward we go :) > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > > On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: > > > Hi, > > > > LMU can accept 20 MB attachments now; I don't know how big your file is > zipped, but that's an option. You could also use LionShare. > > > > Glad to see success! > > > > Kam > > > > At 06:05 PM 9/18/2011, you wrote: > >> Tried to post my latest gdb export to the biodb wiki but receiving log > in error (per separate email) > >> > >> But, I wanted to let you know I verified that each improper system table > does in fact contain the id and species name (samples of each): > >> > >> > >> Pfam > >> ID Species Date > >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 > >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 > >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 > >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> > >> > >> RefSeq > >> ID Species Date > >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 > >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 > >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> GeneId > >> ID Species Date > >> 879140 |Pseudomonas aeruginosa| 9/14/2011 > >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 879337 |Pseudomonas aeruginosa| 9/14/2011 > >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 881899 |Pseudomonas aeruginosa| 9/14/2011 > >> 882312 |Pseudomonas aeruginosa| 9/14/2011 > >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 881520 |Pseudomonas aeruginosa| 9/14/2011 > >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 881596 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> InterPro > >> ID Species Date > >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 > >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> PDB > >> ID Species Date > >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 > >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 > >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 > >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 > >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 > >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 > >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 > >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 > >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 > >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> EMBL > >> ID Species Date > >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 > >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 > >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 > >> U07359 |Pseudomonas aeruginosa| 9/14/2011 > >> X54201 |Pseudomonas aeruginosa| 9/14/2011 > >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 > >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 > >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 > >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 > >> X99471 |Pseudomonas aeruginosa| 9/14/2011 > >> M21093 |Pseudomonas aeruginosa| 9/14/2011 > >> > >> > >> Richard > >> > >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> > wrote: > >> OK, going to commit my changes to UniProtDatabaseProfile: > getSystemTableManager() > >> > >> Here is some logging info to confirm result.next() within the while loop > is both id and species name: > >> > >> 3070712 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR006314 Species:: > Staphylococcus aureus (strain MRSA252) > >> 3070712 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR013840 Species:: > Staphylococcus aureus (strain MRSA252) > >> 3070728 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR015887 Species:: > Pseudomonas aeruginosa > >> 3070728 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR016148 Species:: > Pseudomonas aeruginosa > >> > >> Richard > >> > >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> > wrote: > >> Solid progress made and I now have a compilable working copy. > >> > >> I'm now working through how to plug the results of the query into the > proper slots under the while loop. I had stumbled on an error where I was > supplying the column name instead of the actual data from the tuple. Solved > that and am hoping the current export will be the last before I commit to > sourceforge. > >> > >> Richard > >> > >> > >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> > wrote: > >> Spent the weekend reviewing sql and I have achieved some clarity. > >> > >> I'm still working through things but not at least I have better context > and can ask intelligent questions. > >> > >> The sub query was a big help, I'm not sure how long it would have taken > me to do all the joins using ON to return "hjid | species name" > >> > >> Dondi - I'll stop by after theory tomorrow to discuss further. > >> > >> Thanks. > >> > >> Richard > >> > >> > >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...> > wrote: > >> Hi Rich, > >> > >> As discussed in our meeting, here is a first step toward the new system > table query: > >> > >> SELECT entrytype.hjid, organismnametype.value FROM entrytype > INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner > join organismnametype on (organismtype.hjid = > organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype > ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE > dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); > >> > >> (substitute the "id = " clause accordingly) > >> > >> John David N. Dionisio, PhD > >> Associate Professor, Computer Science > >> Associate Director, University Honors Program > >> Loyola Marymount University > >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ > >> Why Cloud-Based Security and Archiving Make Sense > >> Osterman Research conducted this study that outlines how and why cloud > >> computing security and archiving is rapidly being adopted across the IT > >> space for its ease of implementation, lower cost, and increased > >> reliability. Learn more. > http://www.accelacomm.com/jaw/sfnl/114/51425301/ > >> _______________________________________________ > >> xmlpipedb-developer mailing list > >> xml...@li... > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >> > >> > >> > >> > >> > >> > > <ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure contains a > definitive record of customers, application performance, security > threats, fraudulent activity and more. Splunk takes this data and makes > sense of it. Business sense. IT sense. Common sense. > http://p.sf.net/sfu/splunk-d2dcopy1 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-09-20 01:22:48
|
Very cool; looks like we can move on now. Dr. Dahlquist and I suspect that the relationship tables may not actually be as hard as they seem; just a matter of tweaking the initial queries (which you're more comfortable doing now!) so that they return the corresponding records for all of the requested species. Onward we go :) John David N. Dionisio, PhD Associate Professor, Computer Science Associate Director, University Honors Program Loyola Marymount University On Sep 19, 2011, at 11:09 AM, Kam Dahlquist wrote: > Hi, > > LMU can accept 20 MB attachments now; I don't know how big your file is zipped, but that's an option. You could also use LionShare. > > Glad to see success! > > Kam > > At 06:05 PM 9/18/2011, you wrote: >> Tried to post my latest gdb export to the biodb wiki but receiving log in error (per separate email) >> >> But, I wanted to let you know I verified that each improper system table does in fact contain the id and species name (samples of each): >> >> >> Pfam >> ID Species Date >> PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> PF03279 |Pseudomonas aeruginosa| 9/14/2011 >> PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> PF04205 |Pseudomonas aeruginosa| 9/14/2011 >> PF03379 |Pseudomonas aeruginosa| 9/14/2011 >> PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> >> >> RefSeq >> ID Species Date >> YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> NP_253798 |Pseudomonas aeruginosa| 9/14/2011 >> NP_254101 |Pseudomonas aeruginosa| 9/14/2011 >> NP_248930 |Pseudomonas aeruginosa| 9/14/2011 >> NP_251503 |Pseudomonas aeruginosa| 9/14/2011 >> NP_249960 |Pseudomonas aeruginosa| 9/14/2011 >> NP_253220 |Pseudomonas aeruginosa| 9/14/2011 >> YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> NP_253802 |Pseudomonas aeruginosa| 9/14/2011 >> >> >> GeneId >> ID Species Date >> 879140 |Pseudomonas aeruginosa| 9/14/2011 >> 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> 879337 |Pseudomonas aeruginosa| 9/14/2011 >> 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> 881899 |Pseudomonas aeruginosa| 9/14/2011 >> 882312 |Pseudomonas aeruginosa| 9/14/2011 >> 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> 881520 |Pseudomonas aeruginosa| 9/14/2011 >> 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> 881596 |Pseudomonas aeruginosa| 9/14/2011 >> >> >> InterPro >> ID Species Date >> IPR022522 |Pseudomonas aeruginosa| 9/14/2011 >> IPR003538 |Pseudomonas aeruginosa| 9/14/2011 >> IPR016379 |Pseudomonas aeruginosa| 9/14/2011 >> IPR016920 |Pseudomonas aeruginosa| 9/14/2011 >> IPR000477 |Pseudomonas aeruginosa| 9/14/2011 >> IPR008948 |Pseudomonas aeruginosa| 9/14/2011 >> IPR005415 |Pseudomonas aeruginosa| 9/14/2011 >> IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> IPR007895 |Pseudomonas aeruginosa| 9/14/2011 >> IPR008231 |Pseudomonas aeruginosa| 9/14/2011 >> IPR004558 |Pseudomonas aeruginosa| 9/14/2011 >> IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> IPR006358 |Pseudomonas aeruginosa| 9/14/2011 >> >> >> PDB >> ID Species Date >> 2ZWS |Pseudomonas aeruginosa| 9/14/2011 >> 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> 2EXV |Pseudomonas aeruginosa| 9/14/2011 >> 3L34 |Pseudomonas aeruginosa| 9/14/2011 >> 1EZM |Pseudomonas aeruginosa| 9/14/2011 >> 2WYB |Pseudomonas aeruginosa| 9/14/2011 >> 2F1L |Pseudomonas aeruginosa| 9/14/2011 >> 1D7L |Pseudomonas aeruginosa| 9/14/2011 >> 1Y12 |Pseudomonas aeruginosa| 9/14/2011 >> 2IXH |Pseudomonas aeruginosa| 9/14/2011 >> 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> 2IXI |Pseudomonas aeruginosa| 9/14/2011 >> >> >> EMBL >> ID Species Date >> AJ003006 |Pseudomonas aeruginosa| 9/14/2011 >> BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >> AJ633619 |Pseudomonas aeruginosa| 9/14/2011 >> AJ633602 |Pseudomonas aeruginosa| 9/14/2011 >> U07359 |Pseudomonas aeruginosa| 9/14/2011 >> X54201 |Pseudomonas aeruginosa| 9/14/2011 >> AY899300 |Pseudomonas aeruginosa| 9/14/2011 >> AB085582 |Pseudomonas aeruginosa| 9/14/2011 >> AB075926 |Pseudomonas aeruginosa| 9/14/2011 >> AF306766 |Pseudomonas aeruginosa| 9/14/2011 >> X99471 |Pseudomonas aeruginosa| 9/14/2011 >> M21093 |Pseudomonas aeruginosa| 9/14/2011 >> >> >> Richard >> >> On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> wrote: >> OK, going to commit my changes to UniProtDatabaseProfile: getSystemTableManager() >> >> Here is some logging info to confirm result.next() within the while loop is both id and species name: >> >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR006314 Species:: Staphylococcus aureus (strain MRSA252) >> 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR013840 Species:: Staphylococcus aureus (strain MRSA252) >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR015887 Species:: Pseudomonas aeruginosa >> 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR016148 Species:: Pseudomonas aeruginosa >> >> Richard >> >> On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> wrote: >> Solid progress made and I now have a compilable working copy. >> >> I'm now working through how to plug the results of the query into the proper slots under the while loop. I had stumbled on an error where I was supplying the column name instead of the actual data from the tuple. Solved that and am hoping the current export will be the last before I commit to sourceforge. >> >> Richard >> >> >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> wrote: >> Spent the weekend reviewing sql and I have achieved some clarity. >> >> I'm still working through things but not at least I have better context and can ask intelligent questions. >> >> The sub query was a big help, I'm not sure how long it would have taken me to do all the joins using ON to return "hjid | species name" >> >> Dondi - I'll stop by after theory tomorrow to discuss further. >> >> Thanks. >> >> Richard >> >> >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...> wrote: >> Hi Rich, >> >> As discussed in our meeting, here is a first step toward the new system table query: >> >> SELECT entrytype.hjid, organismnametype.value FROM entrytype INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner join organismnametype on (organismtype.hjid = organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); >> >> (substitute the "id = " clause accordingly) >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Associate Director, University Honors Program >> Loyola Marymount University >> >> >> >> >> ------------------------------------------------------------------------------ >> Why Cloud-Based Security and Archiving Make Sense >> Osterman Research conducted this study that outlines how and why cloud >> computing security and archiving is rapidly being adopted across the IT >> space for its ease of implementation, lower cost, and increased >> reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/ >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> >> >> >> >> > <ATT00001..txt><ATT00002..txt> |
From: Kam D. <kda...@lm...> - 2011-09-19 18:09:38
|
Hi, LMU can accept 20 MB attachments now; I don't know how big your file is zipped, but that's an option. You could also use LionShare. Glad to see success! Kam At 06:05 PM 9/18/2011, you wrote: >Tried to post my latest gdb export to the biodb wiki but receiving >log in error (per separate email) > >But, I wanted to let you know I verified that each improper system >table does in fact contain the id and species name (samples of each): > > >Pfam >ID Species Date >PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >PF03279 |Pseudomonas aeruginosa| 9/14/2011 >PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >PF04205 |Pseudomonas aeruginosa| 9/14/2011 >PF03379 |Pseudomonas aeruginosa| 9/14/2011 >PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 > > >RefSeq >ID Species Date >YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >NP_253798 |Pseudomonas aeruginosa| 9/14/2011 >NP_254101 |Pseudomonas aeruginosa| 9/14/2011 >NP_248930 |Pseudomonas aeruginosa| 9/14/2011 >NP_251503 |Pseudomonas aeruginosa| 9/14/2011 >NP_249960 |Pseudomonas aeruginosa| 9/14/2011 >NP_253220 |Pseudomonas aeruginosa| 9/14/2011 >YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >NP_253802 |Pseudomonas aeruginosa| 9/14/2011 > > >GeneId >ID Species Date >879140 |Pseudomonas aeruginosa| 9/14/2011 >2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >879337 |Pseudomonas aeruginosa| 9/14/2011 >2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >881899 |Pseudomonas aeruginosa| 9/14/2011 >882312 |Pseudomonas aeruginosa| 9/14/2011 >2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >881520 |Pseudomonas aeruginosa| 9/14/2011 >2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >881596 |Pseudomonas aeruginosa| 9/14/2011 > > >InterPro >ID Species Date >IPR022522 |Pseudomonas aeruginosa| 9/14/2011 >IPR003538 |Pseudomonas aeruginosa| 9/14/2011 >IPR016379 |Pseudomonas aeruginosa| 9/14/2011 >IPR016920 |Pseudomonas aeruginosa| 9/14/2011 >IPR000477 |Pseudomonas aeruginosa| 9/14/2011 >IPR008948 |Pseudomonas aeruginosa| 9/14/2011 >IPR005415 |Pseudomonas aeruginosa| 9/14/2011 >IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >IPR007895 |Pseudomonas aeruginosa| 9/14/2011 >IPR008231 |Pseudomonas aeruginosa| 9/14/2011 >IPR004558 |Pseudomonas aeruginosa| 9/14/2011 >IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >IPR006358 |Pseudomonas aeruginosa| 9/14/2011 > > >PDB >ID Species Date >2ZWS |Pseudomonas aeruginosa| 9/14/2011 >2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >2EXV |Pseudomonas aeruginosa| 9/14/2011 >3L34 |Pseudomonas aeruginosa| 9/14/2011 >1EZM |Pseudomonas aeruginosa| 9/14/2011 >2WYB |Pseudomonas aeruginosa| 9/14/2011 >2F1L |Pseudomonas aeruginosa| 9/14/2011 >1D7L |Pseudomonas aeruginosa| 9/14/2011 >1Y12 |Pseudomonas aeruginosa| 9/14/2011 >2IXH |Pseudomonas aeruginosa| 9/14/2011 >1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >2IXI |Pseudomonas aeruginosa| 9/14/2011 > > >EMBL >ID Species Date >AJ003006 |Pseudomonas aeruginosa| 9/14/2011 >BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 >AJ633619 |Pseudomonas aeruginosa| 9/14/2011 >AJ633602 |Pseudomonas aeruginosa| 9/14/2011 >U07359 |Pseudomonas aeruginosa| 9/14/2011 >X54201 |Pseudomonas aeruginosa| 9/14/2011 >AY899300 |Pseudomonas aeruginosa| 9/14/2011 >AB085582 |Pseudomonas aeruginosa| 9/14/2011 >AB075926 |Pseudomonas aeruginosa| 9/14/2011 >AF306766 |Pseudomonas aeruginosa| 9/14/2011 >X99471 |Pseudomonas aeruginosa| 9/14/2011 >M21093 |Pseudomonas aeruginosa| 9/14/2011 > > >Richard > >On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous ><<mailto:rbr...@gm...>rbr...@gm...> wrote: >OK, going to commit my changes to UniProtDatabaseProfile: >getSystemTableManager() > >Here is some logging info to confirm result.next() within the while >loop is both id and species name: > >3070712 [Thread-4] >INFO >edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >- getSystemTableManager(): while loop: ID:: IPR006314 Species:: >Staphylococcus aureus (strain MRSA252) >3070712 [Thread-4] >INFO >edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >- getSystemTableManager(): while loop: ID:: IPR013840 Species:: >Staphylococcus aureus (strain MRSA252) >3070728 [Thread-4] >INFO >edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >- getSystemTableManager(): while loop: ID:: IPR015887 Species:: >Pseudomonas aeruginosa >3070728 [Thread-4] >INFO >edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile >- getSystemTableManager(): while loop: ID:: IPR016148 Species:: >Pseudomonas aeruginosa > >Richard > >On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous ><<mailto:rbr...@gm...>rbr...@gm...> wrote: >Solid progress made and I now have a compilable working copy. > >I'm now working through how to plug the results of the query into >the proper slots under the while loop. I had stumbled on an error >where I was supplying the column name instead of the actual data >from the tuple. Solved that and am hoping the current export will be >the last before I commit to sourceforge. > >Richard > > >On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous ><<mailto:rbr...@gm...>rbr...@gm...> wrote: >Spent the weekend reviewing sql and I have achieved some clarity. > >I'm still working through things but not at least I have better >context and can ask intelligent questions. > >The sub query was a big help, I'm not sure how long it would have >taken me to do all the joins using ON to return "hjid | species name" > >Dondi - I'll stop by after theory tomorrow to discuss further. > >Thanks. > >Richard > > >On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio ><<mailto:do...@lm...>do...@lm...> wrote: >Hi Rich, > >As discussed in our meeting, here is a first step toward the new >system table query: > > SELECT entrytype.hjid, organismnametype.value FROM entrytype > INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) > inner join organismnametype on (organismtype.hjid = > organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype > ON(dbreferencetype.organismtype_dbreference_hjid = > organismtype.hjid) WHERE dbreferencetype.type = 'NCBI Taxonomy' and > (id = '90371'); > >(substitute the "id = " clause accordingly) > >John David N. Dionisio, PhD >Associate Professor, Computer Science >Associate Director, University Honors Program >Loyola Marymount University > > > > >------------------------------------------------------------------------------ >Why Cloud-Based Security and Archiving Make Sense >Osterman Research conducted this study that outlines how and why cloud >computing security and archiving is rapidly being adopted across the IT >space for its ease of implementation, lower cost, and increased >reliability. Learn more. ><http://www.accelacomm.com/jaw/sfnl/114/51425301/>http://www.accelacomm.com/jaw/sfnl/114/51425301/ >_______________________________________________ >xmlpipedb-developer mailing list ><mailto:xml...@li...>xml...@li... >https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > |
From: Richard B. <rbr...@gm...> - 2011-09-19 01:05:25
|
Tried to post my latest gdb export to the biodb wiki but receiving log in error (per separate email) But, I wanted to let you know I verified that each improper system table does in fact contain the id and species name (samples of each): *Pfam* ID Species Date PF02866 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 PF07050 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 PF03479 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 PF02317 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 PF03279 |Pseudomonas aeruginosa| 9/14/2011 PF09922 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 PF04205 |Pseudomonas aeruginosa| 9/14/2011 PF03379 |Pseudomonas aeruginosa| 9/14/2011 PF05389 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 *RefSeq* ID Species Date YP_039973 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 YP_040411 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 YP_039521 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 NP_253798 |Pseudomonas aeruginosa| 9/14/2011 NP_254101 |Pseudomonas aeruginosa| 9/14/2011 NP_248930 |Pseudomonas aeruginosa| 9/14/2011 NP_251503 |Pseudomonas aeruginosa| 9/14/2011 NP_249960 |Pseudomonas aeruginosa| 9/14/2011 NP_253220 |Pseudomonas aeruginosa| 9/14/2011 YP_040877 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 NP_253802 |Pseudomonas aeruginosa| 9/14/2011 *GeneId* ID Species Date 879140 |Pseudomonas aeruginosa| 9/14/2011 2859243 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 879337 |Pseudomonas aeruginosa| 9/14/2011 2860668 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 881899 |Pseudomonas aeruginosa| 9/14/2011 882312 |Pseudomonas aeruginosa| 9/14/2011 2860009 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 881520 |Pseudomonas aeruginosa| 9/14/2011 2861152 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 881596 |Pseudomonas aeruginosa| 9/14/2011 *InterPro* ID Species Date IPR022522 |Pseudomonas aeruginosa| 9/14/2011 IPR003538 |Pseudomonas aeruginosa| 9/14/2011 IPR016379 |Pseudomonas aeruginosa| 9/14/2011 IPR016920 |Pseudomonas aeruginosa| 9/14/2011 IPR000477 |Pseudomonas aeruginosa| 9/14/2011 IPR008948 |Pseudomonas aeruginosa| 9/14/2011 IPR005415 |Pseudomonas aeruginosa| 9/14/2011 IPR009651 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 IPR007895 |Pseudomonas aeruginosa| 9/14/2011 IPR008231 |Pseudomonas aeruginosa| 9/14/2011 IPR004558 |Pseudomonas aeruginosa| 9/14/2011 IPR011067 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 IPR006358 |Pseudomonas aeruginosa| 9/14/2011 *PDB* ID Species Date 2ZWS |Pseudomonas aeruginosa| 9/14/2011 2F9I |Staphylococcus aureus (strain MRSA252)| 9/14/2011 2EXV |Pseudomonas aeruginosa| 9/14/2011 3L34 |Pseudomonas aeruginosa| 9/14/2011 1EZM |Pseudomonas aeruginosa| 9/14/2011 2WYB |Pseudomonas aeruginosa| 9/14/2011 2F1L |Pseudomonas aeruginosa| 9/14/2011 1D7L |Pseudomonas aeruginosa| 9/14/2011 1Y12 |Pseudomonas aeruginosa| 9/14/2011 2IXH |Pseudomonas aeruginosa| 9/14/2011 1XAG |Staphylococcus aureus (strain MRSA252)| 9/14/2011 2IXI |Pseudomonas aeruginosa| 9/14/2011 *EMBL* ID Species Date AJ003006 |Pseudomonas aeruginosa| 9/14/2011 BX571856 |Staphylococcus aureus (strain MRSA252)| 9/14/2011 AJ633619 |Pseudomonas aeruginosa| 9/14/2011 AJ633602 |Pseudomonas aeruginosa| 9/14/2011 U07359 |Pseudomonas aeruginosa| 9/14/2011 X54201 |Pseudomonas aeruginosa| 9/14/2011 AY899300 |Pseudomonas aeruginosa| 9/14/2011 AB085582 |Pseudomonas aeruginosa| 9/14/2011 AB075926 |Pseudomonas aeruginosa| 9/14/2011 AF306766 |Pseudomonas aeruginosa| 9/14/2011 X99471 |Pseudomonas aeruginosa| 9/14/2011 M21093 |Pseudomonas aeruginosa| 9/14/2011 Richard On Wed, Sep 14, 2011 at 6:50 PM, Richard Brous <rbr...@gm...> wrote: > OK, going to commit my changes to UniProtDatabaseProfile: > getSystemTableManager() > > Here is some logging info to confirm result.next() within the while loop is > both id and species name: > > 3070712 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR006314 Species:: > Staphylococcus aureus (strain MRSA252) > 3070712 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR013840 Species:: > Staphylococcus aureus (strain MRSA252) > 3070728 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR015887 Species:: > Pseudomonas aeruginosa > 3070728 [Thread-4] INFO > edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile > - getSystemTableManager(): while loop: ID:: IPR016148 Species:: > Pseudomonas aeruginosa > > Richard > > On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> wrote: > >> Solid progress made and I now have a compilable working copy. >> >> I'm now working through how to plug the results of the query into the >> proper slots under the while loop. I had stumbled on an error where I was >> supplying the column name instead of the actual data from the tuple. Solved >> that and am hoping the current export will be the last before I commit to >> sourceforge. >> >> Richard >> >> >> On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...>wrote: >> >>> Spent the weekend reviewing sql and I have achieved some clarity. >>> >>> I'm still working through things but not at least I have better context >>> and can ask intelligent questions. >>> >>> The sub query was a big help, I'm not sure how long it would have taken >>> me to do all the joins using ON to return "hjid | species name" >>> >>> Dondi - I'll stop by after theory tomorrow to discuss further. >>> >>> Thanks. >>> >>> Richard >>> >>> >>> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...>wrote: >>> >>>> Hi Rich, >>>> >>>> As discussed in our meeting, here is a first step toward the new system >>>> table query: >>>> >>>> SELECT entrytype.hjid, organismnametype.value FROM entrytype >>>> INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner >>>> join organismnametype on (organismtype.hjid = >>>> organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype >>>> ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE >>>> dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); >>>> >>>> (substitute the "id = " clause accordingly) >>>> >>>> John David N. Dionisio, PhD >>>> Associate Professor, Computer Science >>>> Associate Director, University Honors Program >>>> Loyola Marymount University >>>> >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Why Cloud-Based Security and Archiving Make Sense >>>> Osterman Research conducted this study that outlines how and why cloud >>>> computing security and archiving is rapidly being adopted across the IT >>>> space for its ease of implementation, lower cost, and increased >>>> reliability. Learn more. >>>> http://www.accelacomm.com/jaw/sfnl/114/51425301/ >>>> _______________________________________________ >>>> xmlpipedb-developer mailing list >>>> xml...@li... >>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>> >>> >>> >> > |
From: Richard B. <rbr...@gm...> - 2011-09-15 01:50:36
|
OK, going to commit my changes to UniProtDatabaseProfile: getSystemTableManager() Here is some logging info to confirm result.next() within the while loop is both id and species name: 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR006314 Species:: Staphylococcus aureus (strain MRSA252) 3070712 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR013840 Species:: Staphylococcus aureus (strain MRSA252) 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR015887 Species:: Pseudomonas aeruginosa 3070728 [Thread-4] INFO edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtDatabaseProfile - getSystemTableManager(): while loop: ID:: IPR016148 Species:: Pseudomonas aeruginosa Richard On Wed, Sep 14, 2011 at 3:20 PM, Richard Brous <rbr...@gm...> wrote: > Solid progress made and I now have a compilable working copy. > > I'm now working through how to plug the results of the query into the > proper slots under the while loop. I had stumbled on an error where I was > supplying the column name instead of the actual data from the tuple. Solved > that and am hoping the current export will be the last before I commit to > sourceforge. > > Richard > > > On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...>wrote: > >> Spent the weekend reviewing sql and I have achieved some clarity. >> >> I'm still working through things but not at least I have better context >> and can ask intelligent questions. >> >> The sub query was a big help, I'm not sure how long it would have taken me >> to do all the joins using ON to return "hjid | species name" >> >> Dondi - I'll stop by after theory tomorrow to discuss further. >> >> Thanks. >> >> Richard >> >> >> On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...>wrote: >> >>> Hi Rich, >>> >>> As discussed in our meeting, here is a first step toward the new system >>> table query: >>> >>> SELECT entrytype.hjid, organismnametype.value FROM entrytype INNER >>> JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner join >>> organismnametype on (organismtype.hjid = >>> organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype >>> ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE >>> dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); >>> >>> (substitute the "id = " clause accordingly) >>> >>> John David N. Dionisio, PhD >>> Associate Professor, Computer Science >>> Associate Director, University Honors Program >>> Loyola Marymount University >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Why Cloud-Based Security and Archiving Make Sense >>> Osterman Research conducted this study that outlines how and why cloud >>> computing security and archiving is rapidly being adopted across the IT >>> space for its ease of implementation, lower cost, and increased >>> reliability. Learn more. >>> http://www.accelacomm.com/jaw/sfnl/114/51425301/ >>> _______________________________________________ >>> xmlpipedb-developer mailing list >>> xml...@li... >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>> >> >> > |
From: Richard B. <rbr...@gm...> - 2011-09-14 22:20:55
|
Solid progress made and I now have a compilable working copy. I'm now working through how to plug the results of the query into the proper slots under the while loop. I had stumbled on an error where I was supplying the column name instead of the actual data from the tuple. Solved that and am hoping the current export will be the last before I commit to sourceforge. Richard On Mon, Sep 12, 2011 at 10:59 PM, Richard Brous <rbr...@gm...> wrote: > Spent the weekend reviewing sql and I have achieved some clarity. > > I'm still working through things but not at least I have better context and > can ask intelligent questions. > > The sub query was a big help, I'm not sure how long it would have taken me > to do all the joins using ON to return "hjid | species name" > > Dondi - I'll stop by after theory tomorrow to discuss further. > > Thanks. > > Richard > > > On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...>wrote: > >> Hi Rich, >> >> As discussed in our meeting, here is a first step toward the new system >> table query: >> >> SELECT entrytype.hjid, organismnametype.value FROM entrytype INNER >> JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner join >> organismnametype on (organismtype.hjid = >> organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype >> ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE >> dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); >> >> (substitute the "id = " clause accordingly) >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Associate Director, University Honors Program >> Loyola Marymount University >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Why Cloud-Based Security and Archiving Make Sense >> Osterman Research conducted this study that outlines how and why cloud >> computing security and archiving is rapidly being adopted across the IT >> space for its ease of implementation, lower cost, and increased >> reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/ >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > > |
From: Richard B. <rbr...@gm...> - 2011-09-13 06:00:08
|
Spent the weekend reviewing sql and I have achieved some clarity. I'm still working through things but not at least I have better context and can ask intelligent questions. The sub query was a big help, I'm not sure how long it would have taken me to do all the joins using ON to return "hjid | species name" Dondi - I'll stop by after theory tomorrow to discuss further. Thanks. Richard On Thu, Sep 8, 2011 at 5:24 PM, John David N. Dionisio <do...@lm...>wrote: > Hi Rich, > > As discussed in our meeting, here is a first step toward the new system > table query: > > SELECT entrytype.hjid, organismnametype.value FROM entrytype INNER > JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner join > organismnametype on (organismtype.hjid = > organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype > ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE > dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); > > (substitute the "id = " clause accordingly) > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > > > > ------------------------------------------------------------------------------ > Why Cloud-Based Security and Archiving Make Sense > Osterman Research conducted this study that outlines how and why cloud > computing security and archiving is rapidly being adopted across the IT > space for its ease of implementation, lower cost, and increased > reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/ > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-09-09 00:24:26
|
Hi Rich, As discussed in our meeting, here is a first step toward the new system table query: SELECT entrytype.hjid, organismnametype.value FROM entrytype INNER JOIN organismtype ON (entrytype.organism = organismtype.hjid) inner join organismnametype on (organismtype.hjid = organismnametype.organismtype_name_hjid) INNER JOIN dbreferencetype ON(dbreferencetype.organismtype_dbreference_hjid = organismtype.hjid) WHERE dbreferencetype.type = 'NCBI Taxonomy' and (id = '90371'); (substitute the "id = " clause accordingly) John David N. Dionisio, PhD Associate Professor, Computer Science Associate Director, University Honors Program Loyola Marymount University |
From: John D. N. D. <do...@lm...> - 2011-09-05 01:14:28
|
Good to hear it worked! That was an interesting code journey :) Let me know how the new IDs + species name SQL query goes when you get to it. John David N. Dionisio, PhD Associate Professor, Computer Science Associate Director, University Honors Program Loyola Marymount University On Sep 4, 2011, at 5:45 PM, Richard Brous wrote: > ok, performed a two species export and the info table now contains only two species names in the form: > > species1|species2 > > Looks good. > > Richard > > On Sun, Sep 4, 2011 at 12:45 PM, Richard Brous <rbr...@gm...> wrote: > Thanks for sourcing this... I hadn't had any luck in doing so. > > Compiled and running a test export now before I head to the beach. > > Will let you know how it goes. > > Richard > > On Sun, Sep 4, 2011 at 12:25 AM, John David N. Dionisio <do...@lm...> wrote: > Hi Rich, > > I took a look at the getInfoTableManager code and may have located the problem. I committed the possible fix, with a comment above it explaining why. Next time you do an export, keep an eye on that species name when more than one species is selected and report back as needed. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > > On Sep 2, 2011, at 11:21 AM, Richard Brous wrote: > > > roger, thanks. > > > > richard > > > > On Fri, Sep 2, 2011 at 11:10 AM, John David N. Dionisio <do...@lm...> wrote: > > OK, thanks. I will look into issue #1 concurrently and will report back. Regarding issue #2, I confirmed with Kam that we do need the per-species value for each ID. As we are prioritizing database approaches first, here you have a distinct exercise in SQL formation that is relevant to the tutorial course: > > > > - Modify the formed query so that it returns, for each ID, the corresponding species name. If successful, you will then have both ID and species name to provide to tableManager.submit, and you will not need an outer loop for every species profile. > > > > The way I suggest you do this is to form a valid query directly in PostgreSQL (i.e., via pgAdmin or psql). That should be pretty easy to get since you are logging the final query string --- just copy and paste that. Experiment with the query directly within PostgreSQL until you have one that works. Then transplant that into the code. > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Associate Director, University Honors Program > > Loyola Marymount University > > > > > > > > On Sep 2, 2011, at 11:04 AM, Richard Brous wrote: > > > > > OK, so still two outstanding issues regarding the last 2 modified methods: > > > > > > 1. getInfoTableManager() > > > > > > Still returning 3 species names when only two are selected. Returns one species name when only one is selected. > > > - I will review the loop again and see if I can determine what is going on here. > > > > > > 2. getSystemTableManager() > > > > > > I added a for loop within the while condition which after discussions we know is incorrect. Will pull that out but we need to determine how to move forward with the issue of determining which species each id belongs to. removed loop and submitted to SourceForge but now build is essentially broken till we figure out the wrinkle. Adding a for speciesprofile loop at the top was discussed as a solution of last resort. > > > > > > UniProtDatabaseProfile - while loop begins at line # 585 > > > > > > --------------------------------------------------------------------------------------------------------------- > > > > > > Also made modifications to getSystemsTableManager() which applies the species customizations for each species profile selected. Seems correct to me but please confirm. > > > > > > -------------------------------------------------------------------------------------------------------------- > > > > > > Discussions surrounding getPrimarySystemTableManager() assumed likely bad coding since it seems to call for a customized schema although it is identical to the default UniProt schema. > > > > > > It calls getPrimarySystemTableManagerCustomizations() which is specific to Arabidopsis thaliana and Ecoli only. > > > > > > Didn't want to dig into this yet until other higher priority modifications were done first plus I believe a discussion with Dr. D was going to occur as well. > > > > > > --------------------------------------------------------------------------------------------------------------- > > > > > > getRelationsTableManager() is the last method which remains untouched but I will start reviewing and come up with a plan of attack. > > > > > > -------------------------------------------------------------------------------------------------------------- > > > > > > These are all the loose ends I can think of to document. > > > > > > Thanks! > > > > > > Richard > > > > > > > > > > > > On Wed, Aug 31, 2011 at 12:52 PM, Richard Brous <rbr...@gm...> wrote: > > > Submitted changes to UniProtDatabaseProfile based on the logical corrections from yesterdays convo with Dondi. > > > > > > These do not yet include the discussed optimizations, just wanted to get it working and do some test exports... which completed successfully. > > > > > > I also added a for loop under the while loop in getSystemTableManager() to ensure each query result is processed for each selected species profile. > > > The loop is on line 587 and I added it because it seemed a solution to have each species profile included... is this correct or should I be submitting all at once versus each species? > > > > > > Richard > > > > > > <ATT00001..txt><ATT00002..txt> > > > > > > ------------------------------------------------------------------------------ > > Special Offer -- Download ArcSight Logger for FREE! > > Finally, a world-class log management solution at an even better > > price-free! And you'll get a free "Love Thy Logs" t-shirt when you > > download Logger. Secure your free ArcSight Logger TODAY! > > http://p.sf.net/sfu/arcsisghtdev2dev > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > <ATT00001..txt><ATT00002..txt> > > > ------------------------------------------------------------------------------ > Special Offer -- Download ArcSight Logger for FREE! > Finally, a world-class log management solution at an even better > price-free! And you'll get a free "Love Thy Logs" t-shirt when you > download Logger. Secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsisghtdev2dev > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-09-05 00:45:30
|
ok, performed a two species export and the info table now contains only two species names in the form: species1|species2 Looks good. Richard On Sun, Sep 4, 2011 at 12:45 PM, Richard Brous <rbr...@gm...> wrote: > Thanks for sourcing this... I hadn't had any luck in doing so. > > Compiled and running a test export now before I head to the beach. > > Will let you know how it goes. > > Richard > > On Sun, Sep 4, 2011 at 12:25 AM, John David N. Dionisio <do...@lm...>wrote: > >> Hi Rich, >> >> I took a look at the getInfoTableManager code and may have located the >> problem. I committed the possible fix, with a comment above it explaining >> why. Next time you do an export, keep an eye on that species name when more >> than one species is selected and report back as needed. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Associate Director, University Honors Program >> Loyola Marymount University >> >> >> >> On Sep 2, 2011, at 11:21 AM, Richard Brous wrote: >> >> > roger, thanks. >> > >> > richard >> > >> > On Fri, Sep 2, 2011 at 11:10 AM, John David N. Dionisio <do...@lm...> >> wrote: >> > OK, thanks. I will look into issue #1 concurrently and will report >> back. Regarding issue #2, I confirmed with Kam that we do need the >> per-species value for each ID. As we are prioritizing database approaches >> first, here you have a distinct exercise in SQL formation that is relevant >> to the tutorial course: >> > >> > - Modify the formed query so that it returns, for each ID, the >> corresponding species name. If successful, you will then have both ID and >> species name to provide to tableManager.submit, and you will not need an >> outer loop for every species profile. >> > >> > The way I suggest you do this is to form a valid query directly in >> PostgreSQL (i.e., via pgAdmin or psql). That should be pretty easy to get >> since you are logging the final query string --- just copy and paste that. >> Experiment with the query directly within PostgreSQL until you have one >> that works. Then transplant that into the code. >> > >> > John David N. Dionisio, PhD >> > Associate Professor, Computer Science >> > Associate Director, University Honors Program >> > Loyola Marymount University >> > >> > >> > >> > On Sep 2, 2011, at 11:04 AM, Richard Brous wrote: >> > >> > > OK, so still two outstanding issues regarding the last 2 modified >> methods: >> > > >> > > 1. getInfoTableManager() >> > > >> > > Still returning 3 species names when only two are selected. Returns >> one species name when only one is selected. >> > > - I will review the loop again and see if I can determine what is >> going on here. >> > > >> > > 2. getSystemTableManager() >> > > >> > > I added a for loop within the while condition which after discussions >> we know is incorrect. Will pull that out but we need to determine how to >> move forward with the issue of determining which species each id belongs to. >> removed loop and submitted to SourceForge but now build is essentially >> broken till we figure out the wrinkle. Adding a for speciesprofile loop at >> the top was discussed as a solution of last resort. >> > > >> > > UniProtDatabaseProfile - while loop begins at line # 585 >> > > >> > > >> --------------------------------------------------------------------------------------------------------------- >> > > >> > > Also made modifications to getSystemsTableManager() which applies the >> species customizations for each species profile selected. Seems correct to >> me but please confirm. >> > > >> > > >> -------------------------------------------------------------------------------------------------------------- >> > > >> > > Discussions surrounding getPrimarySystemTableManager() assumed likely >> bad coding since it seems to call for a customized schema although it is >> identical to the default UniProt schema. >> > > >> > > It calls getPrimarySystemTableManagerCustomizations() which is >> specific to Arabidopsis thaliana and Ecoli only. >> > > >> > > Didn't want to dig into this yet until other higher priority >> modifications were done first plus I believe a discussion with Dr. D was >> going to occur as well. >> > > >> > > >> --------------------------------------------------------------------------------------------------------------- >> > > >> > > getRelationsTableManager() is the last method which remains untouched >> but I will start reviewing and come up with a plan of attack. >> > > >> > > >> -------------------------------------------------------------------------------------------------------------- >> > > >> > > These are all the loose ends I can think of to document. >> > > >> > > Thanks! >> > > >> > > Richard >> > > >> > > >> > > >> > > On Wed, Aug 31, 2011 at 12:52 PM, Richard Brous <rbr...@gm...> >> wrote: >> > > Submitted changes to UniProtDatabaseProfile based on the logical >> corrections from yesterdays convo with Dondi. >> > > >> > > These do not yet include the discussed optimizations, just wanted to >> get it working and do some test exports... which completed successfully. >> > > >> > > I also added a for loop under the while loop in >> getSystemTableManager() to ensure each query result is processed for each >> selected species profile. >> > > The loop is on line 587 and I added it because it seemed a solution to >> have each species profile included... is this correct or should I be >> submitting all at once versus each species? >> > > >> > > Richard >> > > >> > > <ATT00001..txt><ATT00002..txt> >> > >> > >> > >> ------------------------------------------------------------------------------ >> > Special Offer -- Download ArcSight Logger for FREE! >> > Finally, a world-class log management solution at an even better >> > price-free! And you'll get a free "Love Thy Logs" t-shirt when you >> > download Logger. Secure your free ArcSight Logger TODAY! >> > http://p.sf.net/sfu/arcsisghtdev2dev >> > _______________________________________________ >> > xmlpipedb-developer mailing list >> > xml...@li... >> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > >> > <ATT00001..txt><ATT00002..txt> >> >> >> >> ------------------------------------------------------------------------------ >> Special Offer -- Download ArcSight Logger for FREE! >> Finally, a world-class log management solution at an even better >> price-free! And you'll get a free "Love Thy Logs" t-shirt when you >> download Logger. Secure your free ArcSight Logger TODAY! >> http://p.sf.net/sfu/arcsisghtdev2dev >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > > |
From: Richard B. <rbr...@gm...> - 2011-09-04 19:45:30
|
Thanks for sourcing this... I hadn't had any luck in doing so. Compiled and running a test export now before I head to the beach. Will let you know how it goes. Richard On Sun, Sep 4, 2011 at 12:25 AM, John David N. Dionisio <do...@lm...>wrote: > Hi Rich, > > I took a look at the getInfoTableManager code and may have located the > problem. I committed the possible fix, with a comment above it explaining > why. Next time you do an export, keep an eye on that species name when more > than one species is selected and report back as needed. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > > On Sep 2, 2011, at 11:21 AM, Richard Brous wrote: > > > roger, thanks. > > > > richard > > > > On Fri, Sep 2, 2011 at 11:10 AM, John David N. Dionisio <do...@lm...> > wrote: > > OK, thanks. I will look into issue #1 concurrently and will report back. > Regarding issue #2, I confirmed with Kam that we do need the per-species > value for each ID. As we are prioritizing database approaches first, here > you have a distinct exercise in SQL formation that is relevant to the > tutorial course: > > > > - Modify the formed query so that it returns, for each ID, the > corresponding species name. If successful, you will then have both ID and > species name to provide to tableManager.submit, and you will not need an > outer loop for every species profile. > > > > The way I suggest you do this is to form a valid query directly in > PostgreSQL (i.e., via pgAdmin or psql). That should be pretty easy to get > since you are logging the final query string --- just copy and paste that. > Experiment with the query directly within PostgreSQL until you have one > that works. Then transplant that into the code. > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Associate Director, University Honors Program > > Loyola Marymount University > > > > > > > > On Sep 2, 2011, at 11:04 AM, Richard Brous wrote: > > > > > OK, so still two outstanding issues regarding the last 2 modified > methods: > > > > > > 1. getInfoTableManager() > > > > > > Still returning 3 species names when only two are selected. Returns one > species name when only one is selected. > > > - I will review the loop again and see if I can determine what is going > on here. > > > > > > 2. getSystemTableManager() > > > > > > I added a for loop within the while condition which after discussions > we know is incorrect. Will pull that out but we need to determine how to > move forward with the issue of determining which species each id belongs to. > removed loop and submitted to SourceForge but now build is essentially > broken till we figure out the wrinkle. Adding a for speciesprofile loop at > the top was discussed as a solution of last resort. > > > > > > UniProtDatabaseProfile - while loop begins at line # 585 > > > > > > > --------------------------------------------------------------------------------------------------------------- > > > > > > Also made modifications to getSystemsTableManager() which applies the > species customizations for each species profile selected. Seems correct to > me but please confirm. > > > > > > > -------------------------------------------------------------------------------------------------------------- > > > > > > Discussions surrounding getPrimarySystemTableManager() assumed likely > bad coding since it seems to call for a customized schema although it is > identical to the default UniProt schema. > > > > > > It calls getPrimarySystemTableManagerCustomizations() which is specific > to Arabidopsis thaliana and Ecoli only. > > > > > > Didn't want to dig into this yet until other higher priority > modifications were done first plus I believe a discussion with Dr. D was > going to occur as well. > > > > > > > --------------------------------------------------------------------------------------------------------------- > > > > > > getRelationsTableManager() is the last method which remains untouched > but I will start reviewing and come up with a plan of attack. > > > > > > > -------------------------------------------------------------------------------------------------------------- > > > > > > These are all the loose ends I can think of to document. > > > > > > Thanks! > > > > > > Richard > > > > > > > > > > > > On Wed, Aug 31, 2011 at 12:52 PM, Richard Brous <rbr...@gm...> > wrote: > > > Submitted changes to UniProtDatabaseProfile based on the logical > corrections from yesterdays convo with Dondi. > > > > > > These do not yet include the discussed optimizations, just wanted to > get it working and do some test exports... which completed successfully. > > > > > > I also added a for loop under the while loop in getSystemTableManager() > to ensure each query result is processed for each selected species profile. > > > The loop is on line 587 and I added it because it seemed a solution to > have each species profile included... is this correct or should I be > submitting all at once versus each species? > > > > > > Richard > > > > > > <ATT00001..txt><ATT00002..txt> > > > > > > > ------------------------------------------------------------------------------ > > Special Offer -- Download ArcSight Logger for FREE! > > Finally, a world-class log management solution at an even better > > price-free! And you'll get a free "Love Thy Logs" t-shirt when you > > download Logger. Secure your free ArcSight Logger TODAY! > > http://p.sf.net/sfu/arcsisghtdev2dev > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > <ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > Special Offer -- Download ArcSight Logger for FREE! > Finally, a world-class log management solution at an even better > price-free! And you'll get a free "Love Thy Logs" t-shirt when you > download Logger. Secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsisghtdev2dev > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-09-04 07:25:42
|
Hi Rich, I took a look at the getInfoTableManager code and may have located the problem. I committed the possible fix, with a comment above it explaining why. Next time you do an export, keep an eye on that species name when more than one species is selected and report back as needed. John David N. Dionisio, PhD Associate Professor, Computer Science Associate Director, University Honors Program Loyola Marymount University On Sep 2, 2011, at 11:21 AM, Richard Brous wrote: > roger, thanks. > > richard > > On Fri, Sep 2, 2011 at 11:10 AM, John David N. Dionisio <do...@lm...> wrote: > OK, thanks. I will look into issue #1 concurrently and will report back. Regarding issue #2, I confirmed with Kam that we do need the per-species value for each ID. As we are prioritizing database approaches first, here you have a distinct exercise in SQL formation that is relevant to the tutorial course: > > - Modify the formed query so that it returns, for each ID, the corresponding species name. If successful, you will then have both ID and species name to provide to tableManager.submit, and you will not need an outer loop for every species profile. > > The way I suggest you do this is to form a valid query directly in PostgreSQL (i.e., via pgAdmin or psql). That should be pretty easy to get since you are logging the final query string --- just copy and paste that. Experiment with the query directly within PostgreSQL until you have one that works. Then transplant that into the code. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > > On Sep 2, 2011, at 11:04 AM, Richard Brous wrote: > > > OK, so still two outstanding issues regarding the last 2 modified methods: > > > > 1. getInfoTableManager() > > > > Still returning 3 species names when only two are selected. Returns one species name when only one is selected. > > - I will review the loop again and see if I can determine what is going on here. > > > > 2. getSystemTableManager() > > > > I added a for loop within the while condition which after discussions we know is incorrect. Will pull that out but we need to determine how to move forward with the issue of determining which species each id belongs to. removed loop and submitted to SourceForge but now build is essentially broken till we figure out the wrinkle. Adding a for speciesprofile loop at the top was discussed as a solution of last resort. > > > > UniProtDatabaseProfile - while loop begins at line # 585 > > > > --------------------------------------------------------------------------------------------------------------- > > > > Also made modifications to getSystemsTableManager() which applies the species customizations for each species profile selected. Seems correct to me but please confirm. > > > > -------------------------------------------------------------------------------------------------------------- > > > > Discussions surrounding getPrimarySystemTableManager() assumed likely bad coding since it seems to call for a customized schema although it is identical to the default UniProt schema. > > > > It calls getPrimarySystemTableManagerCustomizations() which is specific to Arabidopsis thaliana and Ecoli only. > > > > Didn't want to dig into this yet until other higher priority modifications were done first plus I believe a discussion with Dr. D was going to occur as well. > > > > --------------------------------------------------------------------------------------------------------------- > > > > getRelationsTableManager() is the last method which remains untouched but I will start reviewing and come up with a plan of attack. > > > > -------------------------------------------------------------------------------------------------------------- > > > > These are all the loose ends I can think of to document. > > > > Thanks! > > > > Richard > > > > > > > > On Wed, Aug 31, 2011 at 12:52 PM, Richard Brous <rbr...@gm...> wrote: > > Submitted changes to UniProtDatabaseProfile based on the logical corrections from yesterdays convo with Dondi. > > > > These do not yet include the discussed optimizations, just wanted to get it working and do some test exports... which completed successfully. > > > > I also added a for loop under the while loop in getSystemTableManager() to ensure each query result is processed for each selected species profile. > > The loop is on line 587 and I added it because it seemed a solution to have each species profile included... is this correct or should I be submitting all at once versus each species? > > > > Richard > > > > <ATT00001..txt><ATT00002..txt> > > > ------------------------------------------------------------------------------ > Special Offer -- Download ArcSight Logger for FREE! > Finally, a world-class log management solution at an even better > price-free! And you'll get a free "Love Thy Logs" t-shirt when you > download Logger. Secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsisghtdev2dev > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-09-02 18:21:44
|
roger, thanks. richard On Fri, Sep 2, 2011 at 11:10 AM, John David N. Dionisio <do...@lm...>wrote: > OK, thanks. I will look into issue #1 concurrently and will report back. > Regarding issue #2, I confirmed with Kam that we do need the per-species > value for each ID. As we are prioritizing database approaches first, here > you have a distinct exercise in SQL formation that is relevant to the > tutorial course: > > - Modify the formed query so that it returns, for each ID, the > corresponding species name. If successful, you will then have both ID and > species name to provide to tableManager.submit, and you will not need an > outer loop for every species profile. > > The way I suggest you do this is to form a valid query directly in > PostgreSQL (i.e., via pgAdmin or psql). That should be pretty easy to get > since you are logging the final query string --- just copy and paste that. > Experiment with the query directly within PostgreSQL until you have one > that works. Then transplant that into the code. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Associate Director, University Honors Program > Loyola Marymount University > > > > On Sep 2, 2011, at 11:04 AM, Richard Brous wrote: > > > OK, so still two outstanding issues regarding the last 2 modified > methods: > > > > 1. getInfoTableManager() > > > > Still returning 3 species names when only two are selected. Returns one > species name when only one is selected. > > - I will review the loop again and see if I can determine what is going > on here. > > > > 2. getSystemTableManager() > > > > I added a for loop within the while condition which after discussions we > know is incorrect. Will pull that out but we need to determine how to move > forward with the issue of determining which species each id belongs to. > removed loop and submitted to SourceForge but now build is essentially > broken till we figure out the wrinkle. Adding a for speciesprofile loop at > the top was discussed as a solution of last resort. > > > > UniProtDatabaseProfile - while loop begins at line # 585 > > > > > --------------------------------------------------------------------------------------------------------------- > > > > Also made modifications to getSystemsTableManager() which applies the > species customizations for each species profile selected. Seems correct to > me but please confirm. > > > > > -------------------------------------------------------------------------------------------------------------- > > > > Discussions surrounding getPrimarySystemTableManager() assumed likely bad > coding since it seems to call for a customized schema although it is > identical to the default UniProt schema. > > > > It calls getPrimarySystemTableManagerCustomizations() which is specific > to Arabidopsis thaliana and Ecoli only. > > > > Didn't want to dig into this yet until other higher priority > modifications were done first plus I believe a discussion with Dr. D was > going to occur as well. > > > > > --------------------------------------------------------------------------------------------------------------- > > > > getRelationsTableManager() is the last method which remains untouched but > I will start reviewing and come up with a plan of attack. > > > > > -------------------------------------------------------------------------------------------------------------- > > > > These are all the loose ends I can think of to document. > > > > Thanks! > > > > Richard > > > > > > > > On Wed, Aug 31, 2011 at 12:52 PM, Richard Brous <rbr...@gm...> > wrote: > > Submitted changes to UniProtDatabaseProfile based on the logical > corrections from yesterdays convo with Dondi. > > > > These do not yet include the discussed optimizations, just wanted to get > it working and do some test exports... which completed successfully. > > > > I also added a for loop under the while loop in getSystemTableManager() > to ensure each query result is processed for each selected species profile. > > The loop is on line 587 and I added it because it seemed a solution to > have each species profile included... is this correct or should I be > submitting all at once versus each species? > > > > Richard > > > > <ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > Special Offer -- Download ArcSight Logger for FREE! > Finally, a world-class log management solution at an even better > price-free! And you'll get a free "Love Thy Logs" t-shirt when you > download Logger. Secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsisghtdev2dev > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-09-02 18:10:50
|
OK, thanks. I will look into issue #1 concurrently and will report back. Regarding issue #2, I confirmed with Kam that we do need the per-species value for each ID. As we are prioritizing database approaches first, here you have a distinct exercise in SQL formation that is relevant to the tutorial course: - Modify the formed query so that it returns, for each ID, the corresponding species name. If successful, you will then have both ID and species name to provide to tableManager.submit, and you will not need an outer loop for every species profile. The way I suggest you do this is to form a valid query directly in PostgreSQL (i.e., via pgAdmin or psql). That should be pretty easy to get since you are logging the final query string --- just copy and paste that. Experiment with the query directly within PostgreSQL until you have one that works. Then transplant that into the code. John David N. Dionisio, PhD Associate Professor, Computer Science Associate Director, University Honors Program Loyola Marymount University On Sep 2, 2011, at 11:04 AM, Richard Brous wrote: > OK, so still two outstanding issues regarding the last 2 modified methods: > > 1. getInfoTableManager() > > Still returning 3 species names when only two are selected. Returns one species name when only one is selected. > - I will review the loop again and see if I can determine what is going on here. > > 2. getSystemTableManager() > > I added a for loop within the while condition which after discussions we know is incorrect. Will pull that out but we need to determine how to move forward with the issue of determining which species each id belongs to. removed loop and submitted to SourceForge but now build is essentially broken till we figure out the wrinkle. Adding a for speciesprofile loop at the top was discussed as a solution of last resort. > > UniProtDatabaseProfile - while loop begins at line # 585 > > --------------------------------------------------------------------------------------------------------------- > > Also made modifications to getSystemsTableManager() which applies the species customizations for each species profile selected. Seems correct to me but please confirm. > > -------------------------------------------------------------------------------------------------------------- > > Discussions surrounding getPrimarySystemTableManager() assumed likely bad coding since it seems to call for a customized schema although it is identical to the default UniProt schema. > > It calls getPrimarySystemTableManagerCustomizations() which is specific to Arabidopsis thaliana and Ecoli only. > > Didn't want to dig into this yet until other higher priority modifications were done first plus I believe a discussion with Dr. D was going to occur as well. > > --------------------------------------------------------------------------------------------------------------- > > getRelationsTableManager() is the last method which remains untouched but I will start reviewing and come up with a plan of attack. > > -------------------------------------------------------------------------------------------------------------- > > These are all the loose ends I can think of to document. > > Thanks! > > Richard > > > > On Wed, Aug 31, 2011 at 12:52 PM, Richard Brous <rbr...@gm...> wrote: > Submitted changes to UniProtDatabaseProfile based on the logical corrections from yesterdays convo with Dondi. > > These do not yet include the discussed optimizations, just wanted to get it working and do some test exports... which completed successfully. > > I also added a for loop under the while loop in getSystemTableManager() to ensure each query result is processed for each selected species profile. > The loop is on line 587 and I added it because it seemed a solution to have each species profile included... is this correct or should I be submitting all at once versus each species? > > Richard > > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-09-02 18:05:00
|
OK, so still two outstanding issues regarding the last 2 modified methods: 1. getInfoTableManager() Still returning 3 species names when only two are selected. Returns one species name when only one is selected. - I will review the loop again and see if I can determine what is going on here. 2. getSystemTableManager() I added a for loop within the while condition which after discussions we know is incorrect. Will pull that out but we need to determine how to move forward with the issue of determining which species each id belongs to. removed loop and submitted to SourceForge but now build is essentially broken till we figure out the wrinkle. Adding a for speciesprofile loop at the top was discussed as a solution of last resort. UniProtDatabaseProfile - while loop begins at line # 585 --------------------------------------------------------------------------------------------------------------- Also made modifications to getSystemsTableManager() which applies the species customizations for each species profile selected. Seems correct to me but please confirm. -------------------------------------------------------------------------------------------------------------- Discussions surrounding getPrimarySystemTableManager() assumed likely bad coding since it seems to call for a customized schema although it is identical to the default UniProt schema. It calls getPrimarySystemTableManagerCustomizations() which is specific to Arabidopsis thaliana and Ecoli only. Didn't want to dig into this yet until other higher priority modifications were done first plus I believe a discussion with Dr. D was going to occur as well. --------------------------------------------------------------------------------------------------------------- getRelationsTableManager() is the last method which remains untouched but I will start reviewing and come up with a plan of attack. -------------------------------------------------------------------------------------------------------------- These are all the loose ends I can think of to document. Thanks! Richard On Wed, Aug 31, 2011 at 12:52 PM, Richard Brous <rbr...@gm...> wrote: > Submitted changes to UniProtDatabaseProfile based on the logical > corrections from yesterdays convo with Dondi. > > These do not yet include the discussed optimizations, just wanted to get it > working and do some test exports... which completed successfully. > > I also added a for loop under the while loop in getSystemTableManager() to > ensure each query result is processed for each selected species profile. > The loop is on line 587 and I added it because it seemed a solution to have > each species profile included... is this correct or should I be submitting > all at once versus each species? > > Richard > |