File tree Expand file tree Collapse file tree 3 files changed +9
-3
lines changed Expand file tree Collapse file tree 3 files changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -136,8 +136,11 @@ class DownloadGeoSeries(DynamicTaskWithOutputMixin, DynamicWrapperTask):
136
136
Download all GEO Samples related to a GEO Series.
137
137
"""
138
138
139
+ ignored_samples = luigi .ListParameter (default = [], description = 'Ignored GSM identifiers' )
140
+
139
141
def run (self ):
140
142
gsms = collect_geo_samples (self .input ().path )
143
+ gsms = [gsm for gsm in gsms if gsm not in self .ignored_samples ]
141
144
if not gsms :
142
145
raise ValueError ('{} has no related GEO samples with RNA-Seq data.' .format (self .gse ))
143
146
yield [DownloadGeoSample (gsm , metadata = self .metadata ) for gsm in gsms ]
Original file line number Diff line number Diff line change @@ -182,9 +182,10 @@ def output(self):
182
182
183
183
@requires (DownloadSraProjectRunInfo )
184
184
class DownloadSraProject (DynamicTaskWithOutputMixin , DynamicWrapperTask ):
185
+ ignored_samples = luigi .ListParameter (default = [], description = 'Ignored SRX identifiers' )
185
186
def run (self ):
186
187
df = read_runinfo (self .input ().path )
187
- yield [DownloadSraExperiment (experiment , metadata = self .metadata ) for experiment , runs in df .groupby ('Experiment' )]
188
+ yield [DownloadSraExperiment (experiment , metadata = self .metadata ) for experiment , runs in df .groupby ('Experiment' ) if experiment not in self . ignored_samples ]
188
189
189
190
@requires (DownloadSraProjectRunInfo , DownloadSraProject )
190
191
class ExtractSraProjectBatchInfo (luigi .Task ):
Original file line number Diff line number Diff line change @@ -396,13 +396,15 @@ class SubmitExperimentBatchInfoToGemma(RerunnableTaskMixin, GemmaCliTask):
396
396
397
397
resources = {'submit_batch_info_jobs' : 1 }
398
398
399
+ ignored_samples = luigi .ListParameter (default = [])
400
+
399
401
def requires (self ):
400
402
# TODO: Have a generic strategy for extracting batch info that would
401
403
# work for all sources
402
404
if self .external_database == 'GEO' :
403
- return ExtractGeoSeriesBatchInfo (self .accession , metadata = dict (experiment_id = self .experiment_id ))
405
+ return ExtractGeoSeriesBatchInfo (self .accession , metadata = dict (experiment_id = self .experiment_id ), ignored_samples = self . ignored_samples )
404
406
elif self .external_database == 'SRA' :
405
- return ExtractSraProjectBatchInfo (self .accession , metadata = dict (experiment_id = self .experiment_id ))
407
+ return ExtractSraProjectBatchInfo (self .accession , metadata = dict (experiment_id = self .experiment_id ), ignored_samples = self . ignored_samples )
406
408
else :
407
409
raise NotImplementedError ('Extracting batch information from {} is not supported.' .format (self .external_database ))
408
410
You can’t perform that action at this time.
0 commit comments