/*
* 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.ext.ensembl;
import java.util.HashSet;
import java.util.Set;
/**
* Selected species identifiers used by Ensembl
*
* @author gmcarstairs
* @see http://rest.ensembl.org/info/species?content-type=text/xml
*/
enum Species
{
/*
* using any suitably readable alias as the enum name; these are all
* valid species parameters to Ensembl REST services where applicable
*/
human(true), mouse(true), s_cerevisiae(true), cow(false), pig(false),
rat(true), celegans(true), sheep(false), horse(false), gorilla(false),
rabbit(false), gibbon(false), dog(false), orangutan(false), xenopus(true),
chimpanzee(false), cat(false), zebrafish(true), chicken(true),
dmelanogaster(true);
static Set modelOrganisms = new HashSet<>();
static
{
for (Species s : values())
{
if (s.isModelOrganism())
{
modelOrganisms.add(s);
}
}
}
boolean modelOrganism;
private Species(boolean model)
{
this.modelOrganism = model;
}
boolean isModelOrganism()
{
return modelOrganism;
}
public static Set getModelOrganisms()
{
return modelOrganisms;
}
}