From 5148840639f33c063b4e8c2db1ab57f7ac489640 Mon Sep 17 00:00:00 2001 From: Charles Shale Date: Wed, 3 Nov 2021 06:42:06 +1100 Subject: [PATCH] Neo: removed redundant wildtype match field --- .../hmftools/common/neo/NeoEpitopeFile.java | 13 +- .../hmftools/neo/cohort/NeoEpitopeCohort.java | 245 ------------------ .../hmftools/neo/cohort/NeoScorer.java | 1 + .../hmftools/neo/epitope/NeoConfig.java | 1 - .../hmftools/neo/epitope/NeoEpitope.java | 7 +- .../neo/epitope/NeoEpitopeAnnotator.java | 145 +---------- .../hmftools/neo/epitope/NeoSampleTask.java | 16 +- .../neo/utils/WildtypePeptidePredictions.java | 3 - 8 files changed, 17 insertions(+), 414 deletions(-) delete mode 100644 neo/src/main/java/com/hartwig/hmftools/neo/cohort/NeoEpitopeCohort.java diff --git a/hmf-common/src/main/java/com/hartwig/hmftools/common/neo/NeoEpitopeFile.java b/hmf-common/src/main/java/com/hartwig/hmftools/common/neo/NeoEpitopeFile.java index e0a9b986f6..b5bcc67414 100644 --- a/hmf-common/src/main/java/com/hartwig/hmftools/common/neo/NeoEpitopeFile.java +++ b/hmf-common/src/main/java/com/hartwig/hmftools/common/neo/NeoEpitopeFile.java @@ -52,7 +52,6 @@ public class NeoEpitopeFile public final String[] CodingBaseCigars; public final double[] CancerTpmTotal; public final double[] CohortTpmTotal; - public final boolean WildtypeNovelAAMatch; public static final String FLD_NE_ID = "NeId"; public static final String FLD_NE_VAR_TYPE = "VariantType"; @@ -74,7 +73,7 @@ public NeoEpitopeFile( final String transcriptsUp, final String transcriptsDown, final String wildtypeAAs, int codingBaseUpPosStart, int codingBaseUpPosEnd, final String codingBasesUp, final String codingBaseCigarUp, int codingBaseDownPosStart, int codingBaseDownPosEnd, final String codingBasesDown, final String codingBaseCigarDown, - double tmpCancerUp, double tmpCohortUp, double tmpCancerDown, double tmpCohortDown, boolean wildtypeNovelAAMatch) + double tmpCancerUp, double tmpCohortUp, double tmpCancerDown, double tmpCohortDown) { Id = id; VariantType = varType; @@ -101,7 +100,6 @@ public NeoEpitopeFile( CodingBasePositions[FS_DOWN] = new int[] {codingBaseDownPosStart, codingBaseDownPosEnd}; CancerTpmTotal = new double[] { tmpCancerUp, tmpCohortUp }; CohortTpmTotal = new double[] { tmpCancerDown, tmpCohortDown }; - WildtypeNovelAAMatch = wildtypeNovelAAMatch; } private static final String FILE_EXTENSION = ".neo.neoepitopes.csv"; @@ -190,7 +188,6 @@ private static List fromLines(@NotNull List lines) int tpmCohUpIndex = fieldsIndexMap.get("TpmCohortUp"); int tpmCanDownIndex = fieldsIndexMap.get("TpmCancerDown"); int tpmCohDownIndex = fieldsIndexMap.get("TpmCohortDown"); - int wtNovelAaIndex = fieldsIndexMap.get("WildtypeNovelAAMatch"); for(String line : lines) { @@ -209,7 +206,7 @@ private static List fromLines(@NotNull List lines) Integer.parseInt(values[cbUpPosStartIndex]), Integer.parseInt(values[cbUpPosEndIndex]), values[cbUpIndex], values[cbCigUpIndex], Integer.parseInt(values[cbDownPosStartIndex]), Integer.parseInt(values[cbDownPosEndIndex]), values[cbDownIndex], values[cbCigDownIndex], Double.parseDouble(values[tpmCanUpIndex]), Double.parseDouble(values[tpmCohUpIndex]), - Double.parseDouble(values[tpmCanDownIndex]), Double.parseDouble(values[tpmCohDownIndex]), Boolean.parseBoolean(values[wtNovelAaIndex]))); + Double.parseDouble(values[tpmCanDownIndex]), Double.parseDouble(values[tpmCohDownIndex]))); } catch(Exception e) { @@ -261,7 +258,6 @@ public static String header() .add("TpmCohortUp") .add("TpmCancerDown") .add("TpmCohortDown") - .add("WildtypeNovelAAMatch") .toString(); } @@ -307,11 +303,11 @@ public static String toString(@NotNull final NeoEpitopeFile neo) sj.add(String.format("%6.3e", neo.CohortTpmTotal[FS_UP])); sj.add(String.format("%6.3e", neo.CancerTpmTotal[FS_DOWN])); sj.add(String.format("%6.3e", neo.CohortTpmTotal[FS_DOWN])); - sj.add(String.valueOf(neo.WildtypeNovelAAMatch)); return sj.toString(); } + /* @NotNull public static NeoEpitopeFile fromString(@NotNull final String data, boolean skipSampleId) { @@ -333,8 +329,9 @@ public static NeoEpitopeFile fromString(@NotNull final String data, boolean skip Integer.parseInt(values[index++]), Integer.parseInt(values[index++]), values[index++], values[index++], Integer.parseInt(values[index++]), Integer.parseInt(values[index++]), values[index++], values[index++], Double.parseDouble(values[index++]), Double.parseDouble(values[index++]), - Double.parseDouble(values[index++]), Double.parseDouble(values[index++]), Boolean.parseBoolean(values[index++])); + Double.parseDouble(values[index++]), Double.parseDouble(values[index++])); } + */ public static String pointMutationInfo(final String chromosome, int position, final String ref, final String alt) { diff --git a/neo/src/main/java/com/hartwig/hmftools/neo/cohort/NeoEpitopeCohort.java b/neo/src/main/java/com/hartwig/hmftools/neo/cohort/NeoEpitopeCohort.java deleted file mode 100644 index da1692f6c4..0000000000 --- a/neo/src/main/java/com/hartwig/hmftools/neo/cohort/NeoEpitopeCohort.java +++ /dev/null @@ -1,245 +0,0 @@ -package com.hartwig.hmftools.neo.cohort; - -import static com.hartwig.hmftools.common.fusion.FusionCommon.FS_DOWN; -import static com.hartwig.hmftools.common.fusion.FusionCommon.FS_UP; -import static com.hartwig.hmftools.common.neo.NeoEpitopeFile.DELIMITER; -import static com.hartwig.hmftools.common.neo.NeoEpitopeFile.VAR_INFO_DELIM; -import static com.hartwig.hmftools.common.neo.NeoEpitopeType.INFRAME_DELETION; -import static com.hartwig.hmftools.common.neo.NeoEpitopeType.INFRAME_INSERTION; -import static com.hartwig.hmftools.common.neo.NeoEpitopeType.MISSENSE; -import static com.hartwig.hmftools.common.rna.RnaCommon.ISF_FILE_ID; -import static com.hartwig.hmftools.common.utils.ConfigUtils.LOG_DEBUG; -import static com.hartwig.hmftools.common.utils.ConfigUtils.setLogLevel; -import static com.hartwig.hmftools.common.utils.FileWriterUtils.OUTPUT_DIR; -import static com.hartwig.hmftools.common.utils.FileWriterUtils.closeBufferedWriter; -import static com.hartwig.hmftools.common.utils.FileWriterUtils.createBufferedWriter; -import static com.hartwig.hmftools.common.utils.FileWriterUtils.createFieldsIndexMap; -import static com.hartwig.hmftools.common.utils.FileWriterUtils.parseOutputDir; -import static com.hartwig.hmftools.common.utils.sv.StartEndIterator.SE_END; -import static com.hartwig.hmftools.common.utils.sv.StartEndIterator.SE_START; -import static com.hartwig.hmftools.neo.NeoCommon.NEO_FILE_ID; -import static com.hartwig.hmftools.neo.NeoCommon.NE_LOGGER; -import static com.hartwig.hmftools.neo.NeoCommon.loadSampleIdsFile; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.List; -import java.util.Map; - -import com.google.common.collect.Lists; -import com.hartwig.hmftools.common.neo.NeoEpitopeFile; -import com.hartwig.hmftools.common.neo.NeoEpitopeType; - -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.CommandLineParser; -import org.apache.commons.cli.DefaultParser; -import org.apache.commons.cli.Options; -import org.apache.commons.cli.ParseException; -import org.jetbrains.annotations.NotNull; - -public class NeoEpitopeCohort -{ - private final String mOutputDir; - private final String mNeoDataDir; - private final List mSampleIds; - - private BufferedWriter mCohortWriter; - - public static final String SAMPLE_ID_FILE = "sample_id_file"; - public static final String NEO_DATA_DIR = "neo_data_dir"; - public static final String PREDICTION_DATA_DIR = "prediction_data_dir"; - - private static final double PREDICTION_FACTOR = 2; - - public NeoEpitopeCohort(final CommandLine cmd) - { - mSampleIds = Lists.newArrayList(); - loadSampleIdsFile(cmd.getOptionValue(SAMPLE_ID_FILE), mSampleIds); - - mNeoDataDir = cmd.getOptionValue(NEO_DATA_DIR); - mOutputDir = parseOutputDir(cmd); - mCohortWriter = null; - } - - public void run() - { - if(mSampleIds.isEmpty()) - return; - - initialiseWriter(); - - NE_LOGGER.info("processing {} samples", mSampleIds.size()); - - // check required inputs and config - int processed = 0; - - for(final String sampleId : mSampleIds) - { - processSampleNeoEpitopes(sampleId); - ++processed; - - if(processed > 0 && (processed % 100) == 0) - { - NE_LOGGER.info("processed {} samples", processed); - } - } - - closeBufferedWriter(mCohortWriter); - } - - private void processSampleNeoEpitopes(final String sampleId) - { - try - { - String neoEpitopeFile = NeoEpitopeFile.generateFilename(mNeoDataDir, sampleId); - String rnaNeoEpitopeFile = neoEpitopeFile.replace(NEO_FILE_ID, ISF_FILE_ID); - - boolean hasRnaData = Files.exists(Paths.get(rnaNeoEpitopeFile)); - - final List lines = hasRnaData ? - Files.readAllLines(new File(rnaNeoEpitopeFile).toPath()) : Files.readAllLines(new File(neoEpitopeFile).toPath()); - - final Map fieldsIndexMap = createFieldsIndexMap(lines.get(0), DELIMITER); - lines.remove(0); - - Integer fragIndex = fieldsIndexMap.get("FragmentsNovel"); - Integer baseDepthUp = fieldsIndexMap.get("BaseDepthUp"); - Integer baseDepthDown = fieldsIndexMap.get("BaseDepthDown"); - - for(String line : lines) - { - NeoEpitopeFile neoData = null; - - try - { - neoData = NeoEpitopeFile.fromString(line, false); - } - catch(Exception e) - { - NE_LOGGER.error("sample({}) error({}) parsing neo data: {}", sampleId, e.toString(), line); - continue; - } - - int rnaFragCount = 0; - int[] rnaBaseDepth = {0, 0}; - - if(hasRnaData) - { - final String[] items = line.split(DELIMITER, -1); - rnaFragCount = Integer.parseInt(items[fragIndex]); - rnaBaseDepth[SE_START] = Integer.parseInt(items[baseDepthUp]); - rnaBaseDepth[SE_END] = Integer.parseInt(items[baseDepthDown]); - } - - writeData(sampleId, neoData, hasRnaData, rnaFragCount, rnaBaseDepth); - } - - NE_LOGGER.debug("sample({}) loaded {} neo-epitopes {}", sampleId, lines.size(), hasRnaData ? "with RNA" : ""); - } - catch(IOException exception) - { - NE_LOGGER.error("failed to read sample({}) neo-epitope file: {}", sampleId, exception.toString()); - } - } - - private void initialiseWriter() - { - try - { - final String outputFileName = mOutputDir + "IMU_NEO_EPITOPES.csv"; - - mCohortWriter = createBufferedWriter(outputFileName, false); - mCohortWriter.write("SampleId,NeId,VariantType,VariantInfo,JunctionCopyNumber"); - mCohortWriter.write(",GeneIdUp,GeneIdDown,GeneNameUp,GeneNameDown"); - mCohortWriter.write(",NmdMin,NmdMax,CodingBasesLengthMin,CodingBasesLengthMax,FusedIntronLength"); - mCohortWriter.write(",SkippedDonors,SkippedAcceptors,UpTranscripts,DownTranscripts"); - mCohortWriter.write(",TpmCancerUp,TpmCohortUp,TpmCancerDown,TpmCohortDown"); - mCohortWriter.write(",HasRna,RnaFragCount,RnaDepthUp,RnaDepthDown"); - mCohortWriter.newLine(); - } - catch (IOException e) - { - NE_LOGGER.error("failed to create neo-epitope writer: {}", e.toString()); - } - } - - private void writeData( - final String sampleId, final NeoEpitopeFile neData, boolean hasRna, int rnaFragCount, final int[] rnaBaseDepth) - { - try - { - // correction for missense which are inframe INDELs - NeoEpitopeType variantType = neData.VariantType; - - if(variantType == MISSENSE) - { - String[] variantInfo = neData.VariantInfo.split(VAR_INFO_DELIM, -1); - if(variantInfo.length == 4 && variantInfo[2].length() != variantInfo[3].length()) - { - variantType = variantInfo[3].length() > variantInfo[2].length() ? INFRAME_INSERTION : INFRAME_DELETION; - } - } - - mCohortWriter.write(String.format("%s,%d,%s,%s,%.1f", - sampleId, neData.Id, variantType, neData.VariantInfo, neData.CopyNumber)); - - mCohortWriter.write(String.format(",%s,%s,%s,%s", - neData.GeneIds[FS_UP], neData.GeneIds[FS_DOWN], neData.GeneNames[FS_UP], neData.GeneNames[FS_DOWN])); - - mCohortWriter.write(String.format(",%d,%d,%d,%d,%d", - neData.NmdBases[0], neData.NmdBases[1], neData.CodingBasesLength[0], neData.CodingBasesLength[1], neData.FusedIntronLength)); - - mCohortWriter.write(String.format(",%d,%d,%s,%s", - neData.SkippedAcceptorsDonors[FS_UP], neData.SkippedAcceptorsDonors[FS_DOWN], - neData.Transcripts[FS_UP], neData.Transcripts[FS_DOWN])); - - mCohortWriter.write(String.format(",%6.3e,%6.3e,%6.3e,%6.3e", - neData.CancerTpmTotal[FS_UP], neData.CohortTpmTotal[FS_UP], neData.CancerTpmTotal[FS_DOWN], neData.CohortTpmTotal[FS_DOWN])); - - mCohortWriter.write(String.format(",%s,%d,%d,%d", - hasRna, rnaFragCount, rnaBaseDepth[SE_START], rnaBaseDepth[SE_END])); - - mCohortWriter.newLine(); - } - catch (IOException e) - { - NE_LOGGER.error("failed to write neo-epitope data: {}", e.toString()); - } - } - - public static void addCmdLineArgs(Options options) - { - options.addOption(SAMPLE_ID_FILE, true, "SampleId file"); - options.addOption(NEO_DATA_DIR, true, "Directory for sample neo-epitope files"); - options.addOption(PREDICTION_DATA_DIR, true, "Directory for sample prediction result files"); - options.addOption(OUTPUT_DIR, true, "Output directory"); - options.addOption(LOG_DEBUG, false, "Log verbose"); - } - - public static void main(@NotNull final String[] args) throws ParseException - { - final Options options = new Options(); - - NeoEpitopeCohort.addCmdLineArgs(options); - - final CommandLine cmd = createCommandLine(args, options); - - setLogLevel(cmd); - - NeoEpitopeCohort neoEpitopeCohort = new NeoEpitopeCohort(cmd); - neoEpitopeCohort.run(); - - NE_LOGGER.info("Neo-epitope annotations complete"); - } - - @NotNull - public static CommandLine createCommandLine(@NotNull final String[] args, @NotNull final Options options) throws ParseException - { - final CommandLineParser parser = new DefaultParser(); - return parser.parse(options, args); - } - -} diff --git a/neo/src/main/java/com/hartwig/hmftools/neo/cohort/NeoScorer.java b/neo/src/main/java/com/hartwig/hmftools/neo/cohort/NeoScorer.java index 62bb6677f3..bac133285b 100644 --- a/neo/src/main/java/com/hartwig/hmftools/neo/cohort/NeoScorer.java +++ b/neo/src/main/java/com/hartwig/hmftools/neo/cohort/NeoScorer.java @@ -22,6 +22,7 @@ import org.apache.commons.cli.ParseException; import org.jetbrains.annotations.NotNull; +// public class NeoScorer { private final NeoScorerConfig mConfig; diff --git a/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoConfig.java b/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoConfig.java index 071df78ac0..f16b29f919 100644 --- a/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoConfig.java +++ b/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoConfig.java @@ -64,7 +64,6 @@ public class NeoConfig public static final String WRITE_PEPTIDES = "write_peptides"; public static final String WRITE_TRANS_DATA = "write_trans_data"; - public static final String NEO_EPITOPE_FILE_ID = ".neo.neoepitopes.csv"; public static final String HLA_PEPTIDE_FILE_ID = ".neo.hla_peptides.csv"; public static final int DEFAULT_AMINO_ACID_REF_COUNT = 18; diff --git a/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoEpitope.java b/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoEpitope.java index ecbd8dc5c8..24754ca7e5 100644 --- a/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoEpitope.java +++ b/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoEpitope.java @@ -240,11 +240,6 @@ refGenome, TransData[FS_UP], chromosome(FS_UP), upstreamAAPosStart, wtOrient, public abstract void setSkippedSpliceSites(final EnsemblDataCache geneTransCache); - public boolean matchesAminoAcids(final NeoEpitope other) - { - return UpstreamAcids.equals(other.UpstreamAcids) && DownstreamAcids.equals(other.DownstreamAcids) && NovelAcid.equals(other.NovelAcid); - } - public String aminoAcidString() { return UpstreamAcids + NovelAcid + DownstreamAcids; } public boolean hasWildtypeAminoAcidMatch() @@ -286,6 +281,6 @@ TransData[FS_UP].GeneId, TransData[FS_DOWN].GeneId, geneName(FS_UP), geneName(FS ExtPositions[FS_UP][SE_START], ExtPositions[FS_UP][SE_END], ExtCodingBases[FS_UP], ExtCigars[FS_UP].toString(), ExtPositions[FS_DOWN][SE_START], ExtPositions[FS_DOWN][SE_END], ExtCodingBases[FS_DOWN], ExtCigars[FS_DOWN] != null ? ExtCigars[FS_DOWN].toString() : "", - tpmCancer[FS_UP], tpmCohort[FS_UP], tpmCancer[FS_DOWN], tpmCohort[FS_DOWN], hasWildtypeAminoAcidMatch()); + tpmCancer[FS_UP], tpmCohort[FS_UP], tpmCancer[FS_DOWN], tpmCohort[FS_DOWN]); } } diff --git a/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoEpitopeAnnotator.java b/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoEpitopeAnnotator.java index 041a35ef04..abbf3ed0d7 100644 --- a/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoEpitopeAnnotator.java +++ b/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoEpitopeAnnotator.java @@ -54,14 +54,9 @@ public class NeoEpitopeAnnotator private final DatabaseAccess mDbAccess; private final CohortTpmData mCohortTpmData; - private BufferedWriter mNeoEpitopeWriter; - private BufferedWriter mPeptideWriter; - public NeoEpitopeAnnotator(final CommandLine cmd) { mConfig = new NeoConfig(cmd); - mNeoEpitopeWriter = null; - mPeptideWriter = null; mSampleFusionMap = Maps.newHashMap(); @@ -87,11 +82,6 @@ public void run() else { NE_LOGGER.info("processing {} samples", mConfig.Samples.size()); - - mNeoEpitopeWriter = initialiseNeoepitopeWriter(mConfig.OutputDir, null); - - if(mConfig.WritePeptides) - mPeptideWriter = initialisePeptideWriter(mConfig.OutputDir, null); } // check required inputs and config @@ -99,8 +89,7 @@ public void run() for(final SampleData sample : mConfig.Samples) { - NeoSampleTask sampleTask = new NeoSampleTask( - sample, mConfig, mGeneTransCache, mDbAccess, mCohortTpmData, mNeoEpitopeWriter, mPeptideWriter); + NeoSampleTask sampleTask = new NeoSampleTask(sample, mConfig, mGeneTransCache, mDbAccess, mCohortTpmData); sampleTasks.add(sampleTask); } @@ -114,68 +103,6 @@ public void run() { sampleTasks.forEach(x -> x.processSample()); } - - if(mConfig.WritePeptides) - { - closeBufferedWriter(mNeoEpitopeWriter); - closeBufferedWriter(mPeptideWriter); - } - } - - private final List loadCohortSomaticVariants() - { - final List pointMutations = Lists.newArrayList(); - - if(mConfig.MutationsFile == null) - return pointMutations; - - try - { - final List fileContents = Files.readAllLines(new File(mConfig.MutationsFile).toPath()); - - if(fileContents.isEmpty()) - return pointMutations; - - final String header = fileContents.get(0); - fileContents.remove(0); - final Map fieldsIndexMap = createFieldsIndexMap(header, DELIMITER); - - for(String data : fileContents) - { - final String[] items = data.split(DELIMITER); - - pointMutations.add(new PointMutationData( - items[fieldsIndexMap.get("Chromosome")], - Integer.parseInt(items[fieldsIndexMap.get("Position")]), - items[fieldsIndexMap.get("Ref")], - items[fieldsIndexMap.get("Alt")], - items[fieldsIndexMap.get("GeneName")], - CodingEffect.valueOf(items[fieldsIndexMap.get("CodingEffect")]), - 1, -1)); - } - } - catch (IOException e) - { - NE_LOGGER.warn("failed to load common HLA types file({}): {}", mConfig.MutationsFile, e.toString()); - } - - return pointMutations; - } - - private final List getSvFusions(final String sampleId) - { - if(mSampleFusionMap.isEmpty()) - { - if(mConfig.SvFusionsDir == null) - return Lists.newArrayList(); - - loadCohortSvNeoEpitopes(); - } - - final List fusions = mSampleFusionMap.get(sampleId); - mSampleFusionMap.remove(sampleId); - - return fusions != null ? fusions : Lists.newArrayList(); } private static void populateTpmMedians( @@ -199,57 +126,6 @@ private static void populateTpmMedians( } } - private void loadCohortSvNeoEpitopes() - { - final String filename = mConfig.SvFusionsDir + NE_FUSION_COHORT_FILE; - - if(Files.exists(Paths.get(filename))) - return; - - try - { - BufferedReader fileReader = new BufferedReader(new FileReader(filename)); - - String line = fileReader.readLine(); - - if (line == null) - { - NE_LOGGER.error("empty Linx neo-epitope file({})", filename); - return; - } - - int neCount = 0; - String currentSampleId = ""; - List fusions = null; - - while ((line = fileReader.readLine()) != null) - { - final String[] items = line.split(DELIMITER, -1); - - final String sampleId = items[0]; - - if(!mConfig.Samples.stream().noneMatch(x -> x.Id.equals(sampleId))) - continue; - - if(!currentSampleId.equals(sampleId)) - { - fusions = Lists.newArrayList(); - currentSampleId = sampleId; - mSampleFusionMap.put(sampleId, fusions); - } - - fusions.add(NeoEpitopeFusion.fromString(line, true)); - ++neCount; - } - - NE_LOGGER.debug("loaded {} Linx neo-epitope candidates from file: {}", neCount, filename); - } - catch(IOException exception) - { - NE_LOGGER.error("failed to read Linx neo-epitope file({})", filename, exception.toString()); - } - } - public static BufferedWriter initialiseNeoepitopeWriter(final String outputDir, final String sampleId) { if(outputDir.isEmpty()) @@ -257,12 +133,8 @@ public static BufferedWriter initialiseNeoepitopeWriter(final String outputDir, try { - String outputFileName = outputDir; - - if(sampleId == null) - outputFileName += "IMU_NEO_EPITOPES.csv"; - else - outputFileName += sampleId + NeoConfig.NEO_EPITOPE_FILE_ID; + String outputFileName = sampleId != null ? + NeoEpitopeFile.generateFilename(outputDir, sampleId) : outputDir + "IMU_NEO_EPITOPES.csv"; BufferedWriter writer = createBufferedWriter(outputFileName, false); @@ -308,15 +180,12 @@ public synchronized static void writeNeoepitopes( public static BufferedWriter initialisePeptideWriter(final String outputDir, final String sampleId) { + if(sampleId == null) + return null; + try { - String outputFileName = outputDir; - - if(sampleId == null) - outputFileName += "IMU_HLA_PEPTIDES.csv"; - else - outputFileName += sampleId + NeoConfig.HLA_PEPTIDE_FILE_ID; - + String outputFileName = outputDir + sampleId + NeoConfig.HLA_PEPTIDE_FILE_ID; BufferedWriter writer = createBufferedWriter(outputFileName, false); if(sampleId == null) diff --git a/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoSampleTask.java b/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoSampleTask.java index 4793aedf78..6b3c3838a3 100644 --- a/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoSampleTask.java +++ b/neo/src/main/java/com/hartwig/hmftools/neo/epitope/NeoSampleTask.java @@ -65,7 +65,7 @@ public class NeoSampleTask implements Callable public NeoSampleTask( final SampleData sampleData, final NeoConfig config, final EnsemblDataCache ensemblDataCache, final DatabaseAccess dbAccess, - final CohortTpmData cohortTpmData, final BufferedWriter neoEpitopeWriter, final BufferedWriter peptideWriter) + final CohortTpmData cohortTpmData) { mSampleData = sampleData; @@ -77,18 +77,8 @@ public NeoSampleTask( mNextNeoEpitopeId = 0; mFusions = Lists.newArrayList(); - if(neoEpitopeWriter != null && peptideWriter != null) - { - mNeoEpitopeWriter = null; - mPeptideWriter = null; - } - else - { - mNeoEpitopeWriter = initialiseNeoepitopeWriter(mConfig.OutputDir, mSampleData.Id); - - if(mConfig.WritePeptides) - mPeptideWriter = initialisePeptideWriter(mConfig.OutputDir, mSampleData.Id); - } + mNeoEpitopeWriter = initialiseNeoepitopeWriter(mConfig.OutputDir, mSampleData.Id); + mPeptideWriter = mConfig.WritePeptides ? initialisePeptideWriter(mConfig.OutputDir, mSampleData.Id) : null; } @Override diff --git a/neo/src/main/java/com/hartwig/hmftools/neo/utils/WildtypePeptidePredictions.java b/neo/src/main/java/com/hartwig/hmftools/neo/utils/WildtypePeptidePredictions.java index 994d6ac8f6..1c5280f91b 100644 --- a/neo/src/main/java/com/hartwig/hmftools/neo/utils/WildtypePeptidePredictions.java +++ b/neo/src/main/java/com/hartwig/hmftools/neo/utils/WildtypePeptidePredictions.java @@ -1,11 +1,8 @@ package com.hartwig.hmftools.neo.utils; -import static com.hartwig.hmftools.common.ensemblcache.EnsemblDataCache.ENSEMBL_DATA_DIR; import static com.hartwig.hmftools.common.ensemblcache.EnsemblDataCache.addEnsemblDir; -import static com.hartwig.hmftools.common.utils.ConfigUtils.LOG_DEBUG; import static com.hartwig.hmftools.common.utils.ConfigUtils.addLoggingOptions; import static com.hartwig.hmftools.common.utils.ConfigUtils.setLogLevel; -import static com.hartwig.hmftools.common.utils.FileWriterUtils.OUTPUT_DIR; import static com.hartwig.hmftools.common.utils.FileWriterUtils.addOutputDir; import static com.hartwig.hmftools.common.utils.FileWriterUtils.closeBufferedWriter; import static com.hartwig.hmftools.common.utils.FileWriterUtils.createBufferedWriter;