Ignore:
Timestamp:
Jan 28, 2011, 12:30:39 PM (12 years ago)
Author:
robert@…
Message:
 
Location:
trunk/grails-app/services/nl/tno/metagenomics
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/services/nl/tno/metagenomics/SampleExcelService.groovy

    r7 r9  
    1010        def sampleNameName = "Sample name"
    1111        def runName = "Run"
     12        def tagNameName = "Tag name"
    1213        def tagSequenceName = "Tag sequence"
    1314        def oligoNumberName = "Oligo number"
    14         def possibleFields = [sampleNameName, runName, tagSequenceName, oligoNumberName]
     15        def possibleFields = [sampleNameName, runName, tagNameName, tagSequenceName, oligoNumberName]
    1516       
    1617    def downloadSampleExcel( def assaySamples, boolean includeRun = true ) {
     
    3940                                rowData << assaySample.run?.name
    4041                       
     42                        rowData << assaySample.tagName
    4143                        rowData << assaySample.tagSequence
    4244                        rowData << assaySample.oligoNumber
     
    156158                                if( it.value > -1 ) {
    157159                                        switch( it.key ) {
     160                                                case tagNameName:               assaySample.tagName = rowData[ it.value ]; break
    158161                                                case tagSequenceName:   assaySample.tagSequence = rowData[ it.value ]; break
    159162                                                case oligoNumberName:   assaySample.oligoNumber = rowData[ it.value ]; break
  • trunk/grails-app/services/nl/tno/metagenomics/integration/GscfService.groovy

    r6 r9  
    6161   }
    6262
     63   /**
     64   * Retrieves the currently logged in user from GSCF
     65   *
     66   * @param sessionToken String
     67   *
     68   * @return Map
     69   */
     70  public Map getUser(String sessionToken) {
     71          def user = [:]
     72          this.callGSCF(sessionToken, "getUser").each {
     73                  user[ it.key ] = it.value;
     74          }
     75          return user
     76  }
     77   
    6378        /**
    6479         * Retrieve a list of Studies from the GSCF
  • trunk/grails-app/services/nl/tno/metagenomics/integration/SynchronizationService.groovy

    r7 r9  
    7979         */
    8080        public void fullSynchronization() {
    81                 if( !timeForFullSynchronization() )
    82                         return
    83 
    8481                def previousEager = this.eager
    8582                this.eager = true
     
    630627
    631628                                        // Update the sample object if necessary
    632                                         if( sampleFound.name != gscfSample.name ) {
    633                                                 sampleFound.name = gscfSample.name
    634                                                 sampleFound.save();
    635                                         }
     629                                        sampleFound.name = gscfSample.name
     630                                        sampleFound.subject = gscfSample.subject
     631                                        sampleFound.event = gscfSample.event + ( gscfSample.startTime ? " (" + gscfSample.startTime + ")" : "" )
     632                                        sampleFound.save();
    636633                                } else {
    637634                                        log.trace( "AssaySample not found in assay" )
     
    644641
    645642                                                // Update the sample object if necessary
    646                                                 if( sampleFound.name != gscfSample.name ) {
    647                                                         sampleFound.name = gscfSample.name
    648                                                         sampleFound.save();
    649                                                 }
     643                                                sampleFound.name = gscfSample.name
     644                                                sampleFound.subject = gscfSample.subject
     645                                                sampleFound.event = gscfSample.event + ( gscfSample.startTime ? " (" + gscfSample.startTime + ")" : "" )
     646                                                sampleFound.save();
    650647                                        } else {
    651648                                                log.trace( "Sample " + gscfSample.sampleToken + " not found in database. Creating a new object." )
     
    653650                                                // If it doesn't exist, create a new object
    654651                                                sampleFound = new Sample( sampleToken: gscfSample.sampleToken, name: gscfSample.name, study: assay.study );
     652                                                sampleFound.subject = gscfSample.subject
     653                                                sampleFound.event = gscfSample.event + ( gscfSample.startTime ? " (" + gscfSample.startTime + ")" : "" )
    655654                                                assay.study.addToSamples( sampleFound );
    656655                                                sampleFound.save();
  • trunk/grails-app/services/nl/tno/metagenomics/integration/TrashService.groovy

    r7 r9  
    1919               
    2020                def l = []
    21                 l += study.auth
    22                
    23                 l.each { auth ->
    24                         auth.user.removeFromAuth( auth );
    25                         study.removeFromAuth( auth );
     21                if( study.auth ) {
     22                        l += study.auth
     23                       
     24                        l.each { auth ->
     25                                auth.user?.removeFromAuth( auth );
     26                                study.removeFromAuth( auth );
     27                        }
    2628                }
    2729               
     
    5052               
    5153                l = []
    52                 l += assay.assaySamples
    53                
    54                 l.each {
    55                         it.sample.removeFromAssaySamples( it );
    56                         assay.removeFromAssaySamples( it );
     54                if( assay.assaySamples ) {
     55                        l += assay.assaySamples
     56                       
     57                        l.each {
     58                                it.sample.removeFromAssaySamples( it );
     59                                assay.removeFromAssaySamples( it );
     60                        }
    5761                }
    5862
     
    6165                        study.removeFromAssays( assay );
    6266                }
    63                
    64                 /*
    65                 def assaySamples = assay.assaySamples.toList();
    66                 assaySamples.each {
    67                         it.assay = null
    68 
    69                         assay.removeFromAssaySamples( it );
    70                         it.sample.removeFromAssaySamples( it );
    71                         it.sample = null;
    72                         it.delete( flush: true );
    73                 }
    74 
    75                 assay.study.removeFromAssays( assay );
    76                 assay.study.save();
    77                 //assay.study = null
    78                 //assay.delete(flush:true);
    79                  */
    8067        }
    8168
     
    8976                // Remove associations
    9077                def l = []
    91                 l += sample.assaySamples
    92                
    93                 l.each {
    94                         it.assay.removeFromAssaySamples( it );
    95                         sample.removeFromAssaySamples( it );
     78                if( sample.assaySamples ) {
     79                        l += sample.assaySamples
     80                       
     81                        l.each {
     82                                it.assay.removeFromAssaySamples( it );
     83                                sample.removeFromAssaySamples( it );
     84                        }
    9685                }
    9786               
     
    122111           
    123112           def l = []
    124            l += assaySample.sequenceData
    125            
    126            l.each {
    127                    if( it ) {
    128                                 assaySample.removeFromSequenceData( it );
     113           if( assaySample.sequenceData ) {
     114                   l += assaySample.sequenceData
     115                   
     116                   l.each {
     117                           if( it ) {
     118                                        assaySample.removeFromSequenceData( it );
     119                           }
    129120                   }
    130121           }
     
    181172                                // Create dummy sample
    182173                                String newSampleToken = 'TrashSample ' + new Date().format( 'yyyyMMddHHmmssSSS') + ( Math.random() * 10000 );
    183                                 Sample dummySample = new Sample( sampleToken: newSampleToken, name: sample.name, study: trashcan );
     174                                Sample dummySample = Sample.cloneSample( sample, newSampleToken, trashcan );
    184175                                trashcan.addToSamples( dummySample );
    185176                                dummySample.save()
     
    218209                        // Create dummy sample
    219210                        String newSampleToken = 'TrashSample ' + new Date().format( 'yyyyMMddHHmmssSSS') + ( Math.random() * 10000 );
    220                         Sample dummySample = new Sample( sampleToken: newSampleToken, name: sample.name, study: trashcan );
     211                        Sample dummySample = Sample.cloneSample( sample, newSampleToken, trashcan );
    221212                        trashcan.addToSamples( dummySample );
    222213                        dummySample.save()
     
    264255                   // Create dummy sample
    265256                   String newSampleToken = 'TrashSample ' + new Date().format( 'yyyyMMddHHmmssSSS') + ( Math.random() * 10000 );
    266                    Sample dummySample = new Sample( sampleToken: newSampleToken, name: assaySample.sample.name, study: trashcan );
     257                   Sample dummySample = Sample.cloneSample( assaySample.sample, newSampleToken, trashcan );
    267258                   trashcan.addToSamples( dummySample );
    268259                   dummySample.save()
     
    336327                                        for( def j = numSamples - 1; j >= 0; j-- ) {
    337328                                                def s = sampleList[ j ];
    338                                                 if( !s.tagSequence && !s.oligoNumber && s.numSequences() == 0 ) {
     329                                                if( !s.containsData() ) {
    339330                                                        assayList[ i ].removeFromAssaySamples( s );
    340331                                                        s.sample?.delete();
Note: See TracChangeset for help on using the changeset viewer.