Search in sources :

Example 1 with SamplesList

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);
}
Also used : LinkageDisequilibriumGenotypeList(org.dash.valid.gl.LinkageDisequilibriumGenotypeList) SamplesList(org.dash.valid.report.SamplesList) DetectedLinkageFindings(org.dash.valid.report.DetectedLinkageFindings)

Example 2 with SamplesList

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();
    }
}
Also used : SamplesList(org.dash.valid.report.SamplesList) Sample(org.dash.valid.Sample) DetectedLinkageFindings(org.dash.valid.report.DetectedLinkageFindings) File(java.io.File) PrintWriter(java.io.PrintWriter)

Aggregations

DetectedLinkageFindings (org.dash.valid.report.DetectedLinkageFindings)2 SamplesList (org.dash.valid.report.SamplesList)2 File (java.io.File)1 PrintWriter (java.io.PrintWriter)1 Sample (org.dash.valid.Sample)1 LinkageDisequilibriumGenotypeList (org.dash.valid.gl.LinkageDisequilibriumGenotypeList)1