From cf79b8088b190f99e2ce7615dd0cdaa2ecbb69dd Mon Sep 17 00:00:00 2001 From: Ryan Amari Date: Wed, 26 Jun 2024 14:11:29 -0400 Subject: [PATCH] ALS-6330: Add config for bch --- .../hpds/processing/GenomicProcessorConfig.java | 17 +++++++++++++++++ .../resources/application-bch-dev.properties | 7 +++++++ 2 files changed, 24 insertions(+) create mode 100644 service/src/main/resources/application-bch-dev.properties diff --git a/processing/src/main/java/edu/harvard/hms/dbmi/avillach/hpds/processing/GenomicProcessorConfig.java b/processing/src/main/java/edu/harvard/hms/dbmi/avillach/hpds/processing/GenomicProcessorConfig.java index a6e7fd1b..8e3924e3 100644 --- a/processing/src/main/java/edu/harvard/hms/dbmi/avillach/hpds/processing/GenomicProcessorConfig.java +++ b/processing/src/main/java/edu/harvard/hms/dbmi/avillach/hpds/processing/GenomicProcessorConfig.java @@ -60,6 +60,23 @@ public GenomicProcessor localPatientDistributedGenomicProcessor() { return new GenomicProcessorPatientMergingParentImpl(studyGroupedGenomicProcessors); } + @Bean(name = "localPatientOnlyDistributedGenomicProcessor") + @ConditionalOnProperty(prefix = "hpds.genomicProcessor", name = "impl", havingValue = "localPatientDistributed") + public GenomicProcessor localPatientOnlyDistributedGenomicProcessor() { + // assumed for now that all first level directories contain a genomic dataset for a group of studies + File[] directories = new File(hpdsGenomicDataDirectory).listFiles(File::isDirectory); + if (directories.length > 10) { + throw new IllegalArgumentException("Number of genomic partitions by studies exceeds maximum of 10 (" + directories.length + ")"); + } + + List studyGroupedGenomicProcessors = new ArrayList<>(); + + for (File directory : directories) { + studyGroupedGenomicProcessors.add(new GenomicProcessorNodeImpl(directory.getAbsolutePath())); + } + + return new GenomicProcessorPatientMergingParentImpl(studyGroupedGenomicProcessors); + } @Bean(name = "remoteGenomicProcessor") @ConditionalOnProperty(prefix = "hpds.genomicProcessor", name = "impl", havingValue = "remote") diff --git a/service/src/main/resources/application-bch-dev.properties b/service/src/main/resources/application-bch-dev.properties new file mode 100644 index 00000000..6a5dc140 --- /dev/null +++ b/service/src/main/resources/application-bch-dev.properties @@ -0,0 +1,7 @@ +SMALL_JOB_LIMIT = 100 +SMALL_TASK_THREADS = 1 +LARGE_TASK_THREADS = 1 +VCF_EXCERPT_ENABLED=true + +hpds.genomicProcessor.impl=localPatientOnlyDistributedGenomicProcessor +HPDS_GENOMIC_DATA_DIRECTORY=/opt/local/hpds/all/ \ No newline at end of file