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)TaxonvalidateTaxaForBlatFile(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: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
public Taxon validateTaxaForBlatFile(ArrayDesign arrayDesign, Taxon taxon)
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
public Collection<BlatResult> processArrayDesign(ArrayDesign design)
- Specified by:
processArrayDesignin interfaceArrayDesignSequenceAlignmentService
-
processArrayDesign
public Collection<BlatResult> processArrayDesign(ArrayDesign design, Blat blat)
- Specified by:
processArrayDesignin interfaceArrayDesignSequenceAlignmentService
-
-