Changeset 157


Ignore:
Timestamp:
Oct 3, 2011, 4:47:22 PM (5 years ago)
Author:
s.h.sikkema@…
Message:

Bootstrap of features now uses features file with data corresponding to other bootstrap data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/org/dbxp/metabolomicsModule/BootStrapController.groovy

    r156 r157  
    3030                        uploadedFile.parse([delimiter: '\t'])
    3131                        uploadedFile.assay = assayYYY
    32                         uploadedFile.save()     
    33                        
     32                        uploadedFile.save()
     33
    3434                /*
    3535                 * this will load example data into:
     
    6161                                assayYYY.save()
    6262                               
    63                                 def rand  = new Random() //very handy to generate fake data
    64                                
    65                                 // setup features (only platform version specific feature properties)
    66                                 Feature.list().each { feature ->
    67                                         new MeasurementPlatformVersionFeature(
    68                                                         measurementPlatformVersion: mpv,
    69                                                         feature: feature,
    70                                                         props: [
    71                                                                 'mass'  : (((1 + rand.nextInt(1000)) * 0.2627) as Float),       // mass
    72                                                                 'rt'    : (((1 + rand.nextInt(60*60)) * 0.2672) as Float),      // time it comes from the column
    73                                                                 'is_id' : 'IS-' + (1 + rand.nextInt(40)) as String                      // internal standard used to correct
    74                                                         ]
    75                                                 ).save()
     63                                /*
     64                                 * Import features with labels and misc. properties from file
     65                                 */
     66
     67                                file = new File('testData/feature_mock_data.xls')
     68                                def uploadedFeatureFile    = uploadedFileService.createUploadedFileFromFile(file, session.user)
     69                                        uploadedFeatureFile.parse()
     70
     71                                def propertyNames = uploadedFeatureFile.matrix[0][1..-1]
     72
     73                                uploadedFeatureFile.matrix[1..-1].each { row ->
     74                                        def props = [:]
     75
     76                                        propertyNames.eachWithIndex { name, index ->
     77                                                props[name] = row[index+1]
     78                                        }
     79
     80                                        def feature = Feature.findByLabel(row[0]) ?: new Feature(label: row[0])
     81                                        feature.save()
     82                                       
     83                                        def mpvf = new MeasurementPlatformVersionFeature(feature: feature, props: props, measurementPlatformVersion: mpv)
     84                                        mpvf.save()
    7685                                }
    7786                        }
    7887                }
    79                
    80                 MetabolomicsAssay.list().each {
    81                         it.measurementPlatformVersion = MeasurementPlatformVersion.get(1)
    82                         it.save()
    83                 }
    84                
    85                 println assayYYY.measurementPlatformVersion.features.collect { it.label }
    86                
    87                 assayYYY.uploadedfiles.each { uf ->
    88                         println uploadedFileService.getFeatureNames(uf)
    89                 }
    90                
    91                
    9288
    93                 render ("Done!")
    94                 //redirect(url: request.getHeader('Referer'))
     89                if (request.getHeader('Referer')) redirect(url: request.getHeader('Referer'))
     90                else redirect(controller: 'home')
    9591        }
    9692}
Note: See TracChangeset for help on using the changeset viewer.