Skip to content

Commit

Permalink
refactor job names for variant steps
Browse files Browse the repository at this point in the history
  • Loading branch information
nitin-ebi committed Aug 21, 2024
1 parent 022ca8f commit 2039708
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public class BeanNames {
public static final String DROP_FILES_BY_STUDY_STEP = "drop-files-by-study-step";
public static final String LOAD_ANNOTATION_METADATA_STEP = "annotation-metadata-step";
public static final String ACCESSION_IMPORT_STEP = "accession-import-step";
public static final String CALCULATE_AND_LOAD_STATISTICS_STEP = "calculate-load-statistics-step";
public static final String VARIANT_STATS_STEP = "variant-stats-step";

public static final String AGGREGATED_VCF_JOB = "aggregated-vcf-job";
public static final String ANNOTATE_VARIANTS_JOB = "annotate-variants-job";
Expand All @@ -73,5 +73,5 @@ public class BeanNames {
public static final String CALCULATE_STATISTICS_JOB = "calculate-statistics-job";
public static final String DROP_STUDY_JOB = "drop-study-job";
public static final String ACCESSION_IMPORT_JOB = "accession-import-job";
public static final String CALCULATE_AND_LOAD_STATISTICS_JOB = "calculate-load-statistics-job";
public static final String VARIANT_STATS_JOB = "variant-stats-job";
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,37 +27,32 @@
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.Scope;
import uk.ac.ebi.eva.pipeline.configuration.jobs.steps.CalculateAndLoadStatisticsStepConfiguration;
import uk.ac.ebi.eva.pipeline.configuration.jobs.steps.VariantStatsStepConfiguration;
import uk.ac.ebi.eva.pipeline.parameters.NewJobIncrementer;

import static uk.ac.ebi.eva.pipeline.configuration.BeanNames.CALCULATE_AND_LOAD_STATISTICS_JOB;
import static uk.ac.ebi.eva.pipeline.configuration.BeanNames.CALCULATE_AND_LOAD_STATISTICS_STEP;
import static uk.ac.ebi.eva.pipeline.configuration.BeanNames.VARIANT_STATS_JOB;
import static uk.ac.ebi.eva.pipeline.configuration.BeanNames.VARIANT_STATS_STEP;

/**
* Configuration to run a full Statistics job: variantStatsFlow: statsCreate --> statsLoad
* <p>
* TODO add a new PopulationStatisticsJobParametersValidator
*/
@Configuration
@EnableBatchProcessing
@Import({CalculateAndLoadStatisticsStepConfiguration.class})
public class CalculateAndLoadStatisticsJobConfiguration {
@Import({VariantStatsStepConfiguration.class})
public class VariantStatsJobConfiguration {

private static final Logger logger = LoggerFactory.getLogger(CalculateAndLoadStatisticsJobConfiguration.class);
private static final Logger logger = LoggerFactory.getLogger(VariantStatsJobConfiguration.class);

@Autowired
@Qualifier(CALCULATE_AND_LOAD_STATISTICS_STEP)
private Step calculateAndLoadStatisticsStep;
@Qualifier(VARIANT_STATS_STEP)
private Step variantStatsStep;

@Bean(CALCULATE_AND_LOAD_STATISTICS_JOB)
@Bean(VARIANT_STATS_JOB)
@Scope("prototype")
public Job calculateAndLoadStatisticsJob(JobBuilderFactory jobBuilderFactory) {
logger.debug("Building '" + CALCULATE_AND_LOAD_STATISTICS_JOB + "'");
public Job variantStatsJob(JobBuilderFactory jobBuilderFactory) {
logger.debug("Building '" + VARIANT_STATS_JOB + "'");

return jobBuilderFactory
.get(CALCULATE_AND_LOAD_STATISTICS_JOB)
.get(VARIANT_STATS_JOB)
.incrementer(new NewJobIncrementer())
.start(calculateAndLoadStatisticsStep)
.start(variantStatsStep)
.build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,26 +33,26 @@
import uk.ac.ebi.eva.pipeline.configuration.io.writers.VariantStatsWriterConfiguration;
import uk.ac.ebi.eva.pipeline.configuration.jobs.steps.processors.VariantStatsProcessorConfiguration;

import static uk.ac.ebi.eva.pipeline.configuration.BeanNames.CALCULATE_AND_LOAD_STATISTICS_STEP;
import static uk.ac.ebi.eva.pipeline.configuration.BeanNames.VARIANT_STATS_PROCESSOR;
import static uk.ac.ebi.eva.pipeline.configuration.BeanNames.VARIANT_STATS_READER;
import static uk.ac.ebi.eva.pipeline.configuration.BeanNames.VARIANT_STATS_STEP;
import static uk.ac.ebi.eva.pipeline.configuration.BeanNames.VARIANT_STATS_WRITER;


@Configuration
@EnableBatchProcessing
@Import({VariantStatsReaderConfiguration.class, VariantStatsWriterConfiguration.class,
VariantStatsProcessorConfiguration.class, ChunkSizeCompletionPolicyConfiguration.class})
public class CalculateAndLoadStatisticsStepConfiguration {
public class VariantStatsStepConfiguration {

@Bean(CALCULATE_AND_LOAD_STATISTICS_STEP)
public Step calculateAndLoadStatisticsStep(
@Bean(VARIANT_STATS_STEP)
public Step variantStatsStep(
@Qualifier(VARIANT_STATS_READER) ItemStreamReader<VariantDocument> variantStatsReader,
@Qualifier(VARIANT_STATS_PROCESSOR) ItemProcessor<VariantDocument, VariantDocument> variantStatsProcessor,
@Qualifier(VARIANT_STATS_WRITER) ItemWriter<VariantDocument> variantStatsWriter,
StepBuilderFactory stepBuilderFactory,
SimpleCompletionPolicy chunkSizeCompletionPolicy) {
TaskletStep step = stepBuilderFactory.get(CALCULATE_AND_LOAD_STATISTICS_STEP)
TaskletStep step = stepBuilderFactory.get(VARIANT_STATS_STEP)
.<VariantDocument, VariantDocument>chunk(chunkSizeCompletionPolicy)
.reader(variantStatsReader)
.processor(variantStatsProcessor)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import org.springframework.test.context.junit4.SpringRunner;
import uk.ac.ebi.eva.pipeline.configuration.BeanNames;
import uk.ac.ebi.eva.pipeline.configuration.MongoConfiguration;
import uk.ac.ebi.eva.pipeline.configuration.jobs.CalculateAndLoadStatisticsJobConfiguration;
import uk.ac.ebi.eva.pipeline.configuration.jobs.VariantStatsJobConfiguration;
import uk.ac.ebi.eva.test.configuration.BatchTestConfiguration;
import uk.ac.ebi.eva.test.configuration.TemporaryRuleConfiguration;
import uk.ac.ebi.eva.test.rules.PipelineTemporaryFolderRule;
Expand All @@ -46,20 +46,20 @@
import static uk.ac.ebi.eva.test.utils.TestFileUtils.getResourceUrl;

/**
* Test for {@link CalculateAndLoadStatisticsStepConfiguration}
* Test for {@link VariantStatsStepConfiguration}
*/
@RunWith(SpringRunner.class)
@TestPropertySource({"classpath:test-stats.properties"})
@ContextConfiguration(classes = {CalculateAndLoadStatisticsJobConfiguration.class, BatchTestConfiguration.class,
@ContextConfiguration(classes = {VariantStatsJobConfiguration.class, BatchTestConfiguration.class,
TemporaryRuleConfiguration.class, MongoConfiguration.class})
public class CalculateAndLoadStatisticsStepTest {
public class VariantStatsStepTest {
private static final String MONGO_DUMP = "/dump/VariantStatsConfigurationTest_vl";

private static final String COLLECTION_VARIANTS_NAME = "variants";

private static final String COLLECTION_FILES_NAME = "files";

private static final String DATABASE_NAME = "calculate_load_stats_test_db";
private static final String DATABASE_NAME = "variant_stats_test_db";

private static final String STUDY_ID = "1";

Expand All @@ -85,7 +85,7 @@ public void cleanUp() {
}

@Test
public void calculateAndLoadStatisticsStepShouldCalculateAndLoadStats() {
public void variantStatsStepShouldCalculateAndLoadStats() {
JobParameters jobParameters = new EvaJobParameterBuilder()
.collectionFilesName(COLLECTION_FILES_NAME)
.collectionVariantsName(COLLECTION_VARIANTS_NAME)
Expand All @@ -94,7 +94,7 @@ public void calculateAndLoadStatisticsStepShouldCalculateAndLoadStats() {
.chunkSize("100")
.toJobParameters();

JobExecution jobExecution = jobLauncherTestUtils.launchStep(BeanNames.CALCULATE_AND_LOAD_STATISTICS_STEP, jobParameters);
JobExecution jobExecution = jobLauncherTestUtils.launchStep(BeanNames.VARIANT_STATS_STEP, jobParameters);

// check job completed successfully
assertCompleted(jobExecution);
Expand Down

0 comments on commit 2039708

Please sign in to comment.