use of org.dash.valid.Sample in project ImmunogeneticDataTools by nmdp-bioinformatics.
the class AnalyzeGLStrings method writeOutput.
private void writeOutput(List<Sample> samplesList) throws IOException {
PrintWriter writer = null;
PrintWriter summaryWriter = null;
PrintWriter pairWriter = null;
PrintWriter pairWarningsWriter = null;
PrintWriter linkageWriter = null;
PrintWriter linkageWarningsWriter = null;
PrintWriter nonCwdWriter = null;
PrintWriter detectedFindingsWriter = null;
boolean writeToDir = false;
if (outputFile != null && outputFile.isDirectory()) {
writeToDir = true;
summaryWriter = writer(new File(outputFile + "/" + SummaryWriter.SUMMARY_XML_FILE), true);
pairWriter = writer(new File(outputFile + "/" + HaplotypePairFileHandler.HAPLOTYPE_PAIRS_LOG), true);
pairWarningsWriter = writer(new File(outputFile + "/" + HaplotypePairWarningFileHandler.HAPLOTYPE_PAIRS_WARNING_LOG), true);
linkageWriter = writer(new File(outputFile + "/" + LinkageDisequilibriumFileHandler.LINKAGES_LOG), true);
linkageWarningsWriter = writer(new File(outputFile + "/" + LinkageWarningFileHandler.LINKAGE_WARNINGS_LOG), true);
nonCwdWriter = writer(new File(outputFile + "/" + CommonWellDocumentedFileHandler.NON_CWD_WARNINGS_LOG), true);
detectedFindingsWriter = writer(new File(outputFile + "/" + DetectedFindingsWriter.DETECTED_FINDINGS_CSV), true);
} else {
writer = writer(outputFile, true);
}
SamplesList allSamples = new SamplesList();
allSamples.setSamples(samplesList);
String summaryFindings = SummaryWriter.formatDetectedLinkages(allSamples);
for (Sample sample : samplesList) {
DetectedLinkageFindings findings = sample.getFindings();
if (warnings != null && warnings == Boolean.TRUE && !findings.hasAnomalies()) {
continue;
}
if (writeToDir) {
if (sample.getFindings().hasAnomalies()) {
pairWarningsWriter.write(HaplotypePairWriter.formatDetectedLinkages(findings));
linkageWarningsWriter.write(LinkageDisequilibriumWriter.formatDetectedLinkages(findings));
} else {
pairWriter.write(HaplotypePairWriter.formatDetectedLinkages(findings));
linkageWriter.write(LinkageDisequilibriumWriter.formatDetectedLinkages(findings));
nonCwdWriter.write(CommonWellDocumentedWriter.formatCommonWellDocumented(findings));
detectedFindingsWriter.write(DetectedFindingsWriter.formatDetectedFindings(findings));
}
}
}
if (writeToDir) {
summaryWriter.write(summaryFindings);
summaryWriter.close();
pairWriter.close();
pairWarningsWriter.close();
linkageWriter.close();
linkageWarningsWriter.close();
nonCwdWriter.close();
detectedFindingsWriter.close();
} else {
writer.write(summaryFindings);
writer.close();
}
}
use of org.dash.valid.Sample in project ImmunogeneticDataTools by nmdp-bioinformatics.
the class AnalyzeGLStringsTest method testAnalyzeGLString.
@Test
public void testAnalyzeGLString() throws Exception {
InputStream is = AnalyzeGLStringsTest.class.getClassLoader().getResourceAsStream("fullyQualifiedExample.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
File inputFile = null;
File outputFile = null;
String hladb = "3.20.0";
String freq = null;
Boolean warnings = null;
Set<File> frequencyFiles = null;
File allelesFile = null;
AnalyzeGLStrings analyzer = new AnalyzeGLStrings(inputFile, outputFile, hladb, freq, warnings, frequencyFiles, allelesFile);
List<Sample> samplesList = analyzer.performAnalysis(reader);
assertNotNull(samplesList);
assertTrue(samplesList.size() > 0);
}
Aggregations