Search in sources :

Example 1 with Sample

use of function.genotype.base.Sample in project atav by igm-team.

the class CoverageAnalysisBase method outputSampleSummary.

private void outputSampleSummary() {
    try {
        StringBuilder sb = new StringBuilder();
        for (Sample sample : SampleManager.getList()) {
            sb.append(sample.getName()).append(",");
            sb.append(GeneManager.getAllGeneBoundaryLength()).append(",");
            int totalSampleCov = getSampleCoverageByIndex(sample.getIndex());
            sb.append(totalSampleCov).append(",");
            double ratio = MathManager.devide(totalSampleCov, GeneManager.getAllGeneBoundaryLength());
            sb.append(FormatManager.getSixDegitDouble(ratio)).append(",");
            sb.append(GeneManager.getGeneBoundaryList().size()).append(",");
            int totalSampleRegionCovered = sampleCoverageCount[sample.getIndex()];
            sb.append(totalSampleRegionCovered).append(",");
            ratio = MathManager.devide(totalSampleRegionCovered, GeneManager.getGeneBoundaryList().size());
            sb.append(FormatManager.getSixDegitDouble(ratio));
            writeToFile(sb.toString(), bwSampleSummary);
            sb.setLength(0);
        }
    } catch (Exception e) {
        ErrorManager.send(e);
    }
}
Also used : Sample(function.genotype.base.Sample)

Example 2 with Sample

use of function.genotype.base.Sample in project atav by igm-team.

the class CoverageComparison method processExon.

@Override
public void processExon(HashMap<Integer, Integer> sampleCoveredLengthMap, Gene gene, Exon exon) {
    try {
        SimpleRegression sr = new SimpleRegression(true);
        SummaryStatistics lss = new SummaryStatistics();
        float caseAvg = 0;
        float ctrlAvg = 0;
        for (Sample sample : SampleManager.getList()) {
            Integer coveredLength = sampleCoveredLengthMap.get(sample.getId());
            if (coveredLength != null) {
                if (sample.isCase()) {
                    caseAvg += coveredLength;
                } else {
                    ctrlAvg += coveredLength;
                }
            } else {
                coveredLength = 0;
            }
            addRegressionData(sr, lss, sample, coveredLength, exon.getLength());
        }
        caseAvg = MathManager.devide(caseAvg, SampleManager.getCaseNum());
        caseAvg = MathManager.devide(caseAvg, exon.getLength());
        ctrlAvg = MathManager.devide(ctrlAvg, SampleManager.getCtrlNum());
        ctrlAvg = MathManager.devide(ctrlAvg, exon.getLength());
        if (CoverageCommand.isMinCoverageFractionValid(caseAvg) && CoverageCommand.isMinCoverageFractionValid(ctrlAvg)) {
            StringBuilder sb = new StringBuilder();
            String name = gene.getName() + "_" + exon.getIdStr();
            sb.append(name).append(",");
            sb.append(gene.getChr()).append(",");
            sb.append(FormatManager.getFloat(caseAvg)).append(",");
            sb.append(FormatManager.getFloat(ctrlAvg)).append(",");
            float covDiff = Data.NA;
            if (CoverageCommand.isRelativeDifference) {
                covDiff = MathManager.relativeDiff(caseAvg, ctrlAvg);
            } else {
                covDiff = MathManager.abs(caseAvg, ctrlAvg);
            }
            sb.append(FormatManager.getFloat(covDiff)).append(",");
            sb.append(exon.getLength());
            addExon(sb, name, caseAvg, ctrlAvg, covDiff, exon.getLength(), sr, lss);
            bwCoverageSummaryByExon.write(sb.toString());
            bwCoverageSummaryByExon.newLine();
        }
    } catch (Exception e) {
        ErrorManager.send(e);
    }
}
Also used : SimpleRegression(org.apache.commons.math3.stat.regression.SimpleRegression) Sample(function.genotype.base.Sample) SummaryStatistics(org.apache.commons.math3.stat.descriptive.SummaryStatistics)

Example 3 with Sample

use of function.genotype.base.Sample in project atav by igm-team.

the class CoverageComparisonBase method outputGeneSummary.

private void outputGeneSummary(Gene gene) {
    try {
        float caseAvg = 0, ctrlAvg = 0;
        for (Sample sample : SampleManager.getList()) {
            if (sample.isCase()) {
                caseAvg += geneSampleCoverage[gene.getIndex()][sample.getIndex()];
            } else {
                ctrlAvg += geneSampleCoverage[gene.getIndex()][sample.getIndex()];
            }
        }
        caseAvg = MathManager.devide(caseAvg, SampleManager.getCaseNum());
        caseAvg = MathManager.devide(caseAvg, gene.getLength());
        ctrlAvg = MathManager.devide(ctrlAvg, SampleManager.getCtrlNum());
        ctrlAvg = MathManager.devide(ctrlAvg, gene.getLength());
        if (CoverageCommand.isMinCoverageFractionValid(caseAvg) && CoverageCommand.isMinCoverageFractionValid(ctrlAvg)) {
            StringBuilder sb = new StringBuilder();
            sb.append(gene.getName()).append(",");
            sb.append(gene.getChr()).append(",");
            sb.append(FormatManager.getFloat(caseAvg)).append(",");
            sb.append(FormatManager.getFloat(ctrlAvg)).append(",");
            float covDiff = Data.NA;
            if (CoverageCommand.isRelativeDifference) {
                covDiff = MathManager.relativeDiff(caseAvg, ctrlAvg);
            } else {
                covDiff = MathManager.abs(caseAvg, ctrlAvg);
            }
            sb.append(FormatManager.getFloat(covDiff)).append(",");
            sb.append(gene.getLength());
            writeToFile(sb.toString(), bwCoverageSummaryByGene);
        }
    } catch (Exception ex) {
        ErrorManager.send(ex);
    }
}
Also used : Sample(function.genotype.base.Sample)

Example 4 with Sample

use of function.genotype.base.Sample in project atav by igm-team.

the class CollapsingBase method outputMatrix.

public void outputMatrix() throws Exception {
    for (CollapsingSummary summary : summaryList) {
        bwSampleMatrix.write(summary.name + "\t");
        for (Sample sample : SampleManager.getList()) {
            bwSampleMatrix.write(summary.variantNumBySample[sample.getIndex()] + "\t");
        }
        bwSampleMatrix.newLine();
        summary.countSample();
        summary.calculateFetP();
    }
    bwSampleMatrix.flush();
    bwSampleMatrix.close();
}
Also used : Sample(function.genotype.base.Sample)

Example 5 with Sample

use of function.genotype.base.Sample in project atav by igm-team.

the class CollapsingCompHet method getCoOccurrenceFreq.

/*
     * The number of people who have BOTH of the variants divided by the total
     * number of covered people. freq[0] Frequency of Variant #1 & #2
     * (co-occurance) in cases. freq[1] Frequency of Variant #1 & #2
     * (co-occurance) in ctrls
     */
private double[] getCoOccurrenceFreq(CompHetOutput output1, CompHetOutput output2) {
    double[] freq = new double[2];
    int quanlifiedCaseCount = 0, qualifiedCtrlCount = 0;
    int totalCaseCount = 0, totalCtrlCount = 0;
    for (Sample sample : SampleManager.getList()) {
        boolean isCoQualifiedGeno = isCoQualifiedGeno(output1, output2, sample.getIndex());
        if (sample.isCase()) {
            totalCaseCount++;
            if (isCoQualifiedGeno) {
                quanlifiedCaseCount++;
            }
        } else {
            totalCtrlCount++;
            if (isCoQualifiedGeno) {
                qualifiedCtrlCount++;
            }
        }
    }
    freq[Index.CTRL] = MathManager.devide(qualifiedCtrlCount, totalCtrlCount);
    freq[Index.CASE] = MathManager.devide(quanlifiedCaseCount, totalCaseCount);
    return freq;
}
Also used : Sample(function.genotype.base.Sample)

Aggregations

Sample (function.genotype.base.Sample)29 HashMap (java.util.HashMap)2 SimpleRegression (org.apache.commons.math3.stat.regression.SimpleRegression)2 BufferedWriter (java.io.BufferedWriter)1 File (java.io.File)1 FileWriter (java.io.FileWriter)1 IOException (java.io.IOException)1 RandomAccessFile (java.io.RandomAccessFile)1 SummaryStatistics (org.apache.commons.math3.stat.descriptive.SummaryStatistics)1