Ignore:
Timestamp:
Jan 12, 2011, 9:45:08 PM (12 years ago)
Author:
robert@…
Message:

Externalized configuration; improved assay view (detail views of runs and samples); implemented uploading and parsing of FASTA and QUAL files

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        44.classpath
        55.project
         6fileuploads
  • trunk/grails-app/domain/nl/tno/metagenomics/Run.groovy

    r2 r3  
    1111class Run {
    1212        def fileService
    13        
     13
    1414        String  name
    1515        Date    date
     
    2020        static hasMany = [sequenceData: SequenceData, assays: Assay]
    2121        static belongsTo = Assay        // Only used to determine the owner of the many-to-many relationship assay-run
    22        
     22
    2323        static mapping = {
    2424                columns {
     
    3333                parameterFile(nullable:true)
    3434        }
    35        
     35
    3636        def beforeDelete = {
    3737                // Remove the file if the object is deleted
    3838                if( this.parameterFile )
    3939                        fileService.delete( this.parameterFile, fileService.absolutePath( ConfigurationHolder.config.metagenomics.fileDir ) )
    40          }
    41  
     40        }
     41
    4242        /**
    4343         * Sets the properties of this run from a form
     
    4747        public setPropertiesFromForm( params ) {
    4848                this.properties = params.run
    49                
     49
    5050                // Enter date or default NULL
    5151                if( params.run_date ) {
     
    5454                        this.date = null
    5555                }
    56                
     56
    5757                // Enter filename if needed
    5858                if( params.parameterFile ) {
    5959                        this.parameterFile = fileService.handleUploadedFile(
    60                                 fileService.get( params.parameterFile ),
    61                                 "",
    62                                 fileService.absolutePath( ConfigurationHolder.config.metagenomics.fileDir )
    63                         );
     60                                        fileService.get( params.parameterFile ),
     61                                        "",
     62                                        fileService.absolutePath( ConfigurationHolder.config.metagenomics.fileDir )
     63                                        );
    6464                }
    6565        }
     66
     67        /**
     68         * Returns the number of files in the system, belonging to this run
     69         *
     70         * @return
     71         */
     72        public int numFiles() {
     73                if( !sequenceData )
     74                        return 0
     75
     76                int numFiles = 0;
     77                sequenceData.each { numFiles += it.numFiles() }
     78
     79                return numFiles;
     80        }
     81
     82        /**
     83         * Returns the number of sequences in the files in the system, belonging to this run
     84         *
     85         * @return
     86         */
     87        public long numSequences() {
     88                if( !sequenceData )
     89                        return 0
     90
     91                long numSequences = 0;
     92                sequenceData.each { numSequences += it.numSequences }
     93
     94                return numSequences;
     95        }
     96
     97        /**
     98         * Returns the assaySamples associated with this run
     99         *
     100         * @return
     101         */
     102        public ArrayList samples( def assayId ) {
     103                if( !sequenceData )
     104                        return []
     105
     106                def list = []
     107                sequenceData.each {
     108                        if( it.sample.assay.id == assayId )
     109                                list << it.sample
     110                }
     111
     112                return list.unique().toList();
     113        }
    66114}
Note: See TracChangeset for help on using the changeset viewer.