Skip to content

Commit

Permalink
fix(pharmcat): convert relative paths to absolute paths to make sure …
Browse files Browse the repository at this point in the history
…we can get parent directory

Fix-for: #202
  • Loading branch information
markwoon committed Dec 9, 2024
1 parent d520135 commit cf3bf7e
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions src/main/java/org/pharmgkb/pharmcat/Pipeline.java
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ public Pipeline(Env env,
m_sampleId = sampleId;
generateBasename(baseFilename, vcfFile.getFile(), sampleId, singleSample);
if (m_baseDir == null) {
m_baseDir = m_vcfFile.getFile().getParent();
m_baseDir = getBaseDir(m_vcfFile.getFile());
}
m_matcherJsonFile = m_baseDir.resolve(m_basename + BaseConfig.MATCHER_SUFFIX + ".json");
m_topCandidateOnly = topCandidateOnly;
Expand All @@ -126,7 +126,7 @@ public Pipeline(Env env,
}
generateBasename(baseFilename, inputFile, sampleId, singleSample);
if (m_baseDir == null) {
m_baseDir = inputFile.getParent();
m_baseDir = getBaseDir(inputFile);
}
m_phenotyperJsonFile = m_baseDir.resolve(m_basename + BaseConfig.PHENOTYPER_SUFFIX + ".json");
}
Expand All @@ -143,7 +143,7 @@ public Pipeline(Env env,
}
generateBasename(baseFilename, inputFile, sampleId, singleSample);
if (m_baseDir == null) {
m_baseDir = inputFile.getParent();
m_baseDir = getBaseDir(inputFile);
}
if (reporterHtml) {
m_reporterHtmlFile = m_baseDir.resolve(m_basename + BaseConfig.REPORTER_SUFFIX + ".html");
Expand Down Expand Up @@ -176,9 +176,10 @@ public String getBasename() {
return m_basename;
}

private void generateBasename(String baseFilename, Path inputFile, String sampleId, boolean singleSample) {
private void generateBasename(String baseFilename, Path inputFile, String sampleId, boolean singleSample)
throws ReportableException {
if (m_baseDir == null) {
m_baseDir = inputFile.getParent();
m_baseDir = getBaseDir(inputFile);
}
if (m_basename != null) {
return;
Expand All @@ -200,6 +201,16 @@ private void generateBasename(String baseFilename, Path inputFile, String sample
}


private Path getBaseDir(Path inputFile) throws ReportableException {
Path absPath = inputFile.toAbsolutePath();
Path dir = absPath.getParent();
if (dir != null) {
return dir;
}
throw new ReportableException("Cannot determine directory to save results to. Please specify output directory.");
}


/**
* Run PharmCAT pipeline.
*
Expand Down

0 comments on commit cf3bf7e

Please sign in to comment.