Class ArrayDesignSequenceAlignmentServiceImpl
java.lang.Object
ubic.gemma.core.loader.expression.arrayDesign.ArrayDesignSequenceAlignmentServiceImpl
- All Implemented Interfaces:
ArrayDesignSequenceAlignmentService
@Component
public class ArrayDesignSequenceAlignmentServiceImpl
extends Object
implements ArrayDesignSequenceAlignmentService
Aligns sequences from array designs to the genome, using blat, and persists the blat results.
Note: to avoid having very long transactions, this does not run transactionally at the level of a platform. Thus it
is possible for it to die with a platform half-processed. But if we don't do this the transactions are too big and
cause various deadlocking problems.
- Author:
- pavlidis
-
Constructor Summary
ConstructorsConstructorDescriptionArrayDesignSequenceAlignmentServiceImpl(ArrayDesignReportService arrayDesignReportService, ArrayDesignService arrayDesignService, BioSequenceService bioSequenceService, Persister persisterHelper) -
Method Summary
Modifier and TypeMethodDescriptionstatic Collection<BioSequence> static Collection<BioSequence> getSequences(ArrayDesign ad, Taxon taxon) processArrayDesign(ArrayDesign design) processArrayDesign(ArrayDesign design, boolean sensitive) Run blat on all sequences on the array design.processArrayDesign(ArrayDesign design, Blat blat) processArrayDesign(ArrayDesign ad, Taxon taxon, Collection<BlatResult> rawBlatResults) validateTaxaForBlatFile(ArrayDesign arrayDesign, Taxon taxon) If no taxon is supplied then infer it from array.
-
Constructor Details
-
ArrayDesignSequenceAlignmentServiceImpl
@Autowired public ArrayDesignSequenceAlignmentServiceImpl(ArrayDesignReportService arrayDesignReportService, ArrayDesignService arrayDesignService, BioSequenceService bioSequenceService, Persister persisterHelper)
-
-
Method Details
-
getSequences
- Parameters:
ad- platform- Returns:
- all sequences, across all taxa that might be represented on the array design
-
getSequences
- Parameters:
ad- platformtaxon- (specified in case array has multiple taxa)- Returns:
- bio sequences
-
processArrayDesign
Description copied from interface:ArrayDesignSequenceAlignmentServiceRun blat on all sequences on the array design. For arrays with sequences from multiple taxa, BLAT is run appropriately assuming sequences are available for all the represented taxa.- Specified by:
processArrayDesignin interfaceArrayDesignSequenceAlignmentService- Parameters:
design- adsensitive- if true, blat will be run in a more sensitive mode, if available.- Returns:
- blat results
-
processArrayDesign
public Collection<BlatResult> processArrayDesign(ArrayDesign ad, Taxon taxon, Collection<BlatResult> rawBlatResults) - Specified by:
processArrayDesignin interfaceArrayDesignSequenceAlignmentService- Parameters:
ad- adtaxon- (to allow for the possibility of multiple taxa for the array) - if not given, attempt to infer from ad.rawBlatResults- , assumed to be from alignments to correct taxon Typically these would have been read in from a file.- Returns:
- persisted BlatResults.
-
validateTaxaForBlatFile
Description copied from interface:ArrayDesignSequenceAlignmentServiceIf no taxon is supplied then infer it from array. If more than one taxa is on array then stop processing as blat file details should relate to one taxon- Specified by:
validateTaxaForBlatFilein interfaceArrayDesignSequenceAlignmentService- Parameters:
arrayDesign- Array design to processtaxon- Taxon supplied- Returns:
- taxon
-
processArrayDesign
- Specified by:
processArrayDesignin interfaceArrayDesignSequenceAlignmentService
-
processArrayDesign
- Specified by:
processArrayDesignin interfaceArrayDesignSequenceAlignmentService
-