001 /** 002 * Copyright (C) 2010 The Roslin Institute <contact andy.law@roslin.ed.ac.uk> 003 * 004 * This file is part of the Ensembl Java API demonstration project developed by the 005 * Bioinformatics Group at The Roslin Institute, The Royal (Dick) School of 006 * Veterinary Studies, University of Edinburgh. 007 * 008 * This is free software: you can redistribute it and/or modify 009 * it under the terms of the GNU General Public License (version 3) as published by 010 * the Free Software Foundation. 011 * 012 * This software is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 015 * GNU General Public License for more details. 016 * 017 * You should have received a copy of the GNU General Public License 018 * in this software distribution. If not, see <http://www.gnu.org/licenses/gpl-3.0.html/>. 019 */ 020 021 package uk.ac.roslin.ensembl.model.core; 022 023 import java.util.HashMap; 024 import java.util.TreeMap; 025 import java.util.TreeSet; 026 import uk.ac.roslin.ensembl.config.EnsemblComparaDivision; 027 import uk.ac.roslin.ensembl.exception.DAOException; 028 import uk.ac.roslin.ensembl.model.database.CoreDatabase; 029 import uk.ac.roslin.ensembl.model.database.Database; 030 import uk.ac.roslin.ensembl.model.database.DatabaseType; 031 032 /** 033 * 034 * @author paterson 035 */ 036 public interface Species { 037 038 public TreeSet<String> getAliases(); 039 040 public String getCommonName() ; 041 042 public String getSpeciesBinomial() ; 043 044 public String getDatabaseStyleName(); 045 046 public String getComparaName(); 047 048 public String getShortName(); 049 050 public void setProperty(HashMap row) ; 051 052 public CoreDatabase getCurrentCoreDatabase(); 053 054 public String getTaxonomyID() ; 055 056 public Integer getDBSpeciesID(String version) ; 057 058 public String getEnsemblStablePrefix() ; 059 060 public TreeSet<? extends Database> getDatabases(); 061 062 public void addDatabases(TreeSet<? extends Database> databases); 063 064 public void addDatabase(Database database); 065 066 public TreeSet<? extends Database> getDatabasesByType(DatabaseType type); 067 068 public TreeSet<? extends Database> getDatabasesByVersion(String version); 069 070 public Database getDatabaseByTypeAndVersion(DatabaseType type, String version); 071 072 public Chromosome getChromosomeByName(String name) throws DAOException ; 073 074 public Chromosome getChromosomeByName(String name, String dbVersion) throws DAOException; 075 076 public TreeMap<String, ? extends Chromosome> getChromosomes() throws DAOException ; 077 078 public TreeMap<String, ? extends Chromosome> getChromosomes(String dbVersion) throws DAOException; 079 080 public TreeSet<String> getSchemaVersions() ; 081 082 public TreeSet<String> getDBVersions() ; 083 084 public Gene getGeneByID(Integer id) throws DAOException ; 085 086 public Gene getGeneByID(Integer id, String dbVersion) throws DAOException ; 087 088 public Gene getGeneByStableID(String stableID) throws DAOException ; 089 090 public Gene getGeneByStableID(String stableID, String dbVersion) throws DAOException ; 091 092 public EnsemblComparaDivision getComparaDivision() ; 093 094 public String getAssembly() ; 095 096 public String getAssembly(String dbVersion) ; 097 098 }