/* * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.datamodel; import jalview.util.MapList; /** * A specialisation of DBRefEntry used to hold the chromosomal coordinates for a * (typically gene) sequence * * * @author gmcarstairs * */ public class GeneLocus extends DBRefEntry implements GeneLociI { /** * Constructor adapts species, assembly, chromosome to DBRefEntry source, * version, accession, respectively, and saves the mapping of sequence to * chromosomal coordinates * * @param speciesId * @param assemblyId * @param chromosomeId * @param mapping */ public GeneLocus(String speciesId, String assemblyId, String chromosomeId, Mapping mapping) { super(speciesId, assemblyId, chromosomeId, mapping); } /** * Constructor * * @param speciesId * @param assemblyId * @param chromosomeId */ public GeneLocus(String speciesId, String assemblyId, String chromosomeId) { this(speciesId, assemblyId, chromosomeId, null); } @Override public boolean equals(Object o) { return o instanceof GeneLocus && super.equals(o); } @Override public MapList getMapping() { return map == null ? null : map.getMap(); } /** * Answers the species identifier e.g. "human", stored as field * source of DBRefEntry */ @Override public String getSpeciesId() { return getSource(); } /** * Answers the genome assembly id e.g. "GRCh38", stored as field * version of DBRefEntry */ @Override public String getAssemblyId() { return getVersion(); } /** * Answers the chromosome identifier e.g. "X", stored as field * accession of DBRefEntry */ @Override public String getChromosomeId() { return getAccessionId(); } }