From 1abe4069da965701d5fd8c42e091731d8ff2ddfc Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Thu, 18 Jun 2009 05:45:04 +0000 Subject: [PATCH] add: - EICMsRunDTO.msRunId - more unit tests SVN: 11423 --- rtd_yeastx/resource/examples/example.eicML | 20 +-- .../ch/systemsx/cisd/yeastx/db/DBFactory.java | 6 +- .../systemsx/cisd/yeastx/db/IGenericDAO.java | 12 +- .../cisd/yeastx/eicml/EICMLParser.java | 2 +- .../cisd/yeastx/eicml/EICMSRunDTO.java | 13 ++ .../cisd/yeastx/eicml/IEICMSRunDAO.java | 10 +- .../source/sql/postgresql/001/schema-001.sql | 1 + .../systemsx/cisd/yeastx/eicml/EICMLTest.java | 151 +++++++++++++++++- 8 files changed, 188 insertions(+), 27 deletions(-) diff --git a/rtd_yeastx/resource/examples/example.eicML b/rtd_yeastx/resource/examples/example.eicML index 9d0d1318f8c..b506579f75c 100644 --- a/rtd_yeastx/resource/examples/example.eicML +++ b/rtd_yeastx/resource/examples/example.eicML @@ -7,19 +7,21 @@ <instrumentManufacturer>LECO</instrumentManufacturer> <instrumentModel>Pegasus 3D</instrumentModel> <methodIonisation>EI</methodIonisation> - <methodSeparation/> - <acquisitionDate/> + <methodSeparation>TBD</methodSeparation> + <acquisitionDate>16-Jun-2009 11:58:14</acquisitionDate> <chromCount>22</chromCount> <startTime>370.109</startTime> <endTime>799.334</endTime> - <msRunId/> + <msRunId>17</msRunId> + <setId>32</setId> + <operator>???</operator> </msRun> <chromatogram> <Q1Mz>158</Q1Mz> - <Q3LowMz>158</Q3LowMz> - <Q3HighMz>158</Q3HighMz> + <Q3LowMz>158.1</Q3LowMz> + <Q3HighMz>158.2</Q3HighMz> <label>EIC 158</label> - <polarity/> + <polarity>+</polarity> <chromData> <RT>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</RT> <INT>RDwAAEQ/gABEPoAARD6AAEQ5AABEN0AARDSAAEQxQABELwAARC5AAEQpwABEMEAARDYAAEQqQABEMEAARCLAAEQwgABEJMAARCwAAEQxAABEJ4AARCcAAEQkgABEKMAARCIAAEQrwABEKAAARCtAAEQpwABEJMAARChAAEQqAABEKQAARC2AAEQpQABELAAARC5AAEQkwABELYAARCnAAEQmQABEMcAARDTAAEQwwABENMAARCZAAEQxQABELUAARC2AAEQvQABEKIAARDHAAEQtgABEI8AARCnAAEQxgABELwAARDKAAEQwwABELcAARC7AAEQpAABEL0AARCrAAEQsAABELAAARCmAAEQqgABEKcAARCyAAEQqwABEKQAARCwAAEQtQABEKUAARCcAAEQeQABEJ8AARCdAAEQtgABEJ4AARC1AAEQsQABEJwAARCpAAEQmQABEKQAARCkAAEQswABELEAARCnAAEQqwABEKMAARDGAAEQsAABEJIAARCjAAEQowABEJUAARCtAAEQtwABELYAARCtAAEQmQABEJYAARDOAAEQtQABELoAARCoAAEQzAABEK8AARDAAAEQ5QABEL8AARC+AAEQ2QABEM4AARCZAAEQyQABENMAARC5AAEQwAABELwAARDOAAEQvwABEK4AARDGAAEQuwABEMsAARC1AAEQsgABELIAARDFAAEQuQABELcAARCzAAEQnwABEJUAARCIAAEQqQABELEAARChAAEQlgABEI0AARCZAAEQmwABEIUAARCaAAEQmwABEKQAARCRAAEQkAABEIAAARCmAAEQmwABEIEAARCOAAEQogABEIcAARCGAAEQhAABEJkAARCBAAEQbQABEJ8AARCIAAEQeQABEGYAARCMAAEQbwABEGcAARB7AAEQaQABEIAAARBxAAEQVQABEIgAARB3AAEQagABEIsAARBjAAEQfgABEIAAARBtAAEQggABEGoAARBpAAEQZQABEHYAARB0AAEQegABEHkAARBdAAEQWQABEIoAARBsAAEQYwABEHYAARByAAEQeAABEGAAARBtAAEQQAABEHgAARB1AAEQPgABEG0AARB7AAEQLgABEGEAARBnAAEQVQABEE4AARCGAAEQNwABEEwAARBEAAEQVAABEEwAARBMAAEQbAABEBcAARBFAAEQWAABEDoAARBcAAEQKgABED0AARA+AAEQfQABED0AARBWAAEQOgABEF8AARBBAAEQRAABEDwAARAmAAEQTgABEDQAARAtAAEQSwABEEUAARBAAAEQRQABEFwAARAsAAEQPgABEEwAARBOAAEQUgABEFsAARA6AAEQYwABEE8AARA0AAEQMAABEFwAARBJAAEQaAABEEsAARBTAAEQRAABEF4AARBFAAEQRQABEH0AARBNAAEQcAABEF0AARA9AAEQdAABEGsAARCXAAEQfgABEGAAARB0AAEQbgABEHMAARA6AAEQmgABEIYAARB9AAEQdwABEHsAARCCAAEQiAABEHQAARCQAAEQfQABEHUAARCcAAEQUwABEH8AARCOAAEQegABEHkAARB3AAEQZQABEG0AARB4AAEQYAABEHMAARCAAAEQdwABEE4AARB4AAEQWgABEIgAARCJAAEQYAABEGIAARB3AAEQcgABEF8AARB8AAEQbwABEG8AARBiAAEQRQABEHIAARB/AAEQdAABEGwAARBdAAEQXwABEGUAARBtAAEQYQABEIUAARBxAAEQQAABEHQAARBlAAEQcwABEFYAARBgAAEQfAABEE0AARB/AAEQOwABEH8AARCDAAEQUAABEHUAARBJAAEQcAABEFwAARB7AAEQPgABEHAAARBbAAEQRgABEFUAARBMAAEQTgABEG4AARA9AAEQWAABEEsAARBCAAEQSAABEEAAARBOAAEQQQABEE4AARBRAAEQPAABEDUAARA7AAEQRgABECgAARBBAAEQNgABEDcAARA9AAEQRQABEFMAARBLAAEQMQABEDQAARA/AAEQPQABECMAARA6AAEQPAABEDMAARA1AAEQNAABEDkAARBAAAEQOwABEDYAARA6AAEQQwABEDQAARA9AAEQNgABEDYAARA7AAEQOwABED4AARAxAAEQQgABECMAARA/AAEQbwABEDMAARAjAAEQTgABEDwAARAnAAEQPgABEFkAARA/AAEQTQABEC8AARBcAAEQUAABEDkAARBKAAEQPAABEDIAARA8AAEQLQABEFUAARBTAAEQKQABEDkAARA6AAEQNgABECMAARA5AAEQUAABEEEAARBFAAEQRgABEFsAARBSAAEQOAABEDkAARBLAAEQQAABEDsAARBHAAEQbwABEEoAARBBAAEQXAABEFgAARBiAAEQagABEHAAARBkAAEQgwABEJ8AARCFAAEQkAABEH8AARB4AAEQjQABEKUAARDEAAEQvAABEMgAARC8AAEQoQABENUAARDsAAEQ/gABENIAAREVAAEQ8gABEQMAARDtAAERBwABEQgAAREUAAEQ1AABEPEAAREjAAERDwABEMcAARElAAERCgABEL8AARDnAAEQ8wABEN0AARDjAAEQyQABEOoAARDHAAEQmwABEMsAARCwAAEQnQABEKoAARCsAAEQrgABEKoAARC7AAEQfQABEMUAARCVAAEQigABEKgAARCEAAEQfAABEGQAARCLAAEQjwABEHUAARCHAAEQdgABEI8AARBlAAEQbwABEIgAARBoAAEQXQABEHMAARB1AAEQXQABEFUAARBqAAEQUwABEHgAARBYAAEQfgABEHQAARBfAAEQfQABEGMAARB1AAEQfAABEGYAARBeAAEQZAABEG4AARBZAAEQXQABEHUAARBDAAEQZAABEEMAARBTAAEQQgABEDwAARA2AAEQUQABEGkAARBVAAEQWQABEFIAARBJAAEQQgABEEgAARBEAAEQNgABEEcAARBBAAEQOwABECwAARBGAAEQGgABEEUAARAmAAEQQQABEEQAARBfAAEQKwABEDcAARA1AAEQKwABEEUAARA5AAEQNQABEEIAARBgAAEQdAABEEMAARAbAAEQeAABEFIAARBZAAEQfAABEGAAARBQAAEQVQABEEsAARBxAAEQdwABEFMAARBIAAEQgAABEIMAARA6AAEQbwABEH4AARBxAAEQRgABEH0AARCNAAEQggABEHUAARB+AAEQiAABEHYAARCOAAEQkgABEJgAARB5AAEQmAABEJ8AARCmAAEQyAABELAAARCmAAEQkQABELEAARClAAEQuQABEKQAARCvAAEQuAABELEAARC5AAEQugABEKcAARCzAAEQwwABEKgAARC+AAEQwgABELQAARDRAAEQwgABENIAARDHAAEQrwABEOYAARCpAAEQxwABEMUAARDSAAEQwQABEK4AARDgAAEQzwABEJcAARDfAAEQsAABEKgAARC6AAEQvAABEN8AARCwAAEQowABEJ0AARCgAAEQoAABEK4AARCEAAEQ1gABEJEAARCyAAEQsQABEMIAARCCAAEQ1wABEMEAARChAAEQwwABEJ4AARCoAAEQmgABEKkAARC2AAEQlgABEKQAARCOAAEQkAABEKcAARCQAAEQqwABEJMAARCpAAEQcgABEJYAARDCAAEQigABEIsAARCQAAEQfwABEKoAARCYAAEQigABEJYAARCMAAEQjwABEJ0AARCYAAEQlwABEJIAARCMAAEQcQABEJsAARCoAAEQjQABEK8AARCPAAEQnQABEIQAARCIAAEQmgABEIwAARCFAAEQdwABEMEAARB4AAEQxAABEOMAARDbAAEQuwABER0AAREMAAERJgABEVQAARGNAAERmQABEdsAARIPgAESQoABEl6AARKYAAES84ABEzAAARNugAETwoABFCIAARRAQAEUlgABFM9AARVKAAEVmYABFfjAARYuoAEWgGABFsFgARcEIAEXX+ABF9aAARgGgAEYNYABGGWAARiWgAEYvwABGQgAARlFAAEZfAABGZ0AARnsAAEaFIABGjQAARpUgAEaa8ABGn6AARqkwAEaqYABGsqAARrlwAEa7sABGwFAARseAAEbEYABGyEAARskQAEbKsABG0jAARs5gAEbMQABGzYAARstQAEbMkABGyUAARsrQAEbGsABGwhAARrwAAEa5EABGtgAARrSAAEatkABGqIAARqQAAEagYABGm9AARpPwAEaQMABGirAARoeAAEaCoABGe4AARm3gAEZjwABGW8AARlNAAEZHQABGP0AARjpAAEYwQABGIuAARhxAAEYVoABGDuAARgWAAEX6IABF7ZAAReDAAEXTwABFw0gARbtAAEWumABFopgARZwAAEWHKABFhrAARYFwAEVkoABFWMAARU7QAEU3cABFQdAARTHgAEUdEABFGqAARREgAEUN0ABFALAARP8gAETzYABE4WAARN+gAETjYABE0KAARMxgAES44ABEteAARLBgAESk4ABEoEAARKDAAESfIABElYAARJCAAESMIABEi4AARIRAAER/AABEd8AARIFAAER0wABEbkAARHZAAERnwABEX8AARGTAAERowABEXUAARGPAAERYgABEW0AARGDAAERmgABEZUAARHCAAERxwABEdUAARHoAAER7gABEhiAARIMgAESOQABEi0AARI4gAESToABEmYAARKPgAESogABEqwAARLegAETBgABEyUAARM5AAETiAABE2sAAROOAAET3YABE80AARQTwAEUCkABFCKAARRaQAEUQwABFFKAARRxgAEUn0ABFJ0AARS4wAEUvcABFNgAARTYAAEU4kABFOmAARUAAAEVCIABFR+AARVHQAEVP0ABFUaAARVSAAEVYIABFYlAARVjQAEVTwABFYgAARWXAAEVqQABFZHAARWsAAEVl4ABFcKAARXBgAEVscABFcZAARW2gAEVuoABFZmAARWzQAEVtUABFY/AARWTwAEVe4ABFWDAARVjwAEVLwABFRtAARUagAEU9UABFNrAARSbgAEUhkABFFAAARQ7AAEUHsABE/2AAROogAETfoABE1eAARL+gAES7AABEs+AARKzAAESloABEogAARJ3gAESbIABElAAARIuAAESLIABEhoAARIMAAESIwABEdQAARHvAAER/AABEcwAARGyAAERhwABEbUAARGlAAERogABEW8AARFoAAERiAABEVMAARFyAAERNgABEWcAARFIAAERIQABESQAARD8AAERWAABETQAAREmAAEREwABERwAARErAAERAgABESAAAREqAAERAgABEPgAAREKAAEREwABEQ4AARD3AAERFwABEPoAAREcAAERQQABESEAARFfAAERVQABETUAAREMAAERSwABETEAARFSAAERSgABEVcAARFVAAEReAABEWgAARFpAAERvAABEYMAARHPAAER9AABEd4AARHHAAESEYABEhiAARIGgAESJoABEi+AARIygAESTAABEmQAARJvAAESiAABEqGAARKxgAESvAABEs4AARLxgAETFgABEwcAARMegAETS4ABE1eAARN4AAETkAABE7oAAROpAAETzYABE/oAARQTAAEUGwABFEBAARRVAAEUX0ABFF2AARRggAEUbcABFIWAARS5wAEUwIABFLyAARSgAAEU4QABFNSAARUCgAEU+AABFRnAARUiwAEVPEABFUWAARVBgAEVZ4ABFWXAARVtwAEVXcABFYTAARWXgAEVqQABFZlAARW5AAEVsYABFbeAARX3wAEV90ABFeMAARYGoAEWDWABFhrAARYN4AEWEoABFh+gARYtIAEWS2ABFkAAARYv4AEWV6ABFk8gARZEwAEWSsABFkuAARZawAEWcKABFn/gARZnAAEWfCABFnTAARaUYAEWkOABFo+AARaXYAEWm0ABFq7gARayQAEWxYABFsOgARbAQAEW0yABFu+AARbPgAEW5iABFtSgARbwoAEXACABFvfgARb3QAEXDmABFxQAARcoQAEXL6ABFzXgARctQAEXKUABF0lAARdVYAEXUEABF1vgARc/wAEXbqABF4UAARd74AEXnEABF5mAARemYAEXpSABF6JAARe+4AEXwMABF7aAARfGAAEXwOABF83gARe1wAEX5qABF9uAARf1QAEX8QABF9ogARfYYAEYAoABF/oAARf7AAEYCgABGBEAARgIAAEYDgABGBGAARgaAAEYFgABGB8AARgJAAEYCgABGAqAARgBAAEX3wABF8ogARebgAEXRMABFwxAARau4AEWS0ABFeLAARVcQAEUukABFFaAARPkAAETsoABEyeAARLVgAESsYABEoWAARJmgAESWwABEkYAARJIAAESL4ABEjqAARI4AAESFgABEicAARJSAAESLAABEgeAARH2AAESDQABEeYAARGzAAERsQABEZ8AARHrAAESDoABEc8AARHAAAER1QABEeEAARG/AAERvgABEcQAARHQAAERtgABEa8AARGeAAERkQABEZUAARGKAAERkwABEY8AARGVAAERpQABEZQAARFyAAERbgABEXcAARF7AAERWgABEYUAARGLAAERbQABEagAARFqAAERZAABEWYAARFmAAERNwABEU8AARGFAAERSwABEUkAARFLAAERggABEUgAARFQAAERVgABEU8AARFUAAERRgABEUsAARFBAAERUwABEVEAARFeAAERZAABEUAAARFWAAERUgABEUwAAREwAAERNQABEVoAARFHAAERPAABER8AAREJAAEREAABEP8AARFXAAERJAABERUAAREnAAERHQABEP0AAREKAAERDQABERgAARD1AAERIgABES0AAREPAAEQ6QABESAAAREoAAEQ7wABEQgAARD1AAEREgABENcAARDxAAEQ9gABEQoAARDTAAEQ7QABEPMAARDdAAEQ7gABEPcAARDbAAERCAABEP8AARDTAAEQ6wABEOIAARC9AAEQ5AABENkAARDZAAERBQABEPUAARC7AAEQ3gABEOUAARDwAAEQ6QABEPEAARDdAAEQ2AABEOEAARDYAAEQxgABEOwAARDjAAEQvgABEOEAARDSAAEQrwABENwAARDPAAEQ2QABENQAARC3AAEQwwABEKwAARDpAAEQzQABENYAARDNAAEQ0gABEN8AARC2AAEQ4AABENIAARDMAAEQ1AABEMoAARDAAAEQ0QABENkAARDdAAEQxwABENgAARDVAAEQ3AABEJ0AARDMAAEQuQABEMoAARD8AAEQ8gABEMcAARDzAAEQvgABEOUAARDjAAEQ5AABEREAARD5AAEQ7gABERMAARDfAAEQ+AABEN8AAREhAAEQ6gABERMAARDuAAERLgABEOUAARDyAAERJAABELkAARExAAERBAABEP0AARDJAAEQ+wABEQQAARDeAAERGAABEP4AARELAAEQ5gABEKUAARDiAAEQwQABER4AARDTAAERCgABENwAARDVAAEQzwABELIAARDZAAEQ1AABELgAARCoAAEQ1wABEMsAARDOAAEQsAABEL0AARDXAAEQ0wABELMAARDLAAEQmgABELQAARDAAAEQyAABELEAARDDAAEQswABEOEAARCtAAEQqwABEMUAARC9AAEQxwABEL4AARDeAAEQ3wABEMYAARDJAAEQlgABENUAARDKAAEQ3QABENMAARDAAAEQ2wABENkAARCoAAEQ9QABENYAARD5AAEQwgABEOUAARDVAAEQ6wABEOIAARDbAAEQ1AABENUAARDiAAEQ3wABENgAARDxAAEQvAABENEAARDkAAEQ0QABENYAARDiAAEQ1gABEOEAARDhAAEQwAABEM8AARDvAAEQyQABEO0AARDdAAEQywABEPkAARDTAAEQ8wABEM8AARDbAAEQ5QABENoAARDHAAEQ3gABEMYAARDYAAEQ2QABEMwAARC3AAEQyQABELIAARC/AAEQrgABEKkAARDAAAEQowABEKwAARCUAAEQpgABEHwAARCcAAEQswABEKsAARC0AAEQtgABEI0AARCZAAEQowABEJUAARB9AAEQpwABELkAARCOAAEQrQABEIIAARCEAAEQmAABEJUAARChAAEQjgABEJ0AARChAAEQkQABELUAARCcAAEQuAABEJMAARC6AAEQowABEIsAARDVAAEQzAABEMYAARCpAAEQ5gABEPcAARDmAAERAwABEQYAAREUAAERVgABETMAARGDAAERuQABEcMAARHyAAESBQABEhKAARI9AAESN4ABEmAAARKAAAESjIABEscAARK/gAESzQABEyKAARMrAAETLwABE3QAAROmgAETrwABE6oAARPSAAEUEIABFAyAARQRQAEUDUABFDVAARQQgAEUKoABFDGAARQ5AAEUJ4ABFESAARQ1gAEUOEABFCrAARQZgAEUCwABFAhAARPegAET2AABE6KAAROCAAA==</INT> @@ -27,10 +29,10 @@ </chromatogram> <chromatogram> <Q1Mz>184</Q1Mz> - <Q3LowMz>184</Q3LowMz> - <Q3HighMz>184</Q3HighMz> + <Q3LowMz>184.9</Q3LowMz> + <Q3HighMz>184.5</Q3HighMz> <label>EIC 184</label> - <polarity/> + <polarity>-</polarity> <chromData> <RT>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</RT> <INT>RBWAAEQTAABEGcAARBhAAEQgQABEGoAARByAAEQYQABEF0AARBvAAEQfAABEEsAARBkAAEQcAABEHIAARBzAAEQbAABEGoAARBHAAEQaQABEEUAARBPAAEQbAABEFkAARBlAAEQTgABEEwAARCFAAEQXgABEF8AARBrAAEQUQABEEgAARBYAAEQOgABECgAARBiAAEQWgABEEsAARBYAAEQOQABEHgAARBfAAEQWwABEEQAARBEAAEQZAABEE0AARA+AAEQYgABEGYAARA/AAEQMwABEFgAARBgAAEQOQABEF8AARBRAAEQPAABEGsAARBeAAEQWgABEFIAARBUAAEQXwABEF8AARBwAAEQUwABEDwAARBQAAEQXwABEGAAARBbAAEQWAABEFIAARB5AAEQSwABEGYAARBwAAEQYgABEE4AARBdAAEQaQABEGQAARB6AAEQdAABEH4AARBbAAEQdQABEGIAARB8AAEQaQABEFwAARB2AAEQZAABEF4AARBVAAEQVwABEFwAARBXAAEQbAABEDwAARBqAAEQWQABEGMAARBhAAEQYwABEGwAARBWAAEQYwABEFkAARBwAAEQUQABEE8AARB4AAEQWwABEFkAARBPAAEQbAABEGAAARCFAAEQVwABEEcAARBxAAEQVQABEG0AARBWAAEQYwABEHMAARBdAAEQXwABEEYAARBQAAEQYAABEE0AARB7AAEQbAABEFoAARAzAAEQkAABEE4AARBcAAEQVwABEFkAARBgAAEQWQABEG0AARCKAAEQTQABEHYAARBjAAEQfAABEGQAARBgAAEQTQABEFkAARBhAAEQYwABEF0AARBhAAEQTwABEG8AARAzAAEQaQABEJIAARBtAAEQewABEF4AARBeAAEQewABEH8AARBzAAEQYgABEHMAARBiAAEQeQABEGsAARBWAAEQegABEGkAARBjAAEQcQABEGcAARBeAAEQYAABEGgAARBUAAEQbAABEFkAARCDAAEQaAABEG4AARBYAAEQaAABEGUAARCBAAEQXgABEFAAARB4AAEQYQABEGcAARBxAAEQZQABEJAAARByAAEQdQABEHwAARBKAAEQmQABEHQAARBiAAEQfAABEHkAARBcAAEQeAABEG8AARBrAAEQdQABEFQAARBxAAEQdwABEIsAARB8AAEQcAABEGAAARBuAAEQWwABEGUAARCUAAEQZQABEIgAARBvAAEQaQABEGAAARB9AAEQcgABEH0AARBaAAEQcAABEFgAARCPAAEQXAABEGUAARBrAAEQOAABEF4AARB8AAEQdgABEGYAARBWAAEQfgABEFgAARBsAAEQVgABEIsAARByAAEQZgABEF4AARBnAAEQXQABEF8AARBLAAEQjQABEGcAARBnAAEQTgABEGAAARBpAAEQRAABEE0AARB7AAEQdgABEGIAARBgAAEQWAABEEwAARBSAAEQawABEF0AARBoAAEQZwABEE4AARCLAAEQZgABEFUAARBzAAEQVQABEIUAARBdAAEQaQABEGEAARBOAAEQawABEGIAARCAAAEQeAABEGQAARBnAAEQawABEF0AARBRAAEQVQABEEMAARCZAAEQXwABEEoAARCEAAEQVAABEEIAARCAAAEQVQABEEwAARBpAAEQdgABEG4AARBYAAEQZgABEHAAARBXAAEQVAABEEEAARBsAAEQXAABEGgAARB1AAEQXwABEIoAARBpAAEQawABEHIAARB8AAEQcQABEHMAARBqAAEQaAABEJsAARCVAAEQjgABEFEAARCgAAEQhQABEGgAARCQAAEQZgABEG4AARCRAAEQeAABEJcAARCHAAEQfgABEIsAARCuAAEQgQABEIYAARCeAAEQmwABEKgAARCkAAEQpQABEJEAARCFAAEQmQABEJQAARC1AAEQpAABEJcAARCvAAEQmgABEJEAARC7AAEQkwABELEAARCkAAEQugABEKcAARCnAAEQoQABENEAARCeAAEQvQABEOkAARC1AAEQrgABEKYAARDOAAEQtwABENYAARDmAAEQ2wABEMcAARCyAAEQyAABEMcAARDXAAEQvQABENEAARDSAAEQzAABEMYAARDAAAEQsgABEMgAARDDAAEQxAABEK0AARDKAAEQygABELgAARDPAAEQsAABEMMAARDPAAEQkwABELoAARDRAAEQrwABELoAARCuAAEQtQABEJ8AARCnAAEQfQABEK4AARCVAAEQigABEKMAARB/AAEQjQABEJUAARCDAAEQwQABEJMAARCZAAEQjAABEJoAARCIAAEQawABEKMAARCYAAEQnwABEHoAARBzAAEQnAABEH4AARB/AAEQdwABEHkAARBZAAEQhgABEHoAARBrAAEQdgABEGYAARBqAAEQiAABEG4AARCLAAEQhAABEHUAARB9AAEQWAABEIgAARBqAAEQaAABEIoAARCVAAEQagABEGwAARB2AAEQdAABEHkAARB+AAEQkgABEGQAARBwAAEQaAABEFgAARCmAAEQfAABEHkAARB9AAEQaQABEIwAARBoAAEQiwABEI4AARBuAAEQkwABEH0AARB2AAEQggABEHYAARB1AAEQqQABEJ4AARCZAAEQgQABEHgAARCcAAEQjAABEIkAARCJAAEQdgABEIMAARCWAAEQlQABEIgAARBoAAEQgAABEHgAARCNAAEQjAABEH4AARCSAAEQnQABEIYAARB8AAEQfwABELIAARBiAAEQpgABEIwAARBWAAEQswABEG4AARCWAAEQdgABEIEAARCBAAEQhgABEI4AARB3AAEQagABEKIAARBuAAEQlgABEH0AARB0AAEQUwABEIoAARBgAAEQbAABEJsAARCCAAEQWQABEHUAARCHAAEQaAABEHEAARBjAAEQggABEGcAARCIAAEQgAABEIcAARBsAAEQewABEHYAARByAAEQcwABEFIAARBrAAEQkgABEGYAARBwAAEQfgABEG4AARBaAAEQbgABEJ0AARBiAAEQiwABEGIAARCQAAEQQQABEG0AARCEAAEQhQABEIAAARBoAAEQfgABEH8AARBWAAEQegABEIsAARBkAAEQXgABEHAAARByAAEQeQABEIUAARBmAAEQcwABEJ0AARBNAAEQfAABEIcAARBbAAEQgQABEGYAARBYAAEQewABEHEAARB1AAEQdQABEHEAARB0AAEQcgABEH4AARB7AAEQewABEH0AARB8AAEQiwABEHgAARCUAAEQmAABEIoAARCXAAEQkwABEIMAARCAAAEQeAABEIIAARCSAAEQlgABEIYAARCJAAEQggABEIoAARCNAAEQngABEJUAARCfAAEQnQABEJEAARCSAAEQhAABELkAARCOAAEQjQABEKgAARCCAAEQkwABEK4AARCXAAEQfQABEJoAARCkAAEQhwABELQAARC2AAEQhAABEJoAARC8AAEQkAABELMAARCbAAEQcQABEJMAARCQAAEQqQABEJEAARCkAAEQnAABELUAARCQAAEQmAABEIQAARCWAAEQrAABEJYAARC1AAEQnQABEMgAARCsAAEQogABEKgAARDDAAEQygABEMkAARC3AAEQtQABELMAARDRAAEQ0gABEM0AARDIAAEQ1gABEMQAARDhAAEQ3wABEMAAARD7AAEQ9gABEQIAARDmAAERCgABEQgAAREIAAERIwABERQAAREjAAERDQABEREAAREXAAERQAABERsAARFvAAERSAABEXoAARF3AAERZwABEVsAARGZAAERbAABEY4AARGyAAERiAABEaQAARH7AAERqwABEaIAARG3AAERyAABEdEAARHyAAER0wABEhkAARICgAER9AABEiKAARIagAESFAABEf0AARI4AAESXQABEk0AARJPAAESSIABEm+AARJ4gAEShoABEokAARK9gAES74ABEvWAARMbAAETKoABE12AAROvAAET5gABFB0AARQzwAEUS8ABFHBAARSJwAEUvIABFPVAARVBwAEVYQABFY8AARXkgAEWGEABFiPAARZZYAEWesABFqrgARbsgAEXBIABFyqgARd0wAEXjQABF7ugARgIAAEYDoABGBMAARgsgAEYRwABGFyAARhpAAEYfoABGIiAARiIAAEYk4ABGK+AARizAAEYuYABGMUAARi5AAEYyYABGLKAARixAAEYuYABGLgAARijgAEYqwABGJcAARiTAAEYjIABGHwAARhgAAEYXYABGEoAARhHAAEYGoABGB8AARf2wAEYAwABF8PAARep4AEXduABF1TgARcjoAEXDEABFuXgARbVwAEWkcABFoygARZugAEWUEABFjwgARYaQAEWEgABFfXAARW8wAEVd0ABFVNAARUxAAEVJIABFO6AARTHAAEUn4ABFJBAARScQAEUbkABFE6AARQ1wAEUIMABFATAARQPQAETkIABE58AARN/AAETf4ABEzwAARMkAAETJoABExkAARLygAETE4ABEsaAARLCAAESxIABEqcAARLKgAESpwABEqmAARKggAESdgABEp4AARJ1AAESc4ABEpIAARJwgAEScYABElEAARJwgAESbAABEpoAARJ2gAESdwABEoYAARKVAAEShAABEn2AARKEAAESmgABEo8AARKAAAESmYABEn0AARK6gAESlIABEsKAARLhAAESwAABErIAARLHAAES4wABEs8AARLCAAETGYABEwYAARMTgAETG4ABEwSAARMkgAETKQABExuAARNIAAETIoABEw8AARMhgAETPoABE0wAARMEgAETUAABE3oAARM/gAETYQABE0wAARMmAAETTIABExIAARM/gAETJQABEwiAARLRgAES04ABEtQAARKrgAEStoABEowAARJwAAESVYABElwAARI/AAESMgABEhCAARIEAAESAYABEfAAARHNAAER1QABEaUAARGLAAERWgABEWcAARGBAAERcwABEYcAARFkAAEROAABERUAARFYAAERSwABEUcAARFbAAERGwABETkAARFaAAEROwABET8AARFXAAERPgABESsAARFWAAERagABEVIAARFjAAERUwABEVAAARGJAAERlwABEcMAARG8AAER2QABEfIAARH2AAESAYABEfsAARILgAESIgABEjqAARIngAESPIABEjyAARJEgAESOwABEkoAARJcAAESYQABEmSAARJKgAESi4ABEoYAARKNgAESpQABEo+AARKTAAESmAABEpwAARKQgAESi4ABEoYAARKIgAESfQABEnmAARJzgAESVwABElGAARI4gAESbAABEloAARI/AAESNoABEiCAARIkAAESDoABEdgAARHaAAERpQABEcYAARGgAAERewABEYYAARGAAAERVQABEWEAARFLAAERUwABEREAARFCAAERPwABETAAAREAAAERMwABEOwAARDmAAEQ8gABEOsAARDTAAEQ5wABEPcAARDsAAEQ3QABEL4AARDXAAEQwwABELEAARDUAAEQwQABEKcAARCtAAEQ4wABELgAARCzAAEQqAABELUAARClAAEQkAABELgAARCZAAEQtQABEKMAARCmAAEQlAABEJQAARCIAAEQiwABEJoAARC7AAEQpgABEJEAARCVAAEQpgABEIkAARCTAAEQkQABEHYAARBxAAEQsgABEJEAARBqAAEQgAABEK8AARCpAAEQjQABEOMAARCmAAEQmwABEKwAARCMAAEQhgABEIUAARCpAAEQmAABEIkAARCRAAEQvQABEL8AARCVAAEQvgABELYAARCuAAEQrwABEKQAARCbAAEQsQABEJ0AARBfAAEQsgABEIUAARCNAAEQnQABEJoAARB5AAEQhQABEIAAARB/AAEQjAABEFYAARCjAAEQcgABEKIAARCDAAEQagABEI0AARByAAEQZQABEH4AARBnAAEQTwABEJwAARBvAAEQgAABEIMAARBtAAEQfgABEGoAARB1AAEQagABEGsAARCTAAEQWQABEGsAARBlAAEQXgABEG0AARBjAAEQegABEFgAARBVAAEQSQABEF4AARCCAAEQcgABEH8AARBXAAEQcgABEFUAARCOAAEQdwABEF0AARBCAAEQiQABEFwAARBXAAEQOwABEF8AARBQAAEQYAABEFgAARBeAAEQZwABEGwAARB0AAEQcQABEFEAARB8AAEQawABEHYAARBhAAEQYAABEJYAARB3AAEQcgABEIgAARA9AAEQfAABEFYAARBZAAEQWQABEF4AARBSAAEQYQABEF8AARBjAAEQXAABEG8AARCCAAEQSgABEHEAARB3AAEQSQABEGwAARBmAAEQUwABEDwAARBkAAEQXgABEEAAARBxAAEQWgABEEkAARB6AAEQTgABEEwAARA2AAEQMQABEGMAARBEAAEQdQABEFUAARBdAAEQMwABEHAAARBnAAEQZQABEFgAARA/AAEQcQABEGwAARA8AAEQWAABEGEAARBtAAEQagABEE0AARBVAAEQWgABEF0AARBYAAEQawABEFMAARBuAAEQYgABEFkAARBPAAEQQQABEFQAARA4AAEQigABEFcAARBiAAEQUwABEIMAARBhAAEQTQABEFYAARA8AAEQXwABEE4AARBiAAEQQQABEGkAARBPAAEQZAABEHIAARBnAAEQdgABEGYAARBzAAEQcwABEHgAARBeAAEQTgABEF0AARB2AAEQbAABEFIAARBJAAEQTAABEGoAARBdAAEQewABEGAAARB4AAEQUQABEG0AARBjAAEQbAABEGIAARBmAAEQWAABEFQAARB1AAEQYgABEHAAARB/AAEQYwABEHsAARBbAAEQcAABEGsAARBYAAEQaAABEGUAARBoAAEQXgABEHcAARB4AAEQUAABEHQAARBfAAEQbgABEG4AARBAAAEQZAABEFkAARA8AAEQUAABEG0AARBqAAEQVgABEGgAARBhAAEQVwABEJUAARBUAAEQZAABEFMAARBYAAEQXgABEGMAARBfAAEQVwABEGcAARBKAAEQXAABEF8AARByAAEQOwABEHsAARBVAAEQUgABEFwAARBeAAEQZgABEFsAARBTAAEQVgABEFMAARBsAAEQVQABEEsAARBJAAEQRAABEGUAARBUAAEQagABEFkAARBVAAEQVwABEDoAARCGAAEQcAABEF8AARBXAAEQUQABEE8AARCAAAEQZQABEFgAARBRAAEQXQABEEoAARBbAAEQYAABEGoAARBnAAEQSQABEG8AARBqAAEQUgABEFcAARB1AAEQVgABEF4AARBXAAEQdwABEHIAARBTAAEQdAABEIYAARB1AAEQjQABECMAARBsAAEQeQABEFgAARBfAAEQYwABEH0AARBqAAEQdAABEFkAARBnAAEQTwABEJsAARBrAAEQbQABEF4AARBkAAEQYwABEGEAARBbAAEQYwABEGYAARBvAAEQZAABEF8AARBsAAEQfQABEHMAARBwAAEQZwABEFUAARB6AAEQTAABEF4AARBPAAEQTQABEEcAARBrAAEQZQABEGIAARBvAAEQfQABEIcAARBRAAEQXwABEFgAARByAAEQVgABEFYAARBgAAEQUwABEFwAARBVAAEQIwABEH0AARBSAAEQTAABEGcAARBUAAEQfgABEGUAARBpAAEQVgABEHEAARA+AAEQjAABEFAAARBQAAEQewABEFoAARBYAAEQaAABEEoAARBfAAEQTwABEFAAARBcAAEQcgABEE8AARBpAAEQYAABEFkAARBvAAEQcwABEEcAARB6AAEQcwABEHEAARBgAAEQTQABEKQAARBZAAEQdQABEF0AARBZAAEQawABED8AARCaAAEQbQABEFkAARBgAAEQdgABEIkAARBuAAEQkAABEHMAARBwAAEQhwABEGcAARChAAEQawABEHsAARCPAAEQZwABEI8AARBrAAEQlwABEJQAARB8AAEQkAABEJIAARCBAAEQmQABEHsAARCrAAEQmgABEKEAARCEAAEQewABEJ0AARCBAAEQXAABEKwAARBuAAEQdgABEHgAARB3AAEQcwABEIcAARBWAAEQYQABEG0AARBsAAEQcgABEFoAARCSAAEQZQABEHQAARB+AAEQfAABEGwAARBrAAEQZAABEGMAARBvAAEQVQABEFMAARBKAAEQegABEFYAARBjAAEQNgABEGEAARBHAAEQYAABEFYAARBgAAEQWwABEDgAARBUAAEQWgABEFsAARBmAAEQYQABED4AARBWAAEQOAABEGAAARBxAAEQXwABEEoAARBnAAEQaQABEGEAARBaAAEQQAABEHIAARBMAAEQXgABEGMAARBPAAEQTAABED8AARBtAAEQWgABEGUAARBPAAEQTQABEGsAARB8AAEQTgABEDoAARBYAAEQZwABEEgAARBlAAEQZQABEFcAARA/AAEQNAABEHUAARBXAAA==</INT> diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBFactory.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBFactory.java index 2afc70db01a..e3ad8353745 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBFactory.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBFactory.java @@ -81,10 +81,10 @@ public class DBFactory */ public static void createDataSet(IGenericDAO dao, DMDataSetDTO dataSet) { - DMSampleDTO sample = dao.getSample(dataSet.getSample().getPermId()); + DMSampleDTO sample = dao.getSampleByPermId(dataSet.getSample().getPermId()); if (sample == null) { - DMExperimentDTO experiment = dao.getExperiment(dataSet.getExperiment().getPermId()); + DMExperimentDTO experiment = dao.getExperimentByPermId(dataSet.getExperiment().getPermId()); if (experiment == null) { experiment = dataSet.getExperiment(); @@ -99,7 +99,7 @@ public class DBFactory } else { dataSet.setSample(sample); - sample.setExperiment(dao.getExperiment(sample.getExperimentId())); + sample.setExperiment(dao.getExperimentById(sample.getExperimentId())); } long dataSetId = dao.addDataSet(dataSet); dataSet.setId(dataSetId); diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/IGenericDAO.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/IGenericDAO.java index e972e23b7a0..04e25d50e16 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/IGenericDAO.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/IGenericDAO.java @@ -28,29 +28,29 @@ public interface IGenericDAO extends BaseQuery { @Select("select * from EXPERIMENTS where PERM_ID = ?{1}") - public DMExperimentDTO getExperiment(String experimentPermId); + public DMExperimentDTO getExperimentByPermId(String experimentPermId); @Select("select * from EXPERIMENTS where ID = ?{1}") - public DMExperimentDTO getExperiment(long id); + public DMExperimentDTO getExperimentById(long id); @Select("insert into EXPERIMENTS (PERM_ID, NAME) values (?{1.permId}, ?{1.name}) returning ID") public long addExperiment(DMExperimentDTO experiment); @Select("select * from SAMPLES where PERM_ID = ?{1}") - public DMSampleDTO getSample(String samplePermId); + public DMSampleDTO getSampleByPermId(String samplePermId); @Select("select * from SAMPLES where ID = ?{1}") - public DMSampleDTO getSample(long id); + public DMSampleDTO getSampleById(long id); @Select("insert into SAMPLES (PERM_ID, NAME, EXPE_ID) values (?{1.permId}, ?{1.name}, ?{1.experiment.id}) " + "returning ID") public long addSample(DMSampleDTO sample); @Select("select * from DATA_SETS where PERM_ID = ?{1}") - public DMDataSetDTO getDataSet(String dataSetPermId); + public DMDataSetDTO getDataSetByPermId(String dataSetPermId); @Select("select * from DATA_SETS where ID = ?{1}") - public DMDataSetDTO getDataSet(long id); + public DMDataSetDTO getDataSetById(long id); @Select("insert into DATA_SETS (PERM_ID, EXPE_ID, SAMP_ID) values " + "(?{1.permId}, ?{1.experiment.id}, ?{1.sample.id}) returning ID") diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLParser.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLParser.java index 833a2df1db7..fd876cb1317 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLParser.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLParser.java @@ -160,7 +160,7 @@ public class EICMLParser extends DefaultHandler msRun.setChromCount(Integer.parseInt(value)); } else if ("msRunId".equals(name) && value.length() > 0) { - msRun.setId(Long.parseLong(value)); + msRun.setMsRunId(Long.parseLong(value)); } else if ("startTime".equals(name) && value.length() > 0) { msRun.setStartTime(Float.parseFloat(value)); diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMSRunDTO.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMSRunDTO.java index 0fafb092ae2..3b972347756 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMSRunDTO.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMSRunDTO.java @@ -64,6 +64,9 @@ public class EICMSRunDTO @ResultColumn("ACQUISITION_DATE") private Date acquisitionDate; + @ResultColumn("MS_RUN_ID") + private Long msRunId; + @ResultColumn("SET_ID") private Long setId; @@ -197,6 +200,16 @@ public class EICMSRunDTO this.acquisitionDate = acquisitionDate; } + public Long getMsRunId() + { + return msRunId; + } + + public void setMsRunId(Long msRunId) + { + this.msRunId = msRunId; + } + public Long getSetId() { return setId; diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/IEICMSRunDAO.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/IEICMSRunDAO.java index 9b751682628..7fff59b2f0f 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/IEICMSRunDAO.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/IEICMSRunDAO.java @@ -35,17 +35,18 @@ public interface IEICMSRunDAO extends BaseQuery + "EIC_MS_RUNS.RAW_DATA_FILE_NAME, EIC_MS_RUNS.RAW_DATA_FILE_PATH, " + "EIC_MS_RUNS.ACQUISITION_DATE, EIC_MS_RUNS.INSTRUMENT_TYPE, EIC_MS_RUNS.INSTRUMENT_MANUFACTURER, " + "EIC_MS_RUNS.INSTRUMENT_MODEL, EIC_MS_RUNS.METHOD_IONISATION, EIC_MS_RUNS.METHOD_SEPARATION, " - + "EIC_MS_RUNS.SET_ID, EIC_MS_RUNS.OPERATOR, " + + "EIC_MS_RUNS.MS_RUN_ID, EIC_MS_RUNS.SET_ID, EIC_MS_RUNS.OPERATOR, " + "EIC_MS_RUNS.START_TIME, EIC_MS_RUNS.END_TIME"; @Select("insert into EIC_MS_RUNS (EXPE_ID, SAMP_ID, DS_ID, " + "RAW_DATA_FILE_NAME, RAW_DATA_FILE_PATH, ACQUISITION_DATE, " + "INSTRUMENT_TYPE, INSTRUMENT_MANUFACTURER, INSTRUMENT_MODEL, METHOD_IONISATION, " - + "METHOD_SEPARATION, SET_ID, OPERATOR, START_TIME, END_TIME) values " + + "METHOD_SEPARATION, MS_RUN_ID, SET_ID, OPERATOR, START_TIME, END_TIME) values " + "(?{1.experimentId}, ?{1.sampleId}, ?{1.dataSetId}, ?{1.rawDataFileName}, " + "?{1.rawDataFilePath}, ?{1.acquisitionDate}, ?{1.instrumentType}, " + "?{1.instrumentManufacturer}, ?{1.instrumentModel}, ?{1.methodIonisation}, " - + "?{1.methodSeparation}, ?{1.setId}, ?{1.operator}, ?{1.startTime}, ?{1.endTime}) returning ID") + + "?{1.methodSeparation}, ?{1.msRunId}, ?{1.setId}, ?{1.operator}, " + + "?{1.startTime}, ?{1.endTime}) returning ID") public long addMSRun(EICMSRunDTO msRun); @Update(sql = "insert into EIC_CHROMATOGRAMS (EIC_MS_RUN_ID, Q1_MZ, Q3_LOW_MZ, Q3_HIGH_MZ, LABEL, POLARITY, RUN_TIMES, " @@ -55,7 +56,8 @@ public interface IEICMSRunDAO extends BaseQuery public void addChromatograms(long EIC_MS_RUN_ID, List<ChromatogramDTO> chromatogram); @Select(sql = "select EIC_MS_RUNS.*,count(EIC_CHROMATOGRAMS.*) as chromCount from EIC_MS_RUNS " - + "left join EIC_CHROMATOGRAMS on EIC_MS_RUN_ID = EIC_MS_RUNS.ID group by " + ALL_EIC_MSRUN_COLUMNS) + + "left join EIC_CHROMATOGRAMS on EIC_MS_RUN_ID = EIC_MS_RUNS.ID group by " + + ALL_EIC_MSRUN_COLUMNS) public DataIterator<EICMSRunDTO> getMsRuns(); @Select(sql = "select * from EIC_MS_RUNS where RAW_DATA_FILE_NAME=?{1}") diff --git a/rtd_yeastx/source/sql/postgresql/001/schema-001.sql b/rtd_yeastx/source/sql/postgresql/001/schema-001.sql index 88321b4638e..049b380a1ca 100644 --- a/rtd_yeastx/source/sql/postgresql/001/schema-001.sql +++ b/rtd_yeastx/source/sql/postgresql/001/schema-001.sql @@ -71,6 +71,7 @@ CREATE TABLE EIC_MS_RUNS ( METHOD_IONISATION SHORT_LABEL DEFAULT NULL, METHOD_SEPARATION LONG_LABEL DEFAULT NULL, OPERATOR SHORT_LABEL DEFAULT NULL, + MS_RUN_ID BIGINT DEFAULT NULL, SET_ID TECH_ID DEFAULT NULL, START_TIME REAL NOT NULL, END_TIME REAL NOT NULL, diff --git a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java index c54dbab5eb7..ddb1ce2f79d 100644 --- a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java +++ b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java @@ -16,19 +16,22 @@ package ch.systemsx.cisd.yeastx.eicml; +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertFalse; + import java.io.File; import java.sql.SQLException; +import java.text.ParseException; import net.lemnik.eodsql.DataIterator; +import org.apache.commons.lang.ArrayUtils; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import ch.systemsx.cisd.yeastx.db.AbstractDBTest; import ch.systemsx.cisd.yeastx.db.DMDataSetDTO; -import static org.testng.AssertJUnit.*; - /** * A test for thhe eicML tables. * @@ -53,19 +56,159 @@ public class EICMLTest extends AbstractDBTest "experiment perm id", "experiment name")); } + private void checkChromatograms(int count, ChromatogramDTO chrom) + { + assertEquals(count + 1, chrom.getId()); + switch (count) + { + case 0: + assertEquals(158.0f, chrom.getQ1Mz()); + assertEquals(158.1f, chrom.getQ3LowMz()); + assertEquals(158.2f, chrom.getQ3HighMz()); + assertEquals("EIC 158", chrom.getLabel()); + assertEquals('+', chrom.getPolarity()); + assertEquals("1600: {385.234, 385.259, 385.284...425.159, 425.184, 425.209}", toString(chrom.getRunTimes())); + assertEquals("1600: {752.0, 766.0, 762.0...1968.0, 1861.0, 1796.0}", toString(chrom.getIntensities())); + break; + case 1: + assertEquals(184.0f, chrom.getQ1Mz()); + assertEquals(184.9f, chrom.getQ3LowMz()); + assertEquals(184.5f, chrom.getQ3HighMz()); + assertEquals("EIC 184", chrom.getLabel()); + assertEquals('-', chrom.getPolarity()); + assertEquals("1600: {614.059, 614.084, 614.109...653.984, 654.009, 654.034}", toString(chrom.getRunTimes())); + assertEquals("1600: {598.0, 588.0, 615.0...564.0, 629.0, 599.0}", toString(chrom.getIntensities())); + break; + case 2: + assertEquals(186f, chrom.getQ1Mz()); + assertEquals(186f, chrom.getQ3LowMz()); + assertEquals(186f, chrom.getQ3HighMz()); + assertEquals("EIC 186", chrom.getLabel()); + assertEquals('?', chrom.getPolarity()); + assertEquals("1744: {427.734, 427.759, 427.784...471.259, 471.284, 471.309}", toString(chrom.getRunTimes())); + assertEquals("1744: {719.0, 659.0, 722.0...587.0, 582.0, 544.0}", toString(chrom.getIntensities())); + break; + case 3: + assertEquals("1600: {639.909, 639.934, 639.959...679.834, 679.859, 679.884}", toString(chrom.getRunTimes())); + assertEquals("1600: {781.0, 777.0, 758.0...1448.0, 1522.0, 1556.0}", toString(chrom.getIntensities())); + break; + case 4: + assertEquals("1600: {392.709, 392.734, 392.759...432.634, 432.659, 432.684}", toString(chrom.getRunTimes())); + assertEquals("1600: {594.0, 583.0, 592.0...603.0, 606.0, 629.0}", toString(chrom.getIntensities())); + break; + case 5: + assertEquals("1600: {465.959, 465.984, 466.009...505.884, 505.909, 505.934}", toString(chrom.getRunTimes())); + assertEquals("1600: {508.0, 499.0, 561.0...554.0, 581.0, 548.0}", toString(chrom.getIntensities())); + break; + case 6: + assertEquals("1600: {612.459, 612.484, 612.509...652.384, 652.409, 652.434}", toString(chrom.getRunTimes())); + assertEquals("1600: {1000.0, 984.0, 960.0...644.0, 622.0, 671.0}", toString(chrom.getIntensities())); + break; + case 7: + assertEquals("2040: {441.309, 441.334, 441.359...492.234, 492.259, 492.284}", toString(chrom.getRunTimes())); + assertEquals("2040: {541.0, 537.0, 556.0...567.0, 600.0, 533.0}", toString(chrom.getIntensities())); + break; + case 8: + assertEquals("3200: {469.384, 469.409, 469.434...608.784, 608.809, 608.834}", toString(chrom.getRunTimes())); + assertEquals("3200: {564.0, 582.0, 570.0...574.0, 574.0, 566.0}", toString(chrom.getIntensities())); + break; + case 9: + assertEquals("1600: {534.559, 534.584, 534.609...574.484, 574.509, 574.534}", toString(chrom.getRunTimes())); + assertEquals("1600: {585.0, 603.0, 618.0...595.0, 592.0, 600.0}", toString(chrom.getIntensities())); + break; + case 10: + assertEquals("1600: {461.134, 461.159, 461.184...501.059, 501.084, 501.109}", toString(chrom.getRunTimes())); + assertEquals("1600: {567.0, 512.0, 513.0...590.0, 583.0, 579.0}", toString(chrom.getIntensities())); + break; + case 11: + assertEquals("1600: {528.509, 528.534, 528.559...568.434, 568.459, 568.484}", toString(chrom.getRunTimes())); + assertEquals("1600: {541.0, 553.0, 534.0...562.0, 568.0, 565.0}", toString(chrom.getIntensities())); + break; + case 12: + assertEquals("1600: {492.909, 492.934, 492.959...532.834, 532.859, 532.884}", toString(chrom.getRunTimes())); + assertEquals("1600: {506.0, 495.0, 504.0...528.0, 543.0, 498.0}", toString(chrom.getIntensities())); + break; + case 13: + assertEquals("1600: {565.109, 565.134, 565.159...605.034, 605.059, 605.084}", toString(chrom.getRunTimes())); + assertEquals("1600: {544.0, 554.0, 557.0...699.0, 716.0, 706.0}", toString(chrom.getIntensities())); + break; + case 14: + assertEquals("1600: {538.834, 538.859, 538.884...578.759, 578.784, 578.809}", toString(chrom.getRunTimes())); + assertEquals("1600: {754.0, 739.0, 741.0...552.0, 539.0, 560.0}", toString(chrom.getIntensities())); + break; + case 15: + assertEquals("1600: {718.034, 718.059, 718.084...757.959, 757.984, 758.009}", toString(chrom.getRunTimes())); + assertEquals("1600: {544.0, 521.0, 561.0...540.0, 552.0, 537.0}", toString(chrom.getIntensities())); + break; + case 16: + assertEquals("2382: {544.384, 544.409, 544.434...603.859, 603.884, 603.909}", toString(chrom.getRunTimes())); + assertEquals("2382: {535.0, 557.0, 553.0...557.0, 538.0, 550.0}", toString(chrom.getIntensities())); + break; + case 17: + assertEquals("1600: {621.609, 621.634, 621.659...661.534, 661.559, 661.584}", toString(chrom.getRunTimes())); + assertEquals("1600: {541.0, 569.0, 557.0...560.0, 562.0, 558.0}", toString(chrom.getIntensities())); + break; + case 18: + assertEquals("1600: {581.284, 581.309, 581.334...621.209, 621.234, 621.259}", toString(chrom.getRunTimes())); + assertEquals("1600: {525.0, 535.0, 541.0...523.0, 577.0, 547.0}", toString(chrom.getIntensities())); + break; + case 19: + assertEquals("1600: {692.584, 692.609, 692.634...732.509, 732.534, 732.559}", toString(chrom.getRunTimes())); + assertEquals("1600: {543.0, 531.0, 549.0...529.0, 543.0, 526.0}", toString(chrom.getIntensities())); + break; + case 20: + assertEquals("1741: {697.409, 697.434, 697.459...740.859, 740.884, 740.909}", toString(chrom.getRunTimes())); + assertEquals("1741: {546.0, 563.0, 556.0...542.0, 533.0, 546.0}", toString(chrom.getIntensities())); + break; + case 21: + assertEquals("1600: {703.609, 703.634, 703.659...743.534, 743.559, 743.584}", toString(chrom.getRunTimes())); + assertEquals("1600: {528.0, 518.0, 525.0...502.0, 521.0, 514.0}", toString(chrom.getIntensities())); + break; + default: + break; + } + } + + private String toString(float[] a) + { + if (a.length < 6) + { + return ArrayUtils.toString(a); + } else + { + return a.length + ": {" + a[0] + ", " + a[1] + ", " + a[2] + "..." + a[a.length - 3] + ", " + + a[a.length - 2] + ", " + a[a.length - 1] + "}"; + } + } + @Test(dependsOnMethods = "testUploadEicML") - public void testGetMsRuns() + public void testGetMsRuns() throws ParseException { final DataIterator<EICMSRunDTO> runs = eicmlDAO.getMsRuns(); final EICMSRunDTO run = runs.next(); assertFalse(runs.hasNext()); assertEquals(22, run.getChromCount()); + assertEquals(EICMLParser.getDateFormat().parse("16-Jun-2009 11:58:14"), run + .getAcquisitionDate()); + assertEquals(370.109f, run.getStartTime()); + assertEquals(799.334f, run.getEndTime()); + assertEquals("TBD", run.getMethodSeparation()); + assertEquals("EI", run.getMethodIonisation()); + assertEquals("GC-TOF", run.getInstrumentType()); + assertEquals("LECO", run.getInstrumentManufacturer()); + assertEquals("Pegasus 3D", run.getInstrumentModel()); + assertEquals("T:\\users\\jenny\\toF for Nicola\\", run.getRawDataFilePath()); + assertEquals("P1_-4f_-Glc_all_2ul_1.cdf", run.getRawDataFileName()); + assertEquals(17L, run.getMsRunId().longValue()); + assertEquals(32L, run.getSetId().longValue()); + assertEquals("???", run.getOperator()); runs.close(); // Shoudn't be necessary, just to be sure. final DataIterator<ChromatogramDTO> chromatograms = eicmlDAO.getChromatogramsForRun(run); int count = 0; while (chromatograms.hasNext()) { - chromatograms.next(); + final ChromatogramDTO chrom = chromatograms.next(); + checkChromatograms(count, chrom); ++count; } assertEquals(22, count); -- GitLab