@Override public void getTooltip(Tooltip tooltip, ITooltipFlag tooltipFlag) { tooltip.add(value.getName()); } }
private String chromosomesToString(IChromosome[] chromosomes) { StringBuilder stringBuilder = new StringBuilder(); IChromosomeType[] karyotype = getSpeciesRoot().getKaryotype(); for (int i = 0; i < chromosomes.length; i++) { IChromosomeType chromosomeType = karyotype[i]; IChromosome chromosome = chromosomes[i]; stringBuilder.append(chromosomeType.getName()).append(": ").append(chromosome).append("\n"); } return stringBuilder.toString(); }
@Nonnull @Override public Map<Object, Object> getMeta(@Nonnull IGenome genome) { IChromosomeType[] types = genome.getSpeciesRoot().getKaryotype(); Map<String, Object> active = Maps.newHashMapWithExpectedSize(types.length); Map<String, Object> inactive = Maps.newHashMapWithExpectedSize(types.length); for (IChromosomeType type : types) { active.put(type.getName(), getAlleleMeta(genome.getActiveAllele(type))); inactive.put(type.getName(), getAlleleMeta(genome.getInactiveAllele(type))); } Map<Object, Object> out = Maps.newHashMap(); out.put("active", active); out.put("inactive", inactive); return out; }
@Override public String getChromosomeShortName(final IChromosomeType chromo) { return I18N.localise("binniecore." + this.getSpeciesRoot().getUID() + ".chromosome." + chromo.getName() + ".short"); }
@Override public String getChromosomeName(final IChromosomeType chromo) { return I18N.localise("binniecore." + this.getSpeciesRoot().getUID() + ".chromosome." + chromo.getName()); }
@Nonnull @Override public Map<Object, Object> getMeta(@Nonnull IPartialContext<IIndividual> context) { IIndividual individual = context.getTarget(); Map<Object, Object> out = Maps.newHashMap(); out.put("id", individual.getIdent()); out.put("analyzed", individual.isAnalyzed()); if (individual.isAnalyzed()) { out.put("genome", context.makePartialChild(individual.getGenome()).getMeta()); Map<String, Boolean> pureBred = Maps.newHashMap(); for (IChromosomeType type : individual.getGenome().getSpeciesRoot().getKaryotype()) { pureBred.put(type.getName().toLowerCase(Locale.ENGLISH), individual.isPureBred(type)); } out.put("pureBred", pureBred); } return out; } }
private void refreshTemplate(@Nullable IChromosomeType selection) { List<Gene> genes = new ArrayList<>(); IChromosomeType[] chromosomeTypes = Binnie.GENETICS.getChromosomeMap(this.root).keySet().toArray(new IChromosomeType[0]); for (IChromosomeType type : chromosomeTypes) { IAllele allele = this.template[type.ordinal()]; if (allele == null) { throw new NullPointerException("Allele missing for Chromosome " + type.getName()); } genes.add(new Gene(allele, type, this.root)); } geneList.setOptions(genes); if (selection != null) { this.geneList.setValue(new Gene(this.template[selection.ordinal()], selection, this.root)); } else { this.geneOptions.setOptions(new ArrayList<>()); } this.refreshPickup(); }
for (IAllele allele : mutation.getTemplate()) { if (chromosome.getAlleleClass().isInstance(allele)) { results.put(chromosome.getName(), MetaGenome.getAlleleMeta(allele));
if (chromosome == null) { String message = String.format("Tried to create a genome for '%s' from an invalid chromosome template. " + "Missing chromosome '%s'.\n%s", getSpeciesRoot().getUID(), chromosomeType.getName(), chromosomesToString(chromosomes)); throw new IllegalArgumentException(message); if (primary == null) { String message = String.format("Tried to create a genome for '%s' from an invalid chromosome template. " + "Missing primary allele for '%s'.\n%s", getSpeciesRoot().getUID(), chromosomeType.getName(), chromosomesToString(chromosomes)); throw new IllegalArgumentException(message); if (secondary == null) { String message = String.format("Tried to create a genome for '%s' from an invalid chromosome template. " + "Missing secondary allele for '%s'.\n%s", getSpeciesRoot().getUID(), chromosomeType.getName(), chromosomesToString(chromosomes)); throw new IllegalArgumentException(message); if (!chromosomeAlleleClass.isAssignableFrom(primary.getClass())) { String message = String.format("Tried to create a genome for '%s' from an invalid chromosome template. " + "Incorrect type for primary allele '%s'.\n%s.", getSpeciesRoot().getUID(), chromosomeType.getName(), chromosomesToString(chromosomes)); throw new IllegalArgumentException(message); "Incorrect type for secondary allele '%s'.\n%s.", getSpeciesRoot().getUID(), chromosomeType.getName(), chromosomesToString(chromosomes)); throw new IllegalArgumentException(message);
final IAllele allele = ind.getGenome().getActiveAllele(type); final List<String> infos = new ArrayList<>(); String pref = root.getUID() + ".fieldkit." + type.getName().toLowerCase() + '.'; for (int i = 0; I18N.canLocalise(pref + i); ++i) { infos.add(I18N.localise(pref + i));
CommandHelpers.sendChatMessage(sender, type.getName() + ": " + genome.getActiveAllele(type).getAlleleName() + " " + genome.getInactiveAllele(type).getAlleleName());