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:ArrayDesignSequenceAlignmentService
Run 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:
processArrayDesign
in 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:
processArrayDesign
in 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:ArrayDesignSequenceAlignmentService
If 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:
validateTaxaForBlatFile
in interfaceArrayDesignSequenceAlignmentService
- Parameters:
arrayDesign
- Array design to processtaxon
- Taxon supplied- Returns:
- taxon
-
processArrayDesign
- Specified by:
processArrayDesign
in interfaceArrayDesignSequenceAlignmentService
-
processArrayDesign
- Specified by:
processArrayDesign
in interfaceArrayDesignSequenceAlignmentService
-