001/**
002 * Copyright (C) 2010-2015 The Roslin Institute <contact andy.law@roslin.ed.ac.uk>
003 *
004 * This file is part of JEnsembl: a Java API to Ensembl data sources developed by the
005 * Bioinformatics Group at The Roslin Institute, The Royal (Dick) School of
006 * Veterinary Studies, University of Edinburgh.
007 *
008 * Project hosted at: http://jensembl.sourceforge.net
009 *
010 * This is free software: you can redistribute it and/or modify
011 * it under the terms of the GNU General Public License (version 3) as published by
012 * the Free Software Foundation.
013 *
014 * This software is distributed in the hope that it will be useful,
015 * but WITHOUT ANY WARRANTY; without even the implied warranty of
016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
017 * GNU General Public License for more details.
018 *
019 * You should have received a copy of the GNU General Public License
020 * in this software distribution. If not, see: http://opensource.org/licenses/gpl-3.0.html
021 */
022package uk.ac.roslin.ensembl.demo;
023
024import java.util.Collection;
025import java.util.Set;
026import uk.ac.roslin.ensembl.config.DBConnection;
027import uk.ac.roslin.ensembl.config.DBConnection.DataSource;
028import uk.ac.roslin.ensembl.config.EnsemblDBType;
029import uk.ac.roslin.ensembl.dao.database.DBRegistry;
030import uk.ac.roslin.ensembl.dao.database.DBSingleSpeciesCoreDatabase;
031import uk.ac.roslin.ensembl.dao.database.DBSpecies;
032import uk.ac.roslin.ensembl.dao.database.factory.DBDAOSingleSpeciesCoreFactory;
033import uk.ac.roslin.ensembl.datasourceaware.core.DAGene;
034import uk.ac.roslin.ensembl.datasourceaware.core.DATranscript;
035import uk.ac.roslin.ensembl.model.core.CollectionSpecies;
036import uk.ac.roslin.ensembl.model.core.Species;
037
038
039public class SpeciesAliases {
040            
041    public  static void main(String[] args) throws Exception {
042        
043        System.out.println("-----------------------------------------------------------------");
044        System.out.println("VERTEBRATES");
045        System.out.println("-----------------------------------------------------------------");
046
047        DBRegistry reg = DBRegistry.createRegistryForDataSource(DBConnection.DataSource.ENSEMBLDB);
048        
049        Set<String> ensemblNameForAliasStartingWith = reg.getEnsemblNamesForAliasBeginning("chimp");
050        
051        System.out.println("reg.getEnsemblNamesForAliasBeginning(\"chimp\"): "+ensemblNameForAliasStartingWith.toString());
052        
053        ensemblNameForAliasStartingWith = reg.getEnsemblNamesForAliasContaining("himp");
054        
055        System.out.println("reg.getEnsemblNamesForAliasContaining(\"himp\"): "+ensemblNameForAliasStartingWith.toString());
056        
057        DBSpecies sp = reg.getSpeciesByAlias("human");
058        reg.addSessionAlias(sp, "chimp");
059        
060        System.out.println("reg.addSessionAlias(HUMAN, \"chimp\")");
061        
062        ensemblNameForAliasStartingWith = reg.getEnsemblNamesForAliasBeginning("chim");
063        
064        System.out.println("reg.getEnsemblNamesForAliasBeginning(\"chim\"): "+ensemblNameForAliasStartingWith.toString());
065        
066        ensemblNameForAliasStartingWith = reg.getEnsemblNamesForAliasContaining("himp");
067        
068        System.out.println("reg.getEnsemblNamesForAliasContaining(\"himp\"): "+ensemblNameForAliasStartingWith.toString());
069        
070        Collection<? extends Species> setOfSpeciesByAlias = reg.getSetOfSpeciesByAlias("chimp");
071        
072         System.out.println("reg.getSetOfSpeciesByAlias(\"chimp\"): "+setOfSpeciesByAlias.size());
073
074        Set<? extends Species> speciesForAliasBeginning = reg.getSpeciesForAliasBeginning("chim");
075        
076        System.out.println("reg.getSpeciesForAliasBeginning(\"chim\"): "+speciesForAliasBeginning.size());
077        
078        Set<? extends Species> speciesForAliasContaining = reg.getSpeciesForAliasContaining("himp");
079        
080        System.out.println("reg.getSpeciesForAliasContaining(\"himp\"): "+speciesForAliasContaining.size());
081        
082        System.out.println("-----------------------------------------------------------------");
083        System.out.println("BUGS - PRE VERSION16");
084        System.out.println("-----------------------------------------------------------------");
085        
086        DBRegistry breg = DBRegistry.createRegistryForDataSourceAtReleaseVersion(DBConnection.DataSource.ENSEMBLBACTERIA,15);
087        Collection<String> s = breg.getEnsemblNamesForAliasBeginning("Escher");
088        System.out.println("breg.getEnsemblNamesForAliasBeginning(\"Escher\"): "+s.toString());
089        System.out.println();
090        Collection<String> a = breg.getGCAssemblyAccessionsForAliasBeginning("Escher");
091        System.out.println("breg.getGCAssemblyAccessionsForAliasBeginning(\"Escher\"): "+a.toString());
092        System.out.println();
093        s = breg.getEnsemblNamesForAliasContaining("scher");
094        System.out.println("breg.getEnsemblNamesForAliasContaining(\"scher\"): "+s.toString());
095        System.out.println();
096        a = breg.getGCAssemblyAccessionsForAliasContaining("scher");
097        System.out.println("breg.getGCAssemblyAccessionsForAliasCOntaining(\"scher\"): "+a.toString()); 
098        System.out.println();
099        speciesForAliasBeginning = breg.getSpeciesForAliasBeginning("Escher");
100        System.out.println("reg.getSpeciesForAliasBeginning(\"Escher\"): "+speciesForAliasBeginning.size());      
101        System.out.println();
102        Set<CollectionSpecies> oldStyleBacterialSpeciesForAliasBeginning = (Set<CollectionSpecies>) breg.getOldStyleBacterialSpeciesForAliasBeginning("Escher");
103        System.out.println("reg.getOldStyleBacterialSpeciesForAliasBeginning(\"Escher\"): "+oldStyleBacterialSpeciesForAliasBeginning.size()); 
104        System.out.println();
105        Set<CollectionSpecies> bacterialSpeciesForAliasBeginning = (Set<CollectionSpecies>) breg.getBacterialSpeciesForAliasBeginning("Escher");
106        System.out.println("reg.getBacterialSpeciesForAliasBeginning(\"Escher\"): "+bacterialSpeciesForAliasBeginning.size()); 
107        System.out.println();
108         speciesForAliasContaining = breg.getSpeciesForAliasContaining("scher");
109        System.out.println("reg.getSpeciesForAliasContaining(\"scher\"): "+speciesForAliasContaining.size()); 
110        System.out.println();
111        Set<CollectionSpecies> oldStyleBacterialSpeciesForAliasContaining = (Set<CollectionSpecies>) breg.getOldStyleBacterialSpeciesForAliasContaining("scher");
112        System.out.println("reg.getOldStyleBacterialSpeciesForAliasContaining(\"scher\"): "+oldStyleBacterialSpeciesForAliasContaining.size()); 
113        System.out.println();
114        Set<CollectionSpecies> bacterialSpeciesForAliasContaining = (Set<CollectionSpecies>) breg.getBacterialSpeciesForAliasContaining("scher");
115        System.out.println("reg.getBacterialSpeciesForAliasContaining(\"scher\"): "+bacterialSpeciesForAliasContaining.size()); 
116        System.out.println();
117        System.out.println("-----------------------------------------------------------------");
118        System.out.println("BUGS - POST VERSION 16");
119        System.out.println("-----------------------------------------------------------------");
120        
121        breg = DBRegistry.createRegistryForDataSourceCurrentRelease(DBConnection.DataSource.ENSEMBLBACTERIA);
122        s = breg.getEnsemblNamesForAliasBeginning("Escher");
123        System.out.println("breg.getEnsemblNamesForAliasBeginning(\"Escher\"): "+s.toString());
124        System.out.println();
125        a = breg.getGCAssemblyAccessionsForAliasBeginning("Escher");
126        System.out.println("breg.getGCAssemblyAccessionsForAliasBeginning(\"Escher\"): "+a.toString());
127        System.out.println();
128        s = breg.getEnsemblNamesForAliasContaining("scher");
129        System.out.println("breg.getEnsemblNamesForAliasContaining(\"scher\"): "+s.toString());
130        System.out.println();
131        a = breg.getGCAssemblyAccessionsForAliasContaining("scher");
132        System.out.println("breg.getGCAssemblyAccessionsForAliasContaining(\"scher\"): "+a.toString()); 
133        System.out.println();
134        
135        speciesForAliasBeginning = breg.getSpeciesForAliasBeginning("Escher");
136        System.out.println("reg.getSpeciesForAliasBeginning(\"Escher\"): "+speciesForAliasBeginning.size());      
137        System.out.println();
138        oldStyleBacterialSpeciesForAliasBeginning = (Set<CollectionSpecies>) breg.getOldStyleBacterialSpeciesForAliasBeginning("Escher");
139        System.out.println("reg.getOldStyleBacterialSpeciesForAliasBeginning(\"Escher\"): "+oldStyleBacterialSpeciesForAliasBeginning.size()); 
140        System.out.println();
141        bacterialSpeciesForAliasBeginning = (Set<CollectionSpecies>) breg.getBacterialSpeciesForAliasBeginning("Escher");
142        System.out.println("reg.getBacterialSpeciesForAliasBeginning(\"Escher\"): "+bacterialSpeciesForAliasBeginning.size()); 
143        System.out.println();
144        
145        speciesForAliasContaining = breg.getSpeciesForAliasContaining("scher");
146        System.out.println("reg.getSpeciesForAliasContaining(\"scher\"): "+speciesForAliasContaining.size()); 
147        System.out.println();
148        oldStyleBacterialSpeciesForAliasContaining = (Set<CollectionSpecies>) breg.getOldStyleBacterialSpeciesForAliasContaining("scher");
149        System.out.println("reg.getOldStyleBacterialSpeciesForAliasContaining(\"scher\"): "+oldStyleBacterialSpeciesForAliasContaining.size()); 
150        System.out.println();
151        bacterialSpeciesForAliasContaining = (Set<CollectionSpecies>) breg.getBacterialSpeciesForAliasContaining("scher");
152        System.out.println("reg.getBacterialSpeciesForAliasContaining(\"scher\"): "+bacterialSpeciesForAliasContaining.size()); 
153        System.out.println();
154        
155        System.out.println("-----------------------------------------------------------------");
156        System.out.println("COMPLETED");
157        System.out.println("-----------------------------------------------------------------");
158        
159    }
160}