@Override public IAllele getActiveAllele() { if (primary.isDominant()) { return primary; } if (secondary.isDominant()) { return secondary; } // Leaves only the case of both being recessive return primary; }
@Override public IAllele getInactiveAllele() { if (!secondary.isDominant()) { return secondary; } if (!primary.isDominant()) { return primary; } // Leaves only the case of both being dominant return secondary; }
@Override public void addLine(String leftText, Function<Boolean, String> toText, IChromosomeType chromosome) { IGenome genome = getGenome(); IAllele activeAllele = genome.getActiveAllele(chromosome); IAllele inactiveAllele = genome.getInactiveAllele(chromosome); if (mode == DatabaseMode.BOTH) { addLine(leftText, toText.apply(true), toText.apply(false), activeAllele.isDominant(), inactiveAllele.isDominant()); } else { boolean active = mode == DatabaseMode.ACTIVE; IAllele allele = active ? activeAllele : inactiveAllele; addLine(leftText, toText.apply(active), allele.isDominant()); } }
@SuppressWarnings("unchecked") private <A extends IAllele> void addAlleleRow(String chromosomeName, BiFunction<A, Boolean, String> toString, IChromosomeType chromosome, @Nullable Boolean dominant) { IGenome genome = getGenome(); A activeAllele = (A) genome.getActiveAllele(chromosome); A inactiveAllele = (A) genome.getInactiveAllele(chromosome); if (mode == DatabaseMode.BOTH) { addLine(chromosomeName, toString.apply(activeAllele, true), toString.apply(inactiveAllele, false), dominant != null ? dominant : activeAllele.isDominant(), dominant != null ? dominant : inactiveAllele.isDominant()); } else { boolean active = mode == DatabaseMode.ACTIVE; A allele = active ? activeAllele : inactiveAllele; addLine(chromosomeName, toString.apply(allele, active), dominant != null ? dominant : allele.isDominant()); } }
public final void drawLine(String text, int x, IIndividual individual, IChromosomeType chromosome, boolean inactive) { if (!inactive) { textLayout.drawLine(text, x, getColorCoding(individual.getGenome().getActiveAllele(chromosome).isDominant())); } else { textLayout.drawLine(text, x, getColorCoding(individual.getGenome().getInactiveAllele(chromosome).isDominant())); } }
public final void drawSplitLine(String text, int x, int maxWidth, IIndividual individual, IChromosomeType chromosome, boolean inactive) { if (!inactive) { textLayout.drawSplitLine(text, x, maxWidth, getColorCoding(individual.getGenome().getActiveAllele(chromosome).isDominant())); } else { textLayout.drawSplitLine(text, x, maxWidth, getColorCoding(individual.getGenome().getInactiveAllele(chromosome).isDominant())); } }
public final void drawRow(String text0, String text1, String text2, IIndividual individual, IChromosomeType chromosome) { textLayout.drawRow(text0, text1, text2, ColourProperties.INSTANCE.get("gui.screen"), getColorCoding(individual.getGenome().getActiveAllele(chromosome).isDominant()), getColorCoding(individual.getGenome().getInactiveAllele(chromosome).isDominant())); }
public final void drawChromosomeRow(String chromosomeName, IIndividual individual, IChromosomeType chromosome) { IAllele active = individual.getGenome().getActiveAllele(chromosome); IAllele inactive = individual.getGenome().getInactiveAllele(chromosome); textLayout.drawRow(chromosomeName, active.getAlleleName(), inactive.getAlleleName(), ColourProperties.INSTANCE.get("gui.screen"), getColorCoding(active.isDominant()), getColorCoding(inactive.isDominant())); }
for (IAllele allele2 : new IAllele[]{primary2, secondary2}) { List<IAllele> alleles = new LinkedList<>(); if (allele1.isDominant() && !allele2.isDominant()) { alleles.add(allele1); } else if (allele2.isDominant() && !allele1.isDominant()) { alleles.add(allele2); } else {
int fruitDominance0 = guiAlyzer.getColorCoding(tree.getGenome().getActiveAllele(EnumTreeChromosome.FRUITS).isDominant()); int fruitDominance1 = guiAlyzer.getColorCoding(tree.getGenome().getInactiveAllele(EnumTreeChromosome.FRUITS).isDominant());
ITextStyle textStyle = GuiElementFactory.INSTANCE.getStateStyle(tree.getGenome().getActiveAllele(EnumTreeChromosome.FRUITS).isDominant());
.isDominant()), 8); guiAlyzer.drawFertilityInfo(((IAlleleInteger) butterfly.getGenome().getInactiveAllele(EnumButterflyChromosome.FERTILITY)).getValue(), GuiAlyzer.COLUMN_2, guiAlyzer.getColorCoding(butterfly .getGenome().getInactiveAllele(EnumButterflyChromosome.FERTILITY).isDominant()), 8);