Ignore:
Timestamp:
May 17, 2011, 1:44:07 PM (9 years ago)
Author:
robert@…
Message:

Implemented importing of classifications

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/domain/nl/tno/massSequencing/AssaySample.groovy

    r52 r58  
    7070        }
    7171
     72        /**
     73         * Returns the number of sequences that have been classified for this sample
     74         * @return
     75         */
     76        public int numClassifiedSequences() {
     77                return Sequence.countByAssaySample( this );
     78        }
     79       
    7280        /**
    7381         * Returns the number of sequence files in the system, belonging to this
     
    260268                return  fwOligo || fwMidName || fwTotalSeq || fwMidSeq || fwPrimerSeq ||
    261269                                revOligo || revMidName || revTotalSeq || revMidSeq || revPrimerSeq ||
    262                                 numFiles() > 0;
     270                                numFiles() > 0 || numClassifiedSequences() > 0;
    263271        }
    264272       
     
    306314                        }
    307315                }
    308 
     316               
     317                // Copy all sequence classifications to the new assaysample
     318                Sequence.executeUpdate( "UPDATE Sequence s SET s.assaySample = :new WHERE s.assaySample = :old ", [ 'old': this, 'new': otherAssaySample ] )
     319       
    309320                // Copy run properties
    310321                if( otherAssaySample.run ) {
     
    340351                }
    341352
     353                // Remove all sequence objects referencing this sequenceData object
     354                Sequence.executeUpdate( "DELETE FROM Sequence s WHERE s.assaySample = ?", [this])
     355               
    342356                resetStats();
    343357                save();
     
    346360        }
    347361
     362       
     363        /**
     364         * Remove data from associations before delete the assaySample itself
     365         */
     366        def beforeDelete = {
     367                deleteSequenceData();
     368               
     369                Classification.executeUpdate( "DELETE FROM Classification c WHERE c.assaySample = ?", [this])
     370        }
    348371}
Note: See TracChangeset for help on using the changeset viewer.