Re: [XMLPipeDB-developer] 499 - PROBLEM - M tuberculosis xml tag importation
Brought to you by:
kdahlquist,
zugzugglug
From: Richard B. <rbr...@gm...> - 2011-02-22 05:41:02
|
ah yes... i see it... On Mon, Feb 21, 2011 at 9:33 PM, John David N. Dionisio <do...@lm...>wrote: > Watch your parentheses: "and" has greater precedence than "or" :) > > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > On Feb 21, 2011, at 7:59 PM, Richard Brous <rbr...@gm...> wrote: > > OK, so here are my query results from raw SQL: > > 1. using: like 'Rv%' > > select count (*) from genenametype where type = 'ordered locus' and value > like 'Rv%'; > returns 3988 > > select count (*) from genenametype where type = 'ORF' and value like 'Rv%'; > returns 70 > > select count (*) from genenametype where type = 'ordered locus' or type = > 'ORF' and value like 'Rv%'; > returns 7011 > > 2. regular expression : value ~ '[Rr][Vv][0-9][0-9][0-9][0-9]*' > > select count (*) from genenametype where type = 'ordered locus' and value ~ > '[Rr][Vv][0-9][0-9][0-9][0-9]*'; > returns 3988 > > select count (*) from genenametype where type = 'ordered locus' or type = > 'ORF' and value ~ '[Rr][Vv][0-9][0-9][0-9][0-9]*'; > returns 7011 > > select count (*) from genenametype where type = 'ORF' and value ~ > '[Rr][Vv][0-9][0-9][0-9][0-9]*'; > returns 70 > > Conclusions: > > 1. It seems that querying for type = 'ORF' alone surfaces the 69 genes were > were looking for plus one more (maybe the count for missing genes is off > by 1?). > > 2. Combining the two types in a single query did not produce the results > that I expected (7011? - how did that happen????) so this is likely not our > solution... unless of course the query syntax isn't actually doing what I > think it is... > > 3. I would think the best course of action is to serialy run two separate > queries to capture all the required genes, then removing the one unneeded > gene if its truly not wanted. > > What do you think? > > Richard > > > On Mon, Feb 21, 2011 at 5:17 PM, John David N. Dionisio <do...@lm...>wrote: > >> I don't recall the exact details of the missing 69, but if your query >> successfully returns them in raw SQL, then this is worth a try. You can >> integrate into the same query as long as the same columns are returned, >> which is the case here AFAIK, so go ahead and extend the existing query. >> >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Loyola Marymount University >> >> On Feb 21, 2011, at 6:56 PM, Richard Brous <rbr...@gm...> wrote: >> >> So here is the appropriate code snippet from >> MycobacteriumTuberculosisUniProtSpeciesProfile.java: >> >> * >> >> public >> *TableManager getSystemTableManagerCustomizations(TableManager >> tableManager, TableManager primarySystemTableManager, Date version) * >> throws* SQLException, InvalidParameterException { >> >> // Build the base query; we only use "ordered locus" and we only want >> >> // IDs that begin with "*Rv*." >> >> PreparedStatement ps = ConnectionManager.*getRelationalDBConnection* >> ().prepareStatement( >> "SELECT value, type " + >> >> "FROM genenametype INNER JOIN entrytype_genetype " + >> >> "ON (entrytype_genetype_name_hjid = entrytype_genetype.hjid) " + >> >> "WHERE type = 'ordered locus' and value like 'Rv%' and entrytype_gene_hjid >> = ?"); >> >> ResultSet result; >> >> *for* (Row row : primarySystemTableManager.getRows()) { >> >> ps.setInt(1, Integer.*parseInt*(row.getValue( >> "UID"))); >> >> result = ps.executeQuery(); >> >> // We actually want to keep the case where multiple ordered locus >> >> // names appear. >> >> *while* (result.next()) { >> >> // We want this name to appear in the OrderedLocusNames >> >> // system table. >> >> *for* (String id : result.getString("value").split("/")) { >> >> tableManager.submit( >> "OrderedLocusNames", QueryType.*insert*, *new* String[][] { { "ID", id }, >> { "Species", "|" + getSpeciesName() + "|" }, { "\"Date\"", >> GenMAPPBuilderUtilities.*getSystemsDateString*(version) }, { "UID", >> row.getValue("UID") } }); >> >> } >> >> } >> >> } >> >> >> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- >> So now we want to build the base query which uses "ordered locus" and >> "orf" and we only want IDs that begin with "Rv". >> >> I know there are more comprehensive ways to search for gene ID's >> by matching gene ID prefix but "like Rv%" seemed to work thus far, we just >> need to tell it to search for XML tag type orf in addition to ordered locus. >> >> "WHERE type = 'ordered locus' and type = 'orf' and value like 'Rv%' and >> entrytype_gene_hjid = ? " >> >> Here is a stab at it.... This part of our class was right as the server >> went down and my submission for week 6 assignment I can't seem to find. >> >> Is it possible to have two different types in the same query or should we >> rewrite a separate query for the orf tag? >> >> Richard >> >> >> >> On Sun, Feb 20, 2011 at 10:21 PM, Richard Brous < <rbr...@gm...> >> rbr...@gm...> wrote: >> >> >>> thanks and will do as directed. >>> >>> My previous, last paragraph comment - A way for programming code in email >>> holding its format in a mail message similarly to how you can post code on >>> forum pages? >>> >>> <code> >>> blah >>> blah >>> blah >>> </code> >>> >>> thanks! >>> >>> Richard >>> >>> On Sun, Feb 20, 2011 at 10:05 PM, John David N. Dionisio <<do...@lm...> >>> do...@lm...> wrote: >>> >>> >>>> Greetings, >>>> >>>> Actually, gmbuilder.properties is for the TallyEngine only. When >>>> dealing with .gdb exports, look *only* at the SpeciesProfile class. So, to >>>> find those 69 IDs, it is the SpeciesProfile code, and *only* the >>>> SpeciesProfile code, that needs to be changed. >>>> >>>> Your take on how gmbuilder.properties is used, however, is >>>> understandable. It makes sense to assume that the TallyEngine code *and* >>>> the ID export code are based on the same characterization of the needed IDs. >>>> This replication is originally a historical artifact: SpeciesProfile was >>>> done first, and then TallyEngine was done later by another student. >>>> >>>> However, there are other factors beyond history that sort of necessitate >>>> this duplication of desired IDs: (skip the two bullets below if you'd rather >>>> cut to the chase of the work to be done, and discuss design issues later) >>>> >>>> - The actual XML import code is a black box: this is the "canned" JAXB >>>> library actually in action, and not our code at all. Plus, the XML import >>>> code really does not filter (nor should it), since the goal of the >>>> XML->relational database step is to fully capture the XML data in the >>>> relational database. So, XML count is necessarily separated from XML >>>> import. >>>> >>>> - The notion of a declarative mechanism for extracting IDs from the >>>> relational database (which is what gmbuilder.properties/TallyEngine uses) is >>>> interesting, but at the same time there is value in the arbitrary >>>> computation that can be done with Java (case in point: export two versions >>>> of an ID, with and without periods). This is not to say that it is >>>> impossible to do this declaratively, but let's just say that the procedural >>>> approach exists here and now, and a declarative approach will need more >>>> thought. >>>> >>>> These, and other factors, are good thoughts to hold onto and would be >>>> worthy of a good meeting discussion sometime, but bottom line for now: >>>> modifying the export behavior is a matter of editing the *SpeciesProfile* >>>> Java code, and not the gmbuilder.properties file. Turn your attention to >>>> that code. >>>> >>>> Now, as to annotating your code...I'd just put in code comments :) Or >>>> did you mean something else by tagging code in e-mail? >>>> >>>> John David N. Dionisio, PhD >>>> Associate Professor, Computer Science >>>> Loyola Marymount University >>>> >>>> >>>> >>>> >>>> On Feb 21, 2011, at 12:38 AM, Richard Brous wrote: >>>> >>>> > also, how do I tag code in email so it holds its formatting? I tried a >>>> few suggestions I found on the web but they aren't holding formatting or i'm >>>> just doing it wrong ;-D >>>> > >>>> > Richard >>>> > >>>> > On Sun, Feb 20, 2011 at 9:35 PM, Richard Brous < <rbr...@gm...> >>>> rbr...@gm...> wrote: >>>> > OK, have some updates and some suggestions: >>>> > >>>> > On Friday Dr. Dahlquist and I sat down and reviewed the gene testing >>>> report. We verified that XML match does indeed find 4066 unique matches - 75 >>>> of which are not in the gdb and need to be. >>>> > >>>> > Dr. Dahlquist informed me that she was the one who completed the gene >>>> db testing report, not a previous student of BIO367 and had already verified >>>> which genes were missing and where they were to be found. I had (mistakenly) >>>> assumed that since a student had performed the gene database testing I had >>>> to redo all of the verification. >>>> > >>>> > So that said, of the 75 genes missing - 69 need to be included and 6 >>>> excluded. >>>> > Per the gene db testing report: "69 of them have an "a", "b", or "d" >>>> suffix. They are all found in the ORF tag and need to be included in the >>>> gdb." >>>> > >>>> > To solve this we need to add additional search criteria into the M. >>>> tuberculosis section in gmbuilder.properties below: >>>> > # Mycobacterium tuberculosis >>>> > >>>> > mycobacteriumtuberculosis_level_amount= >>>> > >>>> > 1 >>>> > >>>> > mycobacteriumtuberculosis_element_level0= >>>> > >>>> > uniprot/entry/gene/name&type&ordered locus >>>> > >>>> > mycobacteriumtuberculosis_query_level0= >>>> > >>>> > select count(*) from genenametype where type = 'ordered locus' and >>>> value like 'Rv%'; >>>> > >>>> > mycobacteriumtuberculosis_table_name_level0= >>>> > >>>> > Ordered Locus >>>> > SOLUTIONS: >>>> > >>>> > 1. So am i correct in my understanding that the second line is the >>>> query used by TallyEngine to read the XML file? If so then this is the issue >>>> we need to table for the moment until we get the gbd verified and >>>> re-released. We will revisit this to discover why it is not only reporting >>>> incorrectly but also why its added a second row of Ordered Locus on the >>>> TallyEngine results page. >>>> > >>>> > 2. The third line is the SQL query used by postgres during the export >>>> from XML to gdb. To find and get the ORF tagged genes could we not add the >>>> following lines and change the count in the first line: >>>> > >>>> > >>>> > # Mycobacterium tuberculosis >>>> > >>>> > mycobacteriumtuberculosis_level_amount=2 >>>> > >>>> > >>>> > >>>> mycobacteriumtuberculosis_element_level0=uniprot/entry/gene/name&type&ordered >>>> locus >>>> > >>>> mycobacteriumtuberculosis_element_level1=uniprot/entry/gene/name&type&orf >>>> > >>>> > >>>> > mycobacteriumtuberculosis_query_level0= >>>> > >>>> > select count(*) from genenametype where type = 'ordered locus'; >>>> > mycobacteriumtuberculosis_query_level1=select count(*) from >>>> genenametype where type = 'orf'; >>>> > >>>> > >>>> > mycobacteriumtuberculosis_table_name_level0= >>>> > >>>> > Ordered Locus >>>> > mycobacteriumtuberculosis_table_name_level1=Ordered Locus >>>> > >>>> > >>>> ---------------------------------------------------------------------------------------------------------------------------- >>>> > >>>> > Of course these queries would have be manually verified prior to >>>> making these changes but this seems like we are moving in the right >>>> direction. >>>> > >>>> > Richard >>>> > >>>> > >>>> > On Thu, Feb 17, 2011 at 7:47 PM, Richard Brous < <rbr...@gm...> >>>> rbr...@gm...> wrote: >>>> > Just got done reading previous email and understand the change in >>>> priority. >>>> > >>>> > Will work on the missing ID's for now and shelve the the TalleyEngine >>>> issue for the moment. >>>> > >>>> > Also great about a more formalized weekly meeting. I was going to >>>> suggest it myself as it has been slow going so far as maybe i'm a bit too >>>> independent in this independent study class =D >>>> > >>>> > Will dig further into the missing ID's later tonight and during day >>>> tomorrow and report back. >>>> > >>>> > Richard >>>> > >>>> > On Thu, Feb 17, 2011 at 4:34 PM, John David N. Dionisio <<do...@lm...> >>>> do...@lm...> wrote: >>>> > Hi Rich, >>>> > >>>> > No problem. The pertinent line you're referring to, for XML, is this, >>>> right above the line you copied: >>>> > >>>> > >>>> mycobacteriumtuberculosis_element_level0=uniprot/entry/gene/name&type&ordered >>>> locus >>>> > >>>> > The slash-separated section is the "path" of XML tags leading to the >>>> element of interest; then, after the ampersand, is a name/value pair for the >>>> desired attribute to count. Note that there is no hint of a *content*-based >>>> filter (nor is there the capability for one, as far as I can tell in the >>>> code). By "content," I mean that we can't specify filters based on what's >>>> *between* the tags. We can only go as far as filter by attribute value, >>>> e.g., type="ordered locus". >>>> > >>>> > But anyway, as mentioned in the earlier e-mail, let's have the missing >>>> IDs in the .gdb take precedence for now. Please take a look at the >>>> tuberculosis, A. thaliana, and P. falciparum profiles to get an idea for how >>>> the ID output can be customized, then let me know if you have any questions >>>> or need to confirm anything. >>>> > >>>> > John David N. Dionisio, PhD >>>> > Associate Professor, Computer Science >>>> > Loyola Marymount University >>>> > >>>> > >>>> > >>>> > On Feb 17, 2011, at 3:04 PM, Richard Brous wrote: >>>> > >>>> > > Sorry been slammed with a programming assignment that kept needing >>>> continued iteration and it has been all consuming until last night. But I >>>> did get a chance to work with your comments and review the code again with a >>>> different mind set. >>>> > > >>>> > > Yes, I examined the gmbuilder.properties file ( the query is also in >>>> the MycobacteriumTuberculosisUniProtSpeciesProfile which I mentioned in a >>>> previous email ) but I don't think I see what you mean regarding the XML >>>> count. >>>> > > >>>> > > I understood that: mycobacteriumtuberculosis_query_level0=select >>>> count(*) from genenametype where type = 'ordered locus' and value like >>>> 'Rv%'; was the db query but don't see which is the XML count... or do they >>>> share the same query and you are saying that XML count doesn't recognize and >>>> therefore cannot use the 'Rv%' parameter? >>>> > > >>>> > > Richard >>>> > > >>>> > > >>>> > > >>>> > > On Sat, Feb 12, 2011 at 11:46 PM, John David N. Dionisio <<do...@lm...> >>>> do...@lm...> wrote: >>>> > > Hi Rich, >>>> > > >>>> > > Sorry for the delay. Had some distractions coming into the weekend. >>>> > > >>>> > > You've looked at the code; have you looked at gmbuilder.properties? >>>> (I may have mentioned it a few e-mails ago, just as you were starting to >>>> dig into this) >>>> > > >>>> > > On the copy I have, the M. tuberculosis block looks like this >>>> (indentation is mine to set it apart): >>>> > > >>>> > > # Mycobacterium tuberculosis >>>> > > mycobacteriumtuberculosis_level_amount=1 >>>> > > >>>> > > >>>> mycobacteriumtuberculosis_element_level0=uniprot/entry/gene/name&type&ordered >>>> locus >>>> > > >>>> > > mycobacteriumtuberculosis_query_level0=select count(*) from >>>> genenametype where type = 'ordered locus' and value like 'Rv%'; >>>> > > >>>> > > mycobacteriumtuberculosis_table_name_level0=Ordered Locus >>>> > > >>>> > > There, I think, is the rub. Notice that the XML count does not >>>> filter on RV%. The SQL query does. >>>> > > >>>> > > Unfortunately, I don't think the TallyEngine can include selective >>>> filtering in the XML counts. If the need to do selective filtering on XML >>>> is necessary, then I think we're looking at a new functionality for you to >>>> implement (or, if this throws things off too much, this may have to be noted >>>> somewhere, that the XML vs. database counts may be off because the database >>>> count is doing some text-based filtering but the XML count does not). >>>> > > >>>> > > What does xmlpipedb-match say? That will at least tell you whether >>>> the 'RV%' count is indeed correct. >>>> > > >>>> > > John David N. Dionisio, PhD >>>> > > Associate Professor, Computer Science >>>> > > Loyola Marymount University >>>> > > >>>> > > >>>> > > >>>> > > On Feb 11, 2011, at 4:52 PM, Richard Brous wrote: >>>> > > >>>> > > > OK here is what I was able to put together from the past few hours >>>> of code review: >>>> > > > >>>> > > > MycobacteriumTuberculosisUniProtSpeciesProfile.java: >>>> > > > -reveals that after the 2 System table modifications are made >>>> adding species name and link, a PreparedStatement is instantiated which >>>> builds and calls the base query. >>>> > > > >>>> > > > -The base query called is: ("SELECT value, type " + "FROM >>>> genenametype INNER JOIN entrytype_genetype " + >>>> "ON(entrytype_genetype_name_hjid = entrytype_genetype.hjid) " + "WHERE type >>>> = 'ordered locus' and value like 'Rv%' and entrytype_gene_hjid = ?") >>>> > > > >>>> > > > -So its looking in 'ordered locus' table/column for any tuple that >>>> starts with Rv (followed by any substring) and entrytype_gene_hjid = ? . >>>> > > > The 'like' comparator and % usage are clear with the 'type' >>>> entrytype_gene_hjid = ? >>>> > > > >>>> > > > -To me it seems the query makes sense so the problem is likely >>>> elsewhere. >>>> > > > >>>> > > > GenMappBuilder.java: >>>> > > > -I found method doTallies() at code line 895 which: >>>> > > > Instantiates a Configuration called hibernateConfiguration and >>>> assigns to it the current hibernate configuration >>>> > > > Validates database settings by analyzing hibernateConfiguration >>>> > > > Instantiates a CriterionList for uniprot and assigns to it >>>> TallyType.UNIPROT >>>> > > > Instantiates a CriterionList for go and assigns to it TallyType.GO >>>> > > > Determines if both xml files exist >>>> > > > Then getTallyResultsXML and getTallyResultsDatabase are run on >>>> both xml files and their respective CriterionList >>>> > > > Results are then formatted for display in a table. >>>> > > > >>>> > > > -So enum TallyType which means that they are the only valid >>>> datatypes which TallyEngine accepts... go to know ... >>>> > > > >>>> > > > -Based on the screen shot of Tally Engine it would seem that both >>>> getTallyResultsXML() and getTallyResultsDatabase() are incorrectly >>>> returning. Likely due to both using an incorrect query (as we previously >>>> supposed). But where are the queries?... the more I dig the more I think >>>> they are in the criterial all the work is done against. >>>> > > > >>>> > > > continuing the review: >>>> > > > getTallyResultsXML() calls Tally Engine instance method >>>> getXmlFileCounts(xmlFile) >>>> > > > getTallyResultsDatabase() calls Tally Engine instance method >>>> getDbcounts(new QueryEngine(hibernateConfiguration) >>>> > > > Both of these instanced methods originate from TallyEngine.java... >>>> > > > >>>> > > > TallyEngine.java: >>>> > > > >>>> > > > getXmlFileCounts() calls digestXmlFile() which instantiates a >>>> digester then processes against criteria... but this quickly becomes >>>> confusing and is hard to follow >>>> > > > >>>> > > > getDbcounts() then starts a db session and executes a query but >>>> then I also get a bit lost with my limited db knowledge. >>>> > > > >>>> > > > >>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ >>>> > > > >>>> > > > OVERALL I think I'm getting closer to the issues but I still feel >>>> as if I'm missing some understanding to proceed further. Can you pass along >>>> some of that Dondi insight and steer me in the right direction? =D >>>> > > > >>>> > > > -DB Tally - Not having taken databases yet certainly is limiting >>>> my ability determine where the "criteria" are being set and how they are >>>> followed during session activities. Also is the query we have been looking >>>> for this whole time in the criteria or someplace else? >>>> > > > >>>> > > > -XML Tally - again is the query contained within the criteria that >>>> digestXmlFile() uses to parse? >>>> > > > >>>> > > > Richard >>>> > > > >>>> > > > >>>> > > > On Mon, Feb 7, 2011 at 5:50 PM, John David N. Dionisio <<do...@lm...> >>>> do...@lm...> wrote: >>>> > > > Right, schema issues are unlikely. Most count discrepancies like >>>> this that I've seen have boiled down to forming the right query. Then, >>>> knowing the right query (in both XML and SQL), it's a matter of making sure >>>> that TallyEngine asks that same query. >>>> > > > >>>> > > > John David N. Dionisio, PhD >>>> > > > Associate Professor, Computer Science >>>> > > > Loyola Marymount University >>>> > > > >>>> > > > >>>> > > > On Feb 7, 2011, at 5:48 PM, Richard Brous wrote: >>>> > > > >>>> > > > > OK, so based on your approach: >>>> > > > > >>>> > > > > 1. I'll start with reviewing the queries for xmlpipedb-match and >>>> sql queries needed for the respective results as you requested. >>>> > > > > >>>> > > > > I was also thinking I may need to review the schema from xml >>>> into postgres but the issue isn't likely a schema error. The error most >>>> likely lies in how xmlpipedbutils queries the data from xml source and >>>> writes to the tables what it returns? >>>> > > > > >>>> > > > > 2. I'll review the code: trace the entrance of tally engine in >>>> the gmbuilder code then follow it through the xmlpipedbutils. >>>> > > > > >>>> > > > > Richard >>>> > > > > >>>> > > > > On Sat, Feb 5, 2011 at 10:28 AM, John David N. Dionisio <<do...@lm...> >>>> do...@lm...> wrote: >>>> > > > > Just wanted to confirm (since I wasn't sure in the first e-mail) >>>> --- the XMLPipeDB Utilities source code is in trunk/xmlpipedbutils in >>>> SourceForge's Subversion repo. >>>> > > > > >>>> > > > > John David N. Dionisio, PhD >>>> > > > > Associate Professor, Computer Science >>>> > > > > Loyola Marymount University >>>> > > > > >>>> > > > > >>>> > > > > >>>> > > > > On Feb 5, 2011, at 10:02 AM, Richard Brous wrote: >>>> > > > > >>>> > > > > > Hi Dondi, >>>> > > > > > >>>> > > > > > So I'm at the point in working with M tuberculosis that I was >>>> able to exactly reproduce Dr. Dahlquist's problematic TallyEngine results. >>>> > > > > > >>>> > > > > > gmb2b60 Results >>>> > > > > > >>>> > > > > > >>>> > > > > > >>>> > > > > > Now the proverbial question - What next to solve the Ordered >>>> Locus import/count issue? >>>> > > > > > >>>> > > > > > ********************************************** >>>> > > > > > Here is my thought process: >>>> > > > > > >>>> > > > > > Step 1: How does the import process work at the high level? >>>> (obviously correct me if I'm wrong) >>>> > > > > > >>>> > > > > > I believe that basically as each XML tag is read, it is placed >>>> in the proper Postgres table(s) based on some criteria. There is also likely >>>> some sort of check that each individual tag is in valid XML format unless we >>>> don't care at this stage (care at export) or maybe the parser just skips >>>> over and goes on to the next . >>>> > > > > > >>>> > > > > > Step 2: What could be the problem? >>>> > > > > > >>>> > > > > > Either - >>>> > > > > > a. XML tags are being parsed incorrectly (ignored/skipped)? >>>> > > > > > b. Decision criteria of which table they should be added to? >>>> > > > > > >>>> > > > > > ********************************************** >>>> > > > > > >>>> > > > > > I read on the sourceforge wiki: >>>> > > > > > >>>> > > > > > XMLPipeDB has a modular architecture with three components >>>> that may be used separately or together. XSD-to-DB reads an XSD (XML Schema >>>> Definition) and automatically generates an SQL schema, Java classes, and >>>> Hibernate mappings. XMLPipeDB Utilities provides functionality for >>>> configuring the database, importing data, and performing queries. GenMAPP >>>> Builder is based on the XMLPipeDB Utilities and exports GenMAPP-compatible >>>> Gene Databases based on data from UniProt and Gene Ontology (GO). >>>> > > > > > >>>> > > > > > So I should probably start with the XMLPipeDB Utilities which >>>> are where? I don't see any in the basic distribution or are they not >>>> standalone and called from the command line? >>>> > > > > > >>>> > > > > > Thanks! >>>> > > > > > >>>> > > > > > Richard >>>> > > > > >>>> > > > > >>>> > > > > <ATT00001..txt><ATT00002..txt> >>>> > > > >>>> > > > >>>> > > > >>>> ------------------------------------------------------------------------------ >>>> > > > The ultimate all-in-one performance toolkit: Intel(R) Parallel >>>> Studio XE: >>>> > > > Pinpoint memory and threading errors before they happen. >>>> > > > Find and fix more than 250 security defects in the development >>>> cycle. >>>> > > > Locate bottlenecks in serial and parallel code that limit >>>> performance. >>>> > > > <http://p.sf.net/sfu/intel-dev2devfeb> >>>> http://p.sf.net/sfu/intel-dev2devfeb >>>> > > > _______________________________________________ >>>> > > > 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> >>>> > > >>>> > > >>>> > > >>>> ------------------------------------------------------------------------------ >>>> > > The ultimate all-in-one performance toolkit: Intel(R) Parallel >>>> Studio XE: >>>> > > Pinpoint memory and threading errors before they happen. >>>> > > Find and fix more than 250 security defects in the development >>>> cycle. >>>> > > Locate bottlenecks in serial and parallel code that limit >>>> performance. >>>> > > <http://p.sf.net/sfu/intel-dev2devfeb> >>>> http://p.sf.net/sfu/intel-dev2devfeb >>>> > > _______________________________________________ >>>> > > 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> >>>> > >>>> > >>>> > >>>> ------------------------------------------------------------------------------ >>>> > The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio >>>> XE: >>>> > Pinpoint memory and threading errors before they happen. >>>> > Find and fix more than 250 security defects in the development cycle. >>>> > Locate bottlenecks in serial and parallel code that limit performance. >>>> > <http://p.sf.net/sfu/intel-dev2devfeb> >>>> http://p.sf.net/sfu/intel-dev2devfeb >>>> > _______________________________________________ >>>> > 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> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio >>>> XE: >>>> Pinpoint memory and threading errors before they happen. >>>> Find and fix more than 250 security defects in the development cycle. >>>> Locate bottlenecks in serial and parallel code that limit performance. >>>> <http://p.sf.net/sfu/intel-dev2devfeb> >>>> http://p.sf.net/sfu/intel-dev2devfeb >>>> _______________________________________________ >>>> xmlpipedb-developer mailing list >>>> <xml...@li...> >>>> xml...@li... >>>> <https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer> >>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>> >>>> >>> >>> >> >> >> >> ------------------------------------------------------------------------------ >> Index, Search & Analyze Logs and other IT data in Real-Time with Splunk >> Collect, index and harness all the fast moving IT data generated by your >> applications, servers and devices whether physical, virtual or in the >> cloud. >> Deliver compliance at lower cost and gain new business insights. >> Free Software Download: <http://p.sf.net/sfu/splunk-dev2dev> >> http://p.sf.net/sfu/splunk-dev2dev >> >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> >> >> ------------------------------------------------------------------------------ >> Index, Search & Analyze Logs and other IT data in Real-Time with Splunk >> Collect, index and harness all the fast moving IT data generated by your >> applications, servers and devices whether physical, virtual or in the >> cloud. >> Deliver compliance at lower cost and gain new business insights. >> Free Software Download: http://p.sf.net/sfu/splunk-dev2dev >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> > > ------------------------------------------------------------------------------ > Index, Search & Analyze Logs and other IT data in Real-Time with Splunk > Collect, index and harness all the fast moving IT data generated by your > applications, servers and devices whether physical, virtual or in the > cloud. > Deliver compliance at lower cost and gain new business insights. > Free Software Download: http://p.sf.net/sfu/splunk-dev2dev > > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > ------------------------------------------------------------------------------ > Index, Search & Analyze Logs and other IT data in Real-Time with Splunk > Collect, index and harness all the fast moving IT data generated by your > applications, servers and devices whether physical, virtual or in the > cloud. > Deliver compliance at lower cost and gain new business insights. > Free Software Download: http://p.sf.net/sfu/splunk-dev2dev > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > |