use of function.genotype.base.Sample in project atav by igm-team.
the class CollapsingSingleVariant method processOutput4Summary.
private void processOutput4Summary(CollapsingOutput output, ArrayList<CollapsingSummary> summaryList) {
try {
boolean isVariantQualified = false;
for (Sample sample : SampleManager.getList()) {
output.calculateLooFreq(sample);
if (output.isMaxLooMafValid()) {
int geno = output.getCalledVariant().getGenotype(sample.getIndex());
if (output.isQualifiedGeno(geno)) {
for (CollapsingSummary summary : summaryList) {
summary.updateSampleVariantCount4SingleVar(sample.getIndex());
}
outputQualifiedVariant(output, sample);
isVariantQualified = true;
}
}
}
// only count qualified variant once per gene or region
if (isVariantQualified) {
for (CollapsingSummary summary : summaryList) {
summary.updateVariantCount(output);
}
}
} catch (Exception e) {
ErrorManager.send(e);
}
}
use of function.genotype.base.Sample in project atav by igm-team.
the class LinearOutput method doRegression.
public void doRegression(String model) {
SimpleRegression sr = new SimpleRegression(true);
for (Sample sample : SampleManager.getList()) {
int geno = calledVar.getGenotype(sample.getIndex());
if (geno != Data.NA) {
double y = sample.getQuantitativeTrait();
if (model.equals("allelic")) {
if (isMinorRef) {
if (geno == Index.REF) {
sr.addData(1, y);
sr.addData(1, y);
} else if (geno == Index.HET) {
sr.addData(1, y);
sr.addData(0, y);
} else if (geno == Index.HOM) {
sr.addData(0, y);
sr.addData(0, y);
}
} else if (geno == Index.REF) {
sr.addData(0, y);
sr.addData(0, y);
} else if (geno == Index.HET) {
sr.addData(1, y);
sr.addData(0, y);
} else if (geno == Index.HOM) {
sr.addData(1, y);
sr.addData(1, y);
}
} else if (model.equals("dominant")) {
if (isMinorRef) {
if (geno == Index.REF) {
sr.addData(1, y);
} else if (geno == Index.HET) {
sr.addData(1, y);
} else if (geno == Index.HOM) {
sr.addData(0, y);
} else if (geno == Index.HOM_MALE) {
sr.addData(0, y);
} else if (geno == Index.REF_MALE) {
sr.addData(1, y);
}
} else if (geno == Index.REF) {
sr.addData(0, y);
} else if (geno == Index.HET) {
sr.addData(1, y);
} else if (geno == Index.HOM) {
sr.addData(1, y);
} else if (geno == Index.HOM_MALE) {
sr.addData(1, y);
} else if (geno == Index.REF_MALE) {
sr.addData(0, y);
}
} else if (model.equals("recessive")) {
if (isMinorRef) {
if (geno == Index.REF) {
sr.addData(1, y);
} else if (geno == Index.HET) {
sr.addData(0, y);
} else if (geno == Index.HOM) {
sr.addData(0, y);
} else if (geno == Index.HOM_MALE) {
sr.addData(0, y);
} else if (geno == Index.REF_MALE) {
sr.addData(1, y);
}
} else if (geno == Index.REF) {
sr.addData(0, y);
} else if (geno == Index.HET) {
sr.addData(0, y);
} else if (geno == Index.HOM) {
sr.addData(1, y);
} else if (geno == Index.HOM_MALE) {
sr.addData(1, y);
} else if (geno == Index.REF_MALE) {
sr.addData(0, y);
}
} else if (model.equals("genotypic")) {
// not complete yet, to be finished a bit later
if (isMinorRef) {
if (geno == Index.REF) {
sr.addData(2, y);
} else if (geno == Index.HET) {
sr.addData(1, y);
} else if (geno == Index.HOM) {
sr.addData(0, y);
} else if (geno == Index.HOM_MALE) {
sr.addData(0, y);
} else if (geno == Index.REF_MALE) {
sr.addData(1, y);
}
} else if (geno == Index.REF) {
sr.addData(0, y);
} else if (geno == Index.HET) {
sr.addData(1, y);
} else if (geno == Index.HOM) {
sr.addData(2, y);
} else if (geno == Index.HOM_MALE) {
sr.addData(1, y);
} else if (geno == Index.REF_MALE) {
sr.addData(0, y);
}
} else if (model.equals("additive")) {
if (isMinorRef) {
if (geno == Index.REF) {
sr.addData(2, y);
} else if (geno == Index.HET) {
sr.addData(1, y);
} else if (geno == Index.HOM) {
sr.addData(0, y);
} else if (geno == Index.HOM_MALE) {
sr.addData(0, y);
} else if (geno == Index.REF_MALE) {
sr.addData(1, y);
}
} else if (geno == Index.REF) {
sr.addData(0, y);
} else if (geno == Index.HET) {
sr.addData(1, y);
} else if (geno == Index.HOM) {
sr.addData(2, y);
} else if (geno == Index.HOM_MALE) {
sr.addData(1, y);
} else if (geno == Index.REF_MALE) {
sr.addData(0, y);
}
} else {
LogManager.writeAndPrint("model is not recognized");
}
}
}
pValue = sr.getSignificance();
if (Double.isNaN(pValue)) {
pValue = Data.NA;
}
beta1 = sr.getSlope();
if (Double.isNaN(beta1)) {
beta1 = Data.NA;
}
}
use of function.genotype.base.Sample in project atav by igm-team.
the class PedMapGenerator method outputTempGeno.
private void outputTempGeno(CalledVariant calledVar) throws Exception {
for (Sample sample : SampleManager.getList()) {
int geno = calledVar.getGenotype(sample.getIndex());
switch(geno) {
case Index.HOM:
if (calledVar.isSnv()) {
bwTmpPed.write(calledVar.getAllele() + calledVar.getAllele());
} else if (calledVar.isDel()) {
bwTmpPed.write("DD");
} else {
bwTmpPed.write("II");
}
break;
case Index.HET:
if (calledVar.isSnv()) {
bwTmpPed.write(calledVar.getRefAllele() + calledVar.getAllele());
} else {
bwTmpPed.write("ID");
}
break;
case Index.REF:
if (calledVar.isSnv()) {
bwTmpPed.write(calledVar.getRefAllele() + calledVar.getRefAllele());
} else if (calledVar.isDel()) {
bwTmpPed.write("II");
} else {
bwTmpPed.write("DD");
}
break;
case Data.NA:
bwTmpPed.write("00");
break;
default:
bwTmpPed.write("00");
LogManager.writeAndPrint("Invalid genotype: " + geno + " (Variant ID: " + calledVar.getVariantIdStr() + ")");
break;
}
}
bwTmpPed.newLine();
}
use of function.genotype.base.Sample in project atav by igm-team.
the class PedMapGenerator method generatePedFile.
private void generatePedFile() {
try {
LogManager.writeAndPrint("Output the data to ped file now");
bwTmpPed.flush();
bwTmpPed.close();
File tmpFile = new File(tmpPedFile);
RandomAccessFile raf = new RandomAccessFile(tmpFile, "r");
long rowLen = 2 * SampleManager.getTotalSampleNum() + 1L;
for (Sample sample : SampleManager.getList()) {
String name = sample.getName();
int pheno = (int) sample.getPheno() + 1;
bwPed.write(sample.getFamilyId() + " " + name + " " + sample.getPaternalId() + " " + sample.getMaternalId() + " " + sample.getSex() + " " + pheno);
for (int i = 0; i < qualifiedVariants; i++) {
for (int j = 0; j < 2; j++) {
long pos = i * rowLen + 2 * sample.getIndex() + j;
raf.seek(pos);
byte allele = raf.readByte();
bwPed.write(" " + String.valueOf((char) allele));
}
}
bwPed.newLine();
}
tmpFile.delete();
} catch (Exception ex) {
ErrorManager.send(ex);
}
}
use of function.genotype.base.Sample in project atav by igm-team.
the class ListVarGeno method outputSampleVariantCount.
public void outputSampleVariantCount() {
try {
for (Sample sample : SampleManager.getList()) {
bwSampleVariantCount.write(sample.getName() + ",");
bwSampleVariantCount.write(SampleVariantCount.getString(sample.getIndex()));
bwSampleVariantCount.newLine();
}
} catch (Exception e) {
ErrorManager.send(e);
}
}
Aggregations