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
Constructors Constructor Description ArrayDesignSequenceAlignmentServiceImpl(ArrayDesignReportService arrayDesignReportService, ArrayDesignService arrayDesignService, BioSequenceService bioSequenceService, Persister persisterHelper)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Collection<BioSequence>
getSequences(ArrayDesign ad)
static Collection<BioSequence>
getSequences(ArrayDesign ad, Taxon taxon)
Collection<BlatResult>
processArrayDesign(ArrayDesign design)
Collection<BlatResult>
processArrayDesign(ArrayDesign design, boolean sensitive)
Run blat on all sequences on the array design.Collection<BlatResult>
processArrayDesign(ArrayDesign design, Blat blat)
Collection<BlatResult>
processArrayDesign(ArrayDesign ad, Taxon taxon, Collection<BlatResult> rawBlatResults)
Taxon
validateTaxaForBlatFile(ArrayDesign arrayDesign, Taxon taxon)
If no taxon is supplied then infer it from array.
-
-
-
Constructor Detail
-
ArrayDesignSequenceAlignmentServiceImpl
@Autowired public ArrayDesignSequenceAlignmentServiceImpl(ArrayDesignReportService arrayDesignReportService, ArrayDesignService arrayDesignService, BioSequenceService bioSequenceService, Persister persisterHelper)
-
-
Method Detail
-
getSequences
public static Collection<BioSequence> getSequences(ArrayDesign ad)
- Parameters:
ad
- platform- Returns:
- all sequences, across all taxa that might be represented on the array design
-
getSequences
public static Collection<BioSequence> getSequences(ArrayDesign ad, Taxon taxon)
- Parameters:
ad
- platformtaxon
- (specified in case array has multiple taxa)- Returns:
- bio sequences
-
processArrayDesign
public Collection<BlatResult> processArrayDesign(ArrayDesign design, boolean sensitive)
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
public Taxon validateTaxaForBlatFile(ArrayDesign arrayDesign, Taxon taxon)
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
public Collection<BlatResult> processArrayDesign(ArrayDesign design)
- Specified by:
processArrayDesign
in interfaceArrayDesignSequenceAlignmentService
-
processArrayDesign
public Collection<BlatResult> processArrayDesign(ArrayDesign design, Blat blat)
- Specified by:
processArrayDesign
in interfaceArrayDesignSequenceAlignmentService
-
-