use of org.dash.valid.report.SamplesList in project ImmunogeneticDataTools by nmdp-bioinformatics.
the class LinkageDisequilibriumAnalyzer method analyzeGLStringFile.
/**
* @param filename
*/
public static void analyzeGLStringFile(String filename) throws IOException {
List<LinkageDisequilibriumGenotypeList> glStrings = GLStringUtilities.readGLStringFile(filename);
List<Sample> samplesList = null;
samplesList = detectLinkages(glStrings);
for (Sample sample : samplesList) {
DetectedLinkageFindings findings = sample.getFindings();
LinkageDisequilibriumWriter.getInstance().reportDetectedLinkages(findings);
HaplotypePairWriter.getInstance().reportDetectedLinkages(findings);
CommonWellDocumentedWriter.getInstance().reportCommonWellDocumented(findings);
DetectedFindingsWriter.getInstance().reportDetectedFindings(findings);
}
SamplesList allSamples = new SamplesList();
allSamples.setSamples(samplesList);
SummaryWriter.getInstance().reportDetectedLinkages(allSamples);
}
use of org.dash.valid.report.SamplesList 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();
}
}
Aggregations