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 uk.ac.roslin.ensembl.config.DBConnection.DataSource; 026import uk.ac.roslin.ensembl.dao.database.DBRegistry; 027import uk.ac.roslin.ensembl.dao.database.DBSpecies; 028import uk.ac.roslin.ensembl.datasourceaware.core.*; 029import uk.ac.roslin.ensembl.model.Coordinate; 030import uk.ac.roslin.ensembl.model.Mapping; 031 032public class TranscriptionAndTranslation { 033 034 035 //demonstrates integration of BioJava3 transcription and translation functions 036 //and JEnsembl's retrieval and stitching together of exon sequences 037 //uses BioJava transcription engines for translation 038 //the datasource is queried to use the correct codon table if specified 039 //moving between the various axes is demonstrated 040 //i.e. Chromosome, Primary Transcript, Processed Transcript (mRNA), Translation and Protein 041 //and retrieveal of actual sequence data from these various axes 042 043 044 045 public static void main(String[] args) throws Exception { 046 047 DBRegistry reg = DBRegistry.createRegistryForDataSource(DataSource.ENSEMBLDB); 048 DBSpecies sp = reg.getSpeciesByAlias("human"); 049 050 051 //demo human gene on forward strand, results in comments are from release 68 052 DAGene brca2 = sp.getGeneByStableID("ENSG00000139618", "68"); 053 //current version e.g. 74 is a little different 054 //DAGene brca2 = sp.getGeneByStableID("ENSG00000139618"); 055 Mapping chromosomeMapping = brca2.getChromosomeMapping(); 056 Coordinate.Strand orientation = chromosomeMapping.getTargetCoordinates().getStrand(); 057 DAChromosome chr = (DAChromosome) chromosomeMapping.getTarget(); 058 Coordinate targetCoordinates = chromosomeMapping.getTargetCoordinates(); 059 Coordinate sourceCoordinates = chromosomeMapping.getSourceCoordinates(); 060 061 System.out.println(brca2.getType() + " " + brca2.getDisplayName() + " " + brca2.getStableID()); 062 System.out.println("\t" + chr.getType() + " " + chr.getChromosomeName() + " " + targetCoordinates); 063 if (Coordinate.Strand.REVERSE_STRAND.equals(orientation)) { 064 System.out.println("\tChromosome sequence: " + targetCoordinates.getLength() + " " 065 + chr.getReverseComplementSequenceAsString(targetCoordinates.getEnd(), targetCoordinates.getEnd() - 29) + "....."); 066 } else { 067 System.out.println("\tChromosome sequence: " + targetCoordinates.getLength() + " " 068 + chr.getSequenceAsString(targetCoordinates.getStart(), targetCoordinates.getStart() + 29) + "....."); 069 } 070 System.out.println("\tDNASequence: " + brca2.getSequence().getLength() + " : " 071 + brca2.getSequenceAsString(1, 30) + "....."); 072 System.out.println("\tRNASequence: " + brca2.getRNASequence().getLength() + " : " 073 + brca2.getRNASequence().getSequenceAsString(1, 30, null) + "....."); 074 075 /* 076 gene BRCA2 ENSG00000139618 077 chromosome 13 32889611 - 32973805 (FORWARD_STRAND) 078 Chromosome sequence: 84195 GGGCTTGTGGCGCGAGCTTCTGAAACTAGG..... 079 DNASequence: 84195 : GGGCTTGTGGCGCGAGCTTCTGAAACTAGG..... 080 RNASequence: 84195 : GGGCUUGUGGCGCGAGCUUCUGAAACUAGG..... 081 */ 082 083 System.out.println(""); 084 System.out.println("Gene coordinate conversion: " + 1 + " --> " + brca2.convertToTargetPosition(1)); 085 System.out.println("Gene coordinate conversion: " + -1 + " --> " + brca2.convertToTargetPosition(-1)); 086 System.out.println("Gene coordinate conversion: " + 1 + " --> " + brca2.convertToTargetPosition(1)); 087 System.out.println("Gene coordinate conversion: " + -10 + " --> " + brca2.convertToTargetPosition(-10)); 088 System.out.println("Gene coordinate conversion: " + 100 + " --> " + brca2.convertToTargetPosition(100)); 089 090 /* 091 Gene coordinate conversion: 1 --> 32889611 092 Gene coordinate conversion: -1 --> 32889610 093 Gene coordinate conversion: 1 --> 32889611 094 Gene coordinate conversion: -10 --> 32889601 095 Gene coordinate conversion: 100 --> 32889710 096 */ 097 098 System.out.println(""); 099 DATranscript canonicalTranscript = brca2.getCanonicalTranscript(); 100 Mapping chromosomeMapping1 = canonicalTranscript.getChromosomeMapping(); 101 DAChromosome chr1 = (DAChromosome) chromosomeMapping1.getTarget(); 102 targetCoordinates = chromosomeMapping1.getTargetCoordinates(); 103 104 105 106 System.out.println(""); 107 System.out.println(canonicalTranscript.getType() + " " + canonicalTranscript.getDisplayName() 108 + " " + canonicalTranscript.getStableID()); 109 System.out.println("\t" + chr1.getType() + " " + chr1.getChromosomeName() + " " + targetCoordinates); 110 111 112 System.out.println("getAnalysisId "+canonicalTranscript.getAnalysisID()); 113 System.out.println("getAnalysis "+canonicalTranscript.getAnalysis().getDisplayLabel()); 114 System.out.println("getAnalysisDescription "+canonicalTranscript.getAnalysis().getDescription()); 115 System.out.println("getCCDS "+canonicalTranscript.getCcdsID()); 116 117 if (Coordinate.Strand.REVERSE_STRAND.equals(targetCoordinates.getStrand())) { 118 System.out.println("\tChromosome sequence: " + targetCoordinates.getLength() + " " 119 + chr.getReverseComplementSequenceAsString(targetCoordinates.getEnd(), targetCoordinates.getEnd() - 29) + "....."); 120 } else { 121 System.out.println("\tChromosome sequence: " + targetCoordinates.getLength() + " " 122 + chr.getSequenceAsString(targetCoordinates.getStart(), targetCoordinates.getStart() + 29) + "....."); 123 } 124 System.out.println("\tDNASequence: " + canonicalTranscript.getSequence().getLength() + " : " 125 + canonicalTranscript.getSequenceAsString(1, 30) + "....."); 126 System.out.println("\tRNASequence: " + canonicalTranscript.getRNASequence().getLength() + " : " 127 + canonicalTranscript.getRNASequence().getSequenceAsString(1, 30, null) + "....."); 128 129 130 /* 131 transcript BRCA2-001 ENST00000380152 132 chromosome 13 32889611 - 32973347 (FORWARD_STRAND) 133 Chromosome sequence: 83737 GGGCTTGTGGCGCGAGCTTCTGAAACTAGG..... 134 DNASequence: 83737 : GGGCTTGTGGCGCGAGCTTCTGAAACTAGG..... 135 RNASequence: 83737 : GGGCUUGUGGCGCGAGCUUCUGAAACUAGG..... 136 */ 137 138 System.out.println(""); 139 System.out.println("Transcript coordinate conversion: " + 1 + " --> " + canonicalTranscript.convertToTargetPosition(1));//32889611 140 System.out.println("Transcript coordinate conversion: " + -1 + " --> " + canonicalTranscript.convertToTargetPosition(-1));//32889610 141 System.out.println("Transcript coordinate conversion: " + 10 + " --> " + canonicalTranscript.convertToTargetPosition(10));//32889620 142 System.out.println("Transcript coordinate conversion: " + -10 + " --> " + canonicalTranscript.convertToTargetPosition(-10));//32889601 143 System.out.println("Transcript coordinate conversion: " + 50 + " --> " + canonicalTranscript.convertToTargetPosition(50));//32889660 144 System.out.println("Transcript coordinate conversion: " + 194 + " --> " + canonicalTranscript.convertToTargetPosition(194));//32889804 145 System.out.println("Transcript coordinate conversion: " + 948 + " --> " + canonicalTranscript.convertToTargetPosition(948));//32890558 146 System.out.println("Transcript coordinate conversion: " + 10627 + " --> " + canonicalTranscript.convertToTargetPosition(10627));//32900237 147 System.out.println("Transcript coordinate conversion: " + 39387 + " --> " + canonicalTranscript.convertToTargetPosition(39387));//32928997 148 System.out.println("Transcript coordinate conversion: " + 83737 + " --> " + canonicalTranscript.convertToTargetPosition(83737));//32973347 149 150 151 System.out.println(""); 152 Collection<DAExon> exons = canonicalTranscript.getExons(); 153 System.out.println("Canonical Transcript Exons: " + exons.size()); 154 //Canonical Transcript Exons: 27 155 for (DAExon exon : exons) { 156 System.out.println("\t" + exon.getRank() + ": " + exon.getChromosomeMapping().getTargetCoordinates() 157 + " [" + exon.getChromosomeMapping().getTargetCoordinates().getLength() + "] " 158 + exon.getSequenceAsString(1, 30) + ".... phase:" + exon.getPhase() + "/" + exon.getEndPhase()); 159 } 160 161 /* 162 1: 32889611 - 32889804 (FORWARD_STRAND) [194] GGGCTTGTGGCGCGAGCTTCTGAAACTAGG.... phase:-1/-1 163 2: 32890559 - 32890664 (FORWARD_STRAND) [106] ACTTATTTACCAAGCATTGGAGGAATATCG.... phase:-1/1 164 3: 32893214 - 32893462 (FORWARD_STRAND) [249] ATTTAGGACCAATAAGTCTTAATTGGTTTG.... phase:1/1 165 4: 32899213 - 32899321 (FORWARD_STRAND) [109] GAAGGAATGTTCCCAATAGTAGACATAAAA.... phase:1/2 166 5: 32900238 - 32900287 (FORWARD_STRAND) [50] TCCTGTTGTTCTACAATGTACACATGTAAC.... phase:2/1 167 6: 32900379 - 32900419 (FORWARD_STRAND) [41] TGGTATGTGGGAGTTTGTTTCATACACCAA.... phase:1/0 168 7: 32900636 - 32900750 (FORWARD_STRAND) [115] GGTCGTCAGACACCAAAACATATTTCTGAA.... phase:0/1 169 8: 32903580 - 32903629 (FORWARD_STRAND) [50] TCAGAAATGAAGAAGCATCTGAAACTGTAT.... phase:1/0 170 9: 32905056 - 32905167 (FORWARD_STRAND) [112] AATGTGAAAAGCTATTTTTCCAATCATGAT.... phase:0/1 171 10: 32906409 - 32907524 (FORWARD_STRAND) [1116] GATTTGGAAAAACATCAGGGAATTCATTTA.... phase:1/1 172 11: 32910402 - 32915333 (FORWARD_STRAND) [4932] GTTTATTGCATTCTTCTGTGAAAAGAAGCT.... phase:1/1 173 12: 32918695 - 32918790 (FORWARD_STRAND) [96] GAGAACCCTCAATCAAAAGAAACTTATTAA.... phase:1/1 174 13: 32920964 - 32921033 (FORWARD_STRAND) [70] GCACAATAAAAGATCGAAGATTGTTTATGC.... phase:1/2 175 14: 32928998 - 32929425 (FORWARD_STRAND) [428] CACAACTAAGGAACGTCAAGAGATACAGAA.... phase:2/1 176 15: 32930565 - 32930746 (FORWARD_STRAND) [182] ATTTAATTACAAGTCTTCAGAATGCCAGAG.... phase:1/0 177 16: 32931879 - 32932066 (FORWARD_STRAND) [188] CTGTATACGTATGGCGTTTCTAAACATTGC.... phase:0/2 178 17: 32936660 - 32936830 (FORWARD_STRAND) [171] GGCTCTGTGTGACACTCCAGGTGTGGATCC.... phase:2/2 179 18: 32937316 - 32937670 (FORWARD_STRAND) [355] ATATGATACGGAAATTGATAGAAGCAGAAG.... phase:2/0 180 19: 32944539 - 32944694 (FORWARD_STRAND) [156] ATTTCTGCTAACAGTACTCGGCCTGCTCGC.... phase:0/0 181 20: 32945093 - 32945237 (FORWARD_STRAND) [145] TGGATGGAGAAGACATCATCTGGATTATAC.... phase:0/1 182 21: 32950807 - 32950928 (FORWARD_STRAND) [122] AAAACACAACAAAACCATATTTACCATCAC.... phase:1/0 183 22: 32953454 - 32953652 (FORWARD_STRAND) [199] GGTTATTTCAGTGAAGAGCAGTTAAGAGCC.... phase:0/1 184 23: 32953887 - 32954050 (FORWARD_STRAND) [164] TTATACTGAGTATTTGGCGTCCATCATCAG.... phase:1/0 185 24: 32954144 - 32954282 (FORWARD_STRAND) [139] GTTTCAGATGAAATTTTATTTCAGATTTAC.... phase:0/1 186 25: 32968826 - 32969070 (FORWARD_STRAND) [245] GACTTGCCCCTTTCGTCTATTTGTCAGACG.... phase:1/0 187 26: 32971035 - 32971181 (FORWARD_STRAND) [147] AATATTGACATACTTTGCAATGAAGCAGAA.... phase:0/0 188 27: 32972299 - 32973347 (FORWARD_STRAND) [1049] ATGTCTTCTCCTAATTGTGAGATATATTAT.... phase:0/-1 189 */ 190 191 System.out.println(""); 192 System.out.println("Primary Transcript coordinate : " + -100 + " --> Processed Transcript: " 193 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(-100));//-100 194 System.out.println("Primary Transcript coordinate : " + -1 + " --> Processed Transcript: " 195 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(-1));//-1 196 System.out.println("Primary Transcript coordinate : " + 1 + " --> Processed Transcript: " 197 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(1));//1 198 System.out.println("Primary Transcript coordinate : " + 194 + " --> Processed Transcript: " 199 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(194));//194 200 System.out.println("Primary Transcript coordinate : " + 195 + " --> Processed Transcript: " 201 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(195));//null 202 System.out.println("Primary Transcript coordinate : " + 948 + " --> Processed Transcript: " 203 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(948));//null 204 System.out.println("Primary Transcript coordinate : " + 949 + " --> Processed Transcript: " 205 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(949));//195 206 System.out.println("Primary Transcript coordinate : " + 83737 + " --> Processed Transcript: " 207 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(83737));//10930 208 System.out.println("Primary Transcript coordinate : " + 83738 + " --> Processed Transcript: " 209 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(83738));//10931 210 System.out.println("Primary Transcript coordinate : " + 837380 + " --> Processed Transcript: " 211 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(837380));//764573 212 213 System.out.println(""); 214 System.out.println("Processed Transcript coordinate : " + -100 + " --> Primary Transcript: " 215 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(-100));//-100 216 System.out.println("Processed Transcript coordinate : " + -1 + " --> Primary Transcript: " 217 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(-1));//-1 218 System.out.println("Processed Transcript coordinate : " + 1 + " --> Primary Transcript: " 219 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(1));//1 220 System.out.println("Processed Transcript coordinate : " + 194 + " --> Primary Transcript: " 221 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(194));//194 222 System.out.println("Processed Transcript coordinate : " + 195 + " --> Primary Transcript: " 223 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(195));//949 224 System.out.println("Processed Transcript coordinate : " + 10930 + " --> Primary Transcript: " 225 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(10930));//83737 226 System.out.println("Processed Transcript coordinate : " + 10931 + " --> Primary Transcript: " 227 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(10931));//83738 228 System.out.println("Processed Transcript coordinate : " + 764573 + " --> Primary Transcript: " 229 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(764573));//837380 230 231 System.out.println(""); 232 System.out.println("Processed Transcript coordinate : " + -100 + " --> Chromosome: " 233 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(-100));//32889511 234 System.out.println("Processed Transcript coordinate : " + -1 + " --> Chromosome: " 235 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(-1));//32889610 236 System.out.println("Processed Transcript coordinate : " + 1 + " --> Chromosome: " 237 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(1));//32889611 238 System.out.println("Processed Transcript coordinate : " + 194 + " --> Chromosome: " 239 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(194));//32889804 240 System.out.println("Processed Transcript coordinate : " + 195 + " --> Chromosome: " 241 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(195));//32890559 242 System.out.println("Processed Transcript coordinate : " + 10930 + " --> Chromosome: " 243 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(10930));//32973347 244 System.out.println("Processed Transcript coordinate : " + 10931 + " --> Chromosome: " 245 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(10931));//32973348 246 System.out.println("Processed Transcript coordinate : " + 764573 + " --> Chromosome: " 247 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(764573));//33726990 248 249 System.out.println(""); 250 251 for (DATranscript tr: brca2.getTranscripts()) { 252 System.out.println("Transcript "+tr.getStableID() +" CCDS ID: "+tr.getCcdsID()); 253 } 254 System.out.println("Canonical Transcript " + (canonicalTranscript.isTranslated() ? "is Translated" : "not Translated")); 255 //Canonical Transcript is Translated 256 DATranslation canonicalTranslation = brca2.getCanonicalTranslation(); 257 258 System.out.println("\ttranslation:" + canonicalTranslation.getStableID()); 259 // translation:ENSP00000369497 260 DAExon exon = canonicalTranslation.getFirstExon(); 261 262 System.out.println(""); 263 System.out.println("first translated exon (exon-" + exon.getRank() + "): " + exon.getChromosomeMapping().getTargetCoordinates() 264 + " [" + exon.getChromosomeMapping().getTargetCoordinates().getLength() + "] " 265 + exon.getSequenceAsString(1, 30) + ".... phase:" + exon.getPhase() + "/" + exon.getEndPhase()); 266 System.out.println("Exon 1 coordinate conversion: " + 1 + " --> " + exon.convertToTargetPosition(1)); 267 System.out.println("Exon 1 coordinate conversion: " + -1 + " --> " + exon.convertToTargetPosition(-1)); 268 System.out.println("Exon 1 coordinate conversion: " + 10 + " --> " + exon.convertToTargetPosition(10)); 269 System.out.println("Exon 1 coordinate conversion: " + -10 + " --> " + exon.convertToTargetPosition(-10)); 270 271 /* 272 first translated exon (exon-2): 32890559 - 32890664 (FORWARD_STRAND) [106] ACTTATTTACCAAGCATTGGAGGAATATCG.... phase:-1/1 273 Exon 1 coordinate conversion: 1 --> 32890559 274 Exon 1 coordinate conversion: -1 --> 32890558 275 Exon 1 coordinate conversion: 10 --> 32890568 276 Exon 1 coordinate conversion: -10 --> 32890549 277 */ 278 279 System.out.println(""); 280 exon = canonicalTranslation.getLastExon(); 281 282 System.out.println("\tlast translated exon: (exon-" + exon.getRank() + "): " + exon.getChromosomeMapping().getTargetCoordinates() 283 + " [" + exon.getChromosomeMapping().getTargetCoordinates().getLength() + "] " 284 + exon.getSequenceAsString(1, 30) + ".... phase:" + exon.getPhase() + "/" + exon.getEndPhase()); 285 System.out.println("last Exon coordinate conversion: " + 1 + " --> " + exon.convertToTargetPosition(1)); 286 System.out.println("last Exon coordinate conversion: " + -1 + " --> " + exon.convertToTargetPosition(-1)); 287 System.out.println("last Exon coordinate conversion: " + 10 + " --> " + exon.convertToTargetPosition(10)); 288 System.out.println("last Exon coordinate conversion: " + -10 + " --> " + exon.convertToTargetPosition(-10)); 289 290 /* 291 last translated exon: (exon-27): 32972299 - 32973347 (FORWARD_STRAND) [1049] ATGTCTTCTCCTAATTGTGAGATATATTAT.... phase:0/-1 292 last Exon coordinate conversion: 1 --> 32972299 293 last Exon coordinate conversion: -1 --> 32972298 294 last Exon coordinate conversion: 10 --> 32972308 295 last Exon coordinate conversion: -10 --> 32972289 296 */ 297 298 System.out.println(""); 299 System.out.println("First exon start:" + canonicalTranslation.getFirstExonStart() + " - " 300 + "Last exon end:" + canonicalTranslation.getLastExonEnd()); 301 //First exon start:40 - Last exon end:609 302 303 System.out.println("Translateable Sequence:"); 304 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(1, 30) + "..... "); 305 Integer len = canonicalTranslation.getTranslatedSequenceAsString().length(); 306 System.out.println(canonicalTranslation.getTranslatedSequenceAsString(len-29, len)); 307 //ATGCCTATTGGATCCAAAGAGAGGCCAACA..... GACACAATTACAACTAAAAAATATATCTAA 308 System.out.println(""); 309 310 System.out.println("PROTEIN: "); 311 System.out.print(canonicalTranslation.getProteinSequence().getSequenceAsString().subSequence(0, 30) + "..... "); 312 len = canonicalTranslation.getProteinSequence().getSequenceAsString().length(); 313 System.out.println(canonicalTranslation.getProteinSequence().getSequenceAsString().subSequence(len-8,len) ); 314 //MPIGSKERPTFFEIFKTRCNKADLGPISLN..... TITTKKYI 315 System.out.print(canonicalTranslation.getProteinSequenceAsString(1, 30) + "..... "); 316 len = canonicalTranslation.getProteinSequence().getSequenceAsString().length(); 317 System.out.println(canonicalTranslation.getProteinSequence().getSequenceAsString().subSequence(len-8,len) ); 318 //MPIGSKERPTFFEIFKTRCNKADLGPISLN..... TITTKKYI 319 System.out.println(""); 320 321 System.out.println("Translation: 1 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(1));//988 322 System.out.println("Translation: 10 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(10));//997 323 System.out.println("Translation: 100 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(100));//3636 324 System.out.println("Translation: 65 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(65));//1052 325 System.out.println("Translation: 66 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(66));//1053 326 System.out.println("Translation: 67 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(67));//1054 327 System.out.println("Translation: 68 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(68));//3604 328 329 System.out.println("PrimaryTranscript: 988 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(988));//1 330 System.out.println("PrimaryTranscript: 997 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(997));//10 331 System.out.println("PrimaryTranscript: 3636 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(3636));//100 332 System.out.println("PrimaryTranscript: 1052 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(1052));//65 333 System.out.println("PrimaryTranscript: 1053 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(1053));//66 334 System.out.println("PrimaryTranscript: 1054 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(1054));//67 335 System.out.println("PrimaryTranscript: 1055 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(1055));//null 336 System.out.println("PrimaryTranscript: 3604 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(3604));//68 337 338 System.out.println(""); 339 340 System.out.println("Translation: 1 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(1));//234 341 System.out.println("Translation: 10 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(10));//243 342 System.out.println("Translation: 100 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(100));//333 343 System.out.println("Translation: 65 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(65));//298 344 System.out.println("Translation: 66 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(66));//299 345 System.out.println("Translation: 67 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(67));//300 346 System.out.println("Translation: 68 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(68));//301 347 348 System.out.println("ProcessedTranscript: 234 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(234));//1 349 System.out.println("ProcessedTranscript: 243 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(243));//10 350 System.out.println("ProcessedTranscript: 333 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(333));//100 351 System.out.println("ProcessedTranscript: 298 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(298));//65 352 System.out.println("ProcessedTranscript: 299 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(299));//66 353 System.out.println("ProcessedTranscript: 300 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(300));//67 354 System.out.println("ProcessedTranscript: 301 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(301));//68 355 356 System.out.println(""); 357 358 System.out.println("Translation: 1 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(1));//32890598 359 System.out.println("Translation: 10 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(10));//32890607 360 System.out.println("Translation: 100 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(100));//32893246 361 System.out.println("Translation: 65 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(65));//32890662 362 System.out.println("Translation: 66 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(66));//32890663 363 System.out.println("Translation: 67 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(67));//32890664 364 System.out.println("Translation: 68 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(68));//32893214 365 366 System.out.println("Chromosome: 32890598 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32890598));//1 367 System.out.println("Chromosome: 32890607 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32890607));//10 368 System.out.println("Chromosome: 32893246 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32893246));//100 369 System.out.println("Chromosome: 32890662 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32890662));//65 370 System.out.println("Chromosome: 32890663 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32890663));//66 371 System.out.println("Chromosome: 32890664 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32890664));//67 372 System.out.println("Chromosome: 32890665 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32890665));//null 373 System.out.println("Chromosome: 32893214 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32893214));//68 374 375 System.out.println(""); 376 377 System.out.println("Amino Acid: 1 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(1));//988 - 990 (FORWARD_STRAND) 378 System.out.println("Amino Acid: 3 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(3));//994 - 996 (FORWARD_STRAND) 379 System.out.println("Amino Acid: 33 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(33));//3633 - 3635 (FORWARD_STRAND) 380 System.out.println("Amino Acid: 23 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(23));//1054 - 3605 (FORWARD_STRAND) 381 System.out.println("Amino Acid: 24 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(24));//3606 - 3608 (FORWARD_STRAND) 382 System.out.println("Amino Acid: 25 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(25));//3609 - 3611 (FORWARD_STRAND) 383 384 System.out.println("PrimaryTranscript: 988 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(988));//1 385 System.out.println("PrimaryTranscript: 989 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(989));//1 386 System.out.println("PrimaryTranscript: 990 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(990));//1 387 System.out.println("PrimaryTranscript: 994 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(994));//3 388 System.out.println("PrimaryTranscript: 3633 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(3633));//33 389 System.out.println("PrimaryTranscript: 1054 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(1054));//23 390 System.out.println("PrimaryTranscript: 1055 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(1055));//null 391 System.out.println("PrimaryTranscript: 3606 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(3606));//24 392 System.out.println("PrimaryTranscript: 3609 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(3609));//25 393 394 System.out.println(""); 395 396 System.out.println("Amino Acid: 1 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(1));//234 - 236 (FORWARD_STRAND) 397 System.out.println("Amino Acid: 3 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(3));//240 - 242 (FORWARD_STRAND) 398 System.out.println("Amino Acid: 33 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(33));//330 - 332 (FORWARD_STRAND) 399 System.out.println("Amino Acid: 23 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(23));//300 - 302 (FORWARD_STRAND) 400 System.out.println("Amino Acid: 24 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(24));//303 - 305 (FORWARD_STRAND) 401 System.out.println("Amino Acid: 25 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(25));//306 - 308 (FORWARD_STRAND) 402 403 System.out.println("ProcessedTranscript: 234 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(234));//1 404 System.out.println("ProcessedTranscript: 235 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(235));//1 405 System.out.println("ProcessedTranscript: 236 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(236));//1 406 System.out.println("ProcessedTranscript: 240 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(240));//3 407 System.out.println("ProcessedTranscript: 330 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(330));//33 408 System.out.println("ProcessedTranscript: 300 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(300));//23 409 System.out.println("ProcessedTranscript: 303 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(303));//24 410 System.out.println("ProcessedTranscript: 306 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(306));//25 411 412 System.out.println(""); 413 414 System.out.println("Amino Acid: 1 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(1));//32890598 - 32890600 (FORWARD_STRAND) 415 System.out.println("Amino Acid: 3 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(3));//32890604 - 32890606 (FORWARD_STRAND) 416 System.out.println("Amino Acid: 33 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(33));//32893243 - 32893245 (FORWARD_STRAND) 417 System.out.println("Amino Acid: 23 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(23));//32890664 - 32893215 (FORWARD_STRAND) 418 System.out.println("Amino Acid: 24 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(24));// 32893216 - 32893218 (FORWARD_STRAND) 419 System.out.println("Amino Acid: 25 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(25));//32893219 - 32893221 (FORWARD_STRAND) 420 421 System.out.println("Chromosome: 32890598 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32890598));//1 422 System.out.println("Chromosome: 32890599 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32890599));//1 423 System.out.println("Chromosome: 32890600 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32890600));//1 424 System.out.println("Chromosome: 32890604 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32890604));//3 425 System.out.println("Chromosome: 32893243 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32893243));//33 426 System.out.println("Chromosome: 32890664 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32890664));//23 427 System.out.println("Chromosome: 32890665 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32890665));//null 428 System.out.println("Chromosome: 32893216 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32893216));//24 429 System.out.println("Chromosome: 32893219 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32893219));//25 430 431 System.out.println(""); 432 433 System.out.println("Translation\tAA\tchromosome\tbase\tcodon\tAA\tPrimaryT\tProcessedT"); 434 for (Mapping m: canonicalTranslation.getTranslationMappings()) { 435 436 int i = m.getSourceCoordinates().getStart(); 437 System.out.print(i + "\t\t" +(i+2)/3 +"\t" + canonicalTranslation.getChromosomePositionFromBASE(i) + "\t"); 438 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(i, i) +"\t"); 439 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(3*((i+2)/3)-2, 3*((i+2)/3) )+"\t"); 440 System.out.print(canonicalTranslation.getProteinSequenceAsString((i+2)/3,(i+2)/3) +"\t"); 441 System.out.print(canonicalTranslation.getPrimaryTranscriptPositionFromBASE(i) + "\t\t"); 442 System.out.print(canonicalTranslation.getProcessedTranscriptPositionFromBASE(i) + "\n"); 443 444 i = m.getSourceCoordinates().getEnd(); 445 if (i==10257){ 446 System.out.print(""); 447 } 448 System.out.print(i + "\t\t" +(i+2)/3 +"\t" + canonicalTranslation.getChromosomePositionFromBASE(i) + "\t"); 449 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(i, i) +"\t"); 450 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(3*((i+2)/3)-2, 3*((i+2)/3) )+"\t"); 451 System.out.print(canonicalTranslation.getProteinSequenceAsString((i+2)/3,(i+2)/3) +"\t"); 452 System.out.print(canonicalTranslation.getPrimaryTranscriptPositionFromBASE(i) + "\t\t"); 453 System.out.print(canonicalTranslation.getProcessedTranscriptPositionFromBASE(i) + "\n"); 454 455 } 456 457 /* 458 Translation AA chromosome base codon AA PrimaryT ProcessedT 459 1 1 32890598 A ATG M 988 234 460 67 23 32890664 G GAT D 1054 300 461 68 23 32893214 A GAT D 3604 301 462 316 106 32893462 G GGA G 3852 549 463 317 106 32899213 G GGA G 9603 550 464 425 142 32899321 G AGT S 9711 658 465 426 142 32900238 T AGT S 10628 659 466 475 159 32900287 G GTG V 10677 708 467 476 159 32900379 T GTG V 10769 709 468 516 172 32900419 G AAG K 10809 749 469 517 173 32900636 G GGT G 11026 750 470 631 211 32900750 G GTC V 11140 864 471 632 211 32903580 T GTC V 13970 865 472 681 227 32903629 T GCT A 14019 914 473 682 228 32905056 A AAT N 15446 915 474 793 265 32905167 G GGA G 15557 1026 475 794 265 32906409 G GGA G 16799 1027 476 1909 637 32907524 G GGT G 17914 2142 477 1910 637 32910402 G GGT G 20792 2143 478 6841 2281 32915333 G GGA G 25723 7074 479 6842 2281 32918695 G GGA G 29085 7075 480 6937 2313 32918790 G GGC G 29180 7170 481 6938 2313 32920964 G GGC G 31354 7171 482 7007 2336 32921033 G CGC R 31423 7240 483 7008 2336 32928998 C CGC R 39388 7241 484 7435 2479 32929425 G GAT D 39815 7668 485 7436 2479 32930565 A GAT D 40955 7669 486 7617 2539 32930746 G CAG Q 41136 7850 487 7618 2540 32931879 C CTG L 42269 7851 488 7805 2602 32932066 G AGG R 42456 8038 489 7806 2602 32936660 G AGG R 47050 8039 490 7976 2659 32936830 G AGA R 47220 8209 491 7977 2659 32937316 A AGA R 47706 8210 492 8331 2777 32937670 G AAG K 48060 8564 493 8332 2778 32944539 A ATT I 54929 8565 494 8487 2829 32944694 G CAG Q 55084 8720 495 8488 2830 32945093 T TGG W 55483 8721 496 8632 2878 32945237 G GAA E 55627 8865 497 8633 2878 32950807 A GAA E 61197 8866 498 8754 2918 32950928 G GAG E 61318 8987 499 8755 2919 32953454 G GGT G 63844 8988 500 8953 2985 32953652 G GTT V 64042 9186 501 8954 2985 32953887 T GTT V 64277 9187 502 9117 3039 32954050 G CCG P 64440 9350 503 9118 3040 32954144 G GTT V 64534 9351 504 9256 3086 32954282 G GGA G 64672 9489 505 9257 3086 32968826 G GGA G 79216 9490 506 9501 3167 32969070 G GAG E 79460 9734 507 9502 3168 32971035 A AAT N 81425 9735 508 9648 3216 32971181 G CTG L 81571 9881 509 9649 3217 32972299 A ATG M 82689 9882 510 10257 3419 32972907 A TAA * 83297 10490 511 512 */ 513 } 514}