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.List; 025import uk.ac.roslin.ensembl.config.DBConnection.DataSource; 026import uk.ac.roslin.ensembl.dao.database.DBCollectionSpecies; 027import uk.ac.roslin.ensembl.dao.database.DBRegistry; 028import uk.ac.roslin.ensembl.dao.database.DBSpecies; 029import uk.ac.roslin.ensembl.datasourceaware.DAXRef; 030import uk.ac.roslin.ensembl.datasourceaware.core.DAGene; 031import uk.ac.roslin.ensembl.datasourceaware.core.DATranscript; 032import uk.ac.roslin.ensembl.datasourceaware.core.DATranslation; 033 034public class VegaAndCCDSIDs { 035 036 public static void main(String[] args) throws Exception { 037 038 DBRegistry eReg = DBRegistry.createRegistryForDataSource(DataSource.ENSEMBLDB); 039 DBSpecies sp = eReg.getSpeciesByAlias("human"); 040 041 System.out.println("*** HUMAN ***"); 042 // DAGene g = sp.getGeneByStableID("ENSG00000139618"); 043 044 //getting a gene by vega accession 045 //String vg_accession = "OTTHUMG00000150513"; - not now in current db 046 String vg_accession = "OTTHUMG00000064912"; 047 System.out.print("current version genes: "); 048 List<DAGene> genesForVegaID = sp.getGenesForVegaID(vg_accession); 049 System.out.println(genesForVegaID.size()); 050 for (DAGene v: genesForVegaID ) { 051 052 int count = 0; 053 System.out.println(v.getSpecies().getCommonName()+" "+v.getVegaID() 054 +" - "+v.getStableID() ); 055 for (DAXRef x:v.getVegaXRefs()) { 056 057 System.out.println("XREF "+ ++count 058 +" : "+x.getPrimaryAccession() ); 059 060 System.out.println("\t"+x.getDBDisplayName() ); 061 System.out.println("\t"+x.getDescription() ); 062 System.out.println("\t"+x.getDisplayID() ); 063 System.out.println("\t"+x.getInfo() ); 064 System.out.println("\t"+x.getInfoType() ); 065 System.out.println("\t"+x.getPrimaryAccession() ); 066 System.out.println("\t"+x.getVersion() ); 067 } 068 System.out.println(""); 069 } 070 071 072 073 System.out.print("version 64 genes: "); 074 genesForVegaID = sp.getGenesForVegaID(vg_accession, "64"); 075 System.out.println(genesForVegaID.size()); 076 for (DAGene v: genesForVegaID ) { 077 078 int count = 0; 079 System.out.println(v.getSpecies().getCommonName()+" "+v.getVegaID() 080 +" - "+v.getStableID()); 081 for (DAXRef x:v.getVegaXRefs()) { 082 083 System.out.println("XREF "+ ++count 084 +" : "+x.getPrimaryAccession() ); 085 086 System.out.println("\t"+x.getDBDisplayName() ); 087 System.out.println("\t"+x.getDescription() ); 088 System.out.println("\t"+x.getDisplayID() ); 089 System.out.println("\t"+x.getInfo() ); 090 System.out.println("\t"+x.getInfoType() ); 091 System.out.println("\t"+x.getPrimaryAccession() ); 092 System.out.println("\t"+x.getVersion() ); 093 } 094 System.out.println(""); 095 } 096 097 String vg_accessionX = "OTTHUMG99999150513"; 098 System.out.println("current version genes - for bad id"); 099 List<DAGene> genesForVegaIDX = sp.getGenesForVegaID(vg_accessionX); 100 if (genesForVegaIDX.isEmpty()) { 101 System.out.println("\tNo Hits"); 102 } 103 104 for (DAGene v: genesForVegaIDX ) { 105 106 int count = 0; 107 System.out.println(v.getSpecies().getCommonName()+" "+v.getVegaID() 108 +" - "+v.getStableID()); 109 for (DAXRef x:v.getVegaXRefs()) { 110 111 System.out.println("XREF "+ ++count 112 +" : "+x.getPrimaryAccession() ); 113 114 System.out.println("\t"+x.getDBDisplayName() ); 115 System.out.println("\t"+x.getDescription() ); 116 System.out.println("\t"+x.getDisplayID() ); 117 System.out.println("\t"+x.getInfo() ); 118 System.out.println("\t"+x.getInfoType() ); 119 System.out.println("\t"+x.getPrimaryAccession() ); 120 System.out.println("\t"+x.getVersion() ); 121 } 122 System.out.println(""); 123 } 124 125 //getting a transcript by vega accession 126 String vt_accession = "OTTHUMT00000046000"; 127 System.out.println("current version Transcript"); 128 List<DATranscript> transcriptsForVegaID = sp.getTranscriptsForVegaID(vt_accession); 129 for (DATranscript v: transcriptsForVegaID ) { 130 131 System.out.println("Transcript: "+v.getDisplayName()+ " "+v.getId()+" "+v.getStableID()); 132 133 int count = 0; 134 System.out.println(v.getSpecies().getCommonName()+" "+v.getVegaID() 135 +" - "+v.getStableID()); 136 DAGene gene = v.getGene(); 137 System.out.println("\tgene: "+gene.getStableID()+" - "+gene.getVegaID()); 138 139 for (DAXRef x:v.getVegaXRefs()) { 140 141 System.out.println("XREF "+ ++count 142 +" : "+x.getPrimaryAccession() ); 143 144 System.out.println("\t"+x.getDBDisplayName() ); 145 System.out.println("\t"+x.getDescription() ); 146 System.out.println("\t"+x.getDisplayID() ); 147 System.out.println("\t"+x.getInfo() ); 148 System.out.println("\t"+x.getInfoType() ); 149 System.out.println("\t"+x.getPrimaryAccession() ); 150 System.out.println("\t"+x.getVersion() ); 151 } 152 System.out.println(""); 153 } 154 155 156 157 System.out.println("version 64 Transcript"); 158 transcriptsForVegaID = sp.getTranscriptsForVegaID(vt_accession, "64"); 159 for (DATranscript v: transcriptsForVegaID ) { 160 161 System.out.println("Transcript: "+v.getDisplayName()+ " "+v.getId()+" "+v.getStableID()); 162 163 int count = 0; 164 System.out.println(v.getSpecies().getCommonName()+" "+v.getVegaID() 165 +" - "+v.getStableID()); 166 DAGene gene = v.getGene(); 167 System.out.println("\tgene: "+gene.getStableID()+" - "+gene.getVegaID()); 168 169 for (DAXRef x:v.getVegaXRefs()) { 170 171 System.out.println("XREF "+ ++count 172 +" : "+x.getPrimaryAccession() ); 173 174 System.out.println("\t"+x.getDBDisplayName() ); 175 System.out.println("\t"+x.getDescription() ); 176 System.out.println("\t"+x.getDisplayID() ); 177 System.out.println("\t"+x.getInfo() ); 178 System.out.println("\t"+x.getInfoType() ); 179 System.out.println("\t"+x.getPrimaryAccession() ); 180 System.out.println("\t"+x.getVersion() ); 181 } 182 System.out.println(""); 183 } 184 185 System.out.println("version 57 Transcript"); 186 transcriptsForVegaID = sp.getTranscriptsForVegaID(vt_accession, "57"); 187 for (DATranscript v: transcriptsForVegaID ) { 188 189 System.out.println("Transcript: "+v.getDisplayName()+ " "+v.getId()+" "+v.getStableID()); 190 191 int count = 0; 192 System.out.println(v.getSpecies().getCommonName()+" "+v.getVegaID() 193 +" - "+v.getStableID()); 194 DAGene gene = v.getGene(); 195 System.out.println("\tgene: "+gene.getStableID()+" - "+gene.getVegaID()); 196 197 for (DAXRef x:v.getVegaXRefs()) { 198 199 System.out.println("XREF "+ ++count 200 +" : "+x.getPrimaryAccession() ); 201 202 System.out.println("\t"+x.getDBDisplayName() ); 203 System.out.println("\t"+x.getDescription() ); 204 System.out.println("\t"+x.getDisplayID() ); 205 System.out.println("\t"+x.getInfo() ); 206 System.out.println("\t"+x.getInfoType() ); 207 System.out.println("\t"+x.getPrimaryAccession() ); 208 System.out.println("\t"+x.getVersion() ); 209 } 210 System.out.println(""); 211 } 212 213 //getting a protein by vega accession 214 String vp_accession = "OTTHUMP00000018803"; 215 System.out.println("current version Protein"); 216 List<DATranslation> proteinsForVegaID = sp.getTranslationsForVegaID(vp_accession); 217 for (DATranslation v: proteinsForVegaID ) { 218 219 System.out.println("Translation: "+ v.getSpecies().getCommonName()+" "+v.getId()+" - "+v.getStableID()+" - "+v.getVegaID()); 220 221 DATranscript transcript = v.getTranscript(); 222 System.out.println("\ttranscript from translation: "+transcript.getId()+" - "+transcript.getStableID()+" - "+transcript.getVegaID()); 223 DAGene gene = transcript.getGene(); 224 System.out.println("\tgene from transcript: "+gene.getId()+" - "+gene.getStableID()+" - "+gene.getVegaID()); 225 226 int count = 0; 227 gene = v.getGene(); 228 System.out.println("\tgene from translation: "+gene.getId()+" - "+gene.getStableID()+" - "+gene.getVegaID()); 229 230 for (DAXRef x:v.getVegaXRefs()) { 231 232 System.out.println("XREF "+ ++count 233 +" : "+x.getPrimaryAccession() ); 234 235 System.out.println("\t"+x.getDBDisplayName() ); 236 System.out.println("\t"+x.getDescription() ); 237 System.out.println("\t"+x.getDisplayID() ); 238 System.out.println("\t"+x.getInfo() ); 239 System.out.println("\t"+x.getInfoType() ); 240 System.out.println("\t"+x.getPrimaryAccession() ); 241 System.out.println("\t"+x.getVersion() ); 242 } 243 System.out.println(""); 244 } 245 246 System.out.println("version64 Protein"); 247 proteinsForVegaID = sp.getTranslationsForVegaID(vp_accession, "64"); 248 for (DATranslation v: proteinsForVegaID ) { 249 250 System.out.println("Translation: "+ v.getSpecies().getCommonName()+" "+v.getId()+" - "+v.getStableID()+" - "+v.getVegaID()); 251 252 DATranscript transcript = v.getTranscript(); 253 System.out.println("\ttranscript from translation: "+transcript.getId()+" - "+transcript.getStableID()+" - "+transcript.getVegaID()); 254 DAGene gene = transcript.getGene(); 255 System.out.println("\tgene from transcript: "+gene.getId()+" - "+gene.getStableID()+" - "+gene.getVegaID()); 256 257 int count = 0; 258 gene = v.getGene(); 259 System.out.println("\tgene from translation: "+gene.getId()+" - "+gene.getStableID()+" - "+gene.getVegaID()); 260 261 for (DAXRef x:v.getVegaXRefs()) { 262 263 System.out.println("XREF "+ ++count 264 +" : "+x.getPrimaryAccession() ); 265 266 System.out.println("\t"+x.getDBDisplayName() ); 267 System.out.println("\t"+x.getDescription() ); 268 System.out.println("\t"+x.getDisplayID() ); 269 System.out.println("\t"+x.getInfo() ); 270 System.out.println("\t"+x.getInfoType() ); 271 System.out.println("\t"+x.getPrimaryAccession() ); 272 System.out.println("\t"+x.getVersion() ); 273 } 274 System.out.println(""); 275 } 276 System.out.println("_________________________________________"); 277 278 DATranscript t = sp.getTranscriptByStableID("ENST00000380152" ); 279 DATranslation tr = sp.getTranslationByStableID("ENSP00000369497" ); 280 DATranscript t2 = tr.getTranscript(); 281 DAGene g = t.getGene(); 282 283 System.out.println("Gene VegaID: "+g.getVegaID()); 284 System.out.println("Transcript VegaID: "+t.getVegaID()); 285 System.out.println("transcript getCCDS: " + t.getCcdsID()); 286 System.out.println("Transcript retrieved from translation: VegaID: "+t2.getVegaID()); 287 System.out.println("Translation VegaID: "+tr.getVegaID()); 288 289 if (t.equals(t2)) { 290 System.out.println("The two transcripts ARE equal"); 291 } else { 292 System.out.println("The two transcripts are NOT equal"); 293 } 294 295 t = sp.getTranscriptByStableID("ENST00000530893" ); 296 System.out.println("transcript "+t.getStableID()+" getCCDS: " + t.getCcdsID()); 297 t = sp.getTranscriptByStableID("ENST00000544455" ); 298 System.out.println("transcript "+t.getStableID()+" getCCDS: " + t.getCcdsID()); 299 t = sp.getTranscriptByStableID("ENST00000470094" ); 300 System.out.println("transcript "+t.getStableID()+" getCCDS: " + t.getCcdsID()); 301 t = sp.getTranscriptByStableID("ENST00000528762" ); 302 System.out.println("transcript "+t.getStableID()+" getCCDS: " + t.getCcdsID()); 303 t = sp.getTranscriptByStableID("ENST00000533776" ); 304 System.out.println("transcript "+t.getStableID()+" getCCDS: " + t.getCcdsID()); 305 306 for (DATranscript trx: sp.getTranscriptsForCcdsID("CCDS9344")) { 307 System.out.println("Transcript for CCDS9344: "+trx.getStableID() +"("+trx.getCcdsID() +")"); 308 } 309 for (DATranscript trx: sp.getTranscriptsForCcdsID("CCDS9344.1")) { 310 System.out.println("Transcript for CCDS9344.1: "+trx.getStableID() +"("+trx.getCcdsID() +")"); 311 } 312 for (DATranscript trx: sp.getTranscriptsForCcdsID("CCDS9344", "60")) { 313 System.out.println("Transcript for CCDS9344/60: "+trx.getStableID() +"("+trx.getCcdsID() +")"); 314 } 315 for (DATranscript trx: sp.getTranscriptsForCcdsID("CCDS9344.1", "60")) { 316 System.out.println("Transcript for CCDS9344.1/60: "+trx.getStableID() +"("+trx.getCcdsID() +")"); 317 } 318 319 320 System.out.println("*** PIG ***"); 321 sp = eReg.getSpeciesByAlias("pig"); 322 g = sp.getGeneByStableID("ENSSSCG00000007520"); 323 //t = sp.getTranscriptByStableID("ENSSSCT00000034146" ); 324 tr = sp.getTranslationByStableID("ENSSSCP00000028626" ); 325 t = tr.getTranscript(); 326 327 System.out.println("Pig Gene VegaID: "+g.getVegaID()); 328 System.out.println("Pig transcript getCCDS: " + t.getCcdsID()); 329 System.out.println("Pig Transcript VegaID: "+t.getVegaID()); 330 System.out.println("Pig Translation VegaID: "+tr.getVegaID()); 331 332 System.out.println("*** Pyrococcus ***");//there won't be any Vega annotations 333 334 DBRegistry bactRegistry = DBRegistry.createRegistryForDataSourceAtReleaseVersion(DataSource.ENSEMBLBACTERIA,15); 335 DBCollectionSpecies sp1 = (DBCollectionSpecies) bactRegistry.getSpeciesByAlias("Pyrococcus abyssi"); 336 337 DAGene g1 = sp1.getGeneByStableID("EBPYRG00000002639", "15"); 338 //DATranscript t1 = sp1.getTranscriptByStableID("EBPYRT00000002639" ); 339 DATranslation tr1 = sp1.getTranslationByStableID("EBPYRP00000002570", "15"); 340 DATranscript t1 = tr1.getTranscript(); 341 342 System.out.println("Bug Gene VegaID: "+g1.getVegaID()); 343 System.out.println("Bug Transcript VegaID: "+t1.getVegaID()); 344 System.out.println("Bug Translation VegaID: "+tr1.getVegaID()); 345 346 System.out.println("Bug transcript getCCDS: " + t1.getCcdsID()); 347 348 349 System.out.println("\n\n*************************\nCOMPLETED FUNCTIONAL TEST\n*************************\n"); 350 351 } 352}