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.Coordinate.Strand; 031import uk.ac.roslin.ensembl.model.Mapping; 032 033public class TranscriptionAndTranslationReverse { 034 035 036 //demonstrates integration of BioJava3 transcription and translation functions 037 //and JEnsembl's retrieval and stitching together of exon sequences 038 //uses BioJava transcription engines for translation 039 //the datasource is queried to use the correct codon table if specified 040 //moving between the various axes is demonstrated 041 //i.e. Chromosome, Primary Transcript, Processed Transcript (mRNA), Translation and Protein 042 //and retrieveal of actual sequence data from these various axes 043 044 045 046 public static void main(String[] args) throws Exception { 047 048 DBRegistry reg = DBRegistry.createRegistryForDataSource(DataSource.ENSEMBLDB); 049 DBSpecies sp = reg.getSpeciesByAlias("human"); 050 051 052 //demo human gene on reverse strand, results in comments are from release 68 053 DAGene zar1l = sp.getGeneByStableID("ENSG00000189167", "68"); 054 //current v74 transcript is vastly adifferent 055 //DAGene zar1l = sp.getGeneByStableID("ENSG00000189167"); 056 Mapping chromosomeMapping = zar1l.getChromosomeMapping(); 057 058 Strand orientation = chromosomeMapping.getTargetCoordinates().getStrand(); 059 060 DAChromosome chr = (DAChromosome) chromosomeMapping.getTarget(); 061 Coordinate targetCoordinates = chromosomeMapping.getTargetCoordinates(); 062 Coordinate sourceCoordinates = chromosomeMapping.getSourceCoordinates(); 063 064 System.out.println(zar1l.getType() + " " + zar1l.getDisplayName() + " " + zar1l.getStableID()); 065 System.out.println("\t" + chr.getType() + " " + chr.getChromosomeName() + " " + targetCoordinates); 066 067 if (Strand.REVERSE_STRAND.equals(orientation)) { 068 System.out.println("\tChromosome sequence: " + targetCoordinates.getLength() + " " 069 + chr.getReverseComplementSequenceAsString(targetCoordinates.getEnd(), targetCoordinates.getEnd() - 29) + "....."); 070 } else { 071 System.out.println("\tChromosome sequence: " + targetCoordinates.getLength() + " " 072 + chr.getSequenceAsString(targetCoordinates.getStart(), targetCoordinates.getStart() + 29) + "....."); 073 } 074 System.out.println("\tDNASequence: " + zar1l.getSequence().getLength() + " : " 075 + zar1l.getSequenceAsString(1, 30) + "....."); 076 System.out.println("\tRNASequence: " + zar1l.getRNASequence().getLength() + " : " 077 + zar1l.getRNASequence().getSequenceAsString(1, 30, null) + "....."); 078 079 /* 080 gene ZAR1L ENSG00000189167 081 chromosome 13 32877837 - 32889481 (REVERSE_STRAND) 082 Chromosome sequence: 11645 AGTATCTGACCGAATAAAGCGGGAGCTGGA..... 083 DNASequence: 11645 : AGTATCTGACCGAATAAAGCGGGAGCTGGA..... 084 RNASequence: 11645 : AGUAUCUGACCGAAUAAAGCGGGAGCUGGA..... 085 */ 086 087 System.out.println(""); 088 System.out.println("Gene coordinate conversion: " + 1 + " --> " + zar1l.convertToTargetPosition(1)); 089 System.out.println("Gene coordinate conversion: " + -1 + " --> " + zar1l.convertToTargetPosition(-1)); 090 System.out.println("Gene coordinate conversion: " + 1 + " --> " + zar1l.convertToTargetPosition(1)); 091 System.out.println("Gene coordinate conversion: " + -10 + " --> " + zar1l.convertToTargetPosition(-10)); 092 System.out.println("Gene coordinate conversion: " + 100 + " --> " + zar1l.convertToTargetPosition(100)); 093 094 /* 095 Gene coordinate conversion: 1 --> 32889481 096 Gene coordinate conversion: -1 --> 32889482 097 Gene coordinate conversion: 1 --> 32889481 098 Gene coordinate conversion: -10 --> 32889491 099 Gene coordinate conversion: 100 --> 32889382 100 */ 101 102 System.out.println(""); 103 DATranscript canonicalTranscript = zar1l.getCanonicalTranscript(); 104 Mapping chromosomeMapping1 = canonicalTranscript.getChromosomeMapping(); 105 DAChromosome chr1 = (DAChromosome) chromosomeMapping1.getTarget(); 106 targetCoordinates = chromosomeMapping1.getTargetCoordinates(); 107 108 109 110 System.out.println(""); 111 System.out.println(canonicalTranscript.getType() + " " + canonicalTranscript.getDisplayName() 112 + " " + canonicalTranscript.getStableID()); 113 System.out.println("\t" + chr1.getType() + " " + chr1.getChromosomeName() + " " + targetCoordinates); 114 System.out.println("getCCDS "+canonicalTranscript.getCcdsID()); 115 116 if (Strand.REVERSE_STRAND.equals(targetCoordinates.getStrand())) { 117 System.out.println("\tChromosome sequence: " + targetCoordinates.getLength() + " " 118 + chr.getReverseComplementSequenceAsString(targetCoordinates.getEnd(), targetCoordinates.getEnd() - 29) + "....."); 119 } else { 120 System.out.println("\tChromosome sequence: " + targetCoordinates.getLength() + " " 121 + chr.getSequenceAsString(targetCoordinates.getStart(), targetCoordinates.getStart() + 29) + "....."); 122 } 123 System.out.println("\tDNASequence: " + canonicalTranscript.getSequence().getLength() + " : " 124 + canonicalTranscript.getSequenceAsString(1, 30) + "....."); 125 System.out.println("\tRNASequence: " + canonicalTranscript.getRNASequence().getLength() + " : " 126 + canonicalTranscript.getRNASequence().getSequenceAsString(1, 30, null) + "....."); 127 128 129 /* 130 transcript ZAR1L-001 ENST00000345108 131 chromosome 13 32877837 - 32886091 (REVERSE_STRAND) 132 Chromosome sequence: 8255 TTAGACTGCGCCTGAGCACCTGAGAGCGGA..... 133 DNASequence: 8255 : TTAGACTGCGCCTGAGCACCTGAGAGCGGA..... 134 RNASequence: 8255 : UUAGACUGCGCCUGAGCACCUGAGAGCGGA..... 135 */ 136 137 System.out.println(""); 138 System.out.println("Transcript coordinate conversion: " + 1 + " --> " + canonicalTranscript.convertToTargetPosition(1));//32886091 139 System.out.println("Transcript coordinate conversion: " + -1 + " --> " + canonicalTranscript.convertToTargetPosition(-1));//32886092 140 System.out.println("Transcript coordinate conversion: " + 50 + " --> " + canonicalTranscript.convertToTargetPosition(50));//32886042 141 System.out.println("Transcript coordinate conversion: " + 654 + " --> " + canonicalTranscript.convertToTargetPosition(654));//32885438 142 System.out.println("Transcript coordinate conversion: " + 655 + " --> " + canonicalTranscript.convertToTargetPosition(655));//32885437 143 System.out.println("Transcript coordinate conversion: " + 8255 + " --> " + canonicalTranscript.convertToTargetPosition(8255));//32877837 144 System.out.println("Transcript coordinate conversion: " + 8256 + " --> " + canonicalTranscript.convertToTargetPosition(8256));//32877836 145 146 147 System.out.println(""); 148 Collection<DAExon> exons = canonicalTranscript.getExons(); 149 System.out.println("Canonical Transcript Exons: " + exons.size()); 150 //Canonical Transcript Exons: 4 151 for (DAExon exon : exons) { 152 System.out.println("\t" + exon.getRank() + ": " + exon.getChromosomeMapping().getTargetCoordinates() 153 + " [" + exon.getChromosomeMapping().getTargetCoordinates().getLength() + "] " 154 + exon.getSequenceAsString(1, 30) + ".... phase:" + exon.getPhase() + "/" + exon.getEndPhase()); 155 } 156 157 /* 158 1: 32885409 - 32886091 (REVERSE_STRAND) [683] TTAGACTGCGCCTGAGCACCTGAGAGCGGA.... phase:-1/0 159 2: 32884776 - 32884868 (REVERSE_STRAND) [93] TTTTTGGAACCAAAATATGGCTATTTCCAC.... phase:0/0 160 3: 32882823 - 32882897 (REVERSE_STRAND) [75] GTTTATTTCAAACAACTCTGTTGTAAATGC.... phase:0/0 161 4: 32877837 - 32878159 (REVERSE_STRAND) [323] ACCTGCTCAAAGTCTCATTGTTCCTGTCCT.... phase:0/-1 162 */ 163 164 System.out.println(""); 165 System.out.println("Primary Transcript coordinate : " + -100 + " --> Processed Transcript: " 166 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(-100));//-100 167 System.out.println("Primary Transcript coordinate : " + -1 + " --> Processed Transcript: " 168 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(-1));//-1 169 System.out.println("Primary Transcript coordinate : " + 1 + " --> Processed Transcript: " 170 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(1));//1 171 System.out.println("Primary Transcript coordinate : " + 683 + " --> Processed Transcript: " 172 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(683));//683 173 System.out.println("Primary Transcript coordinate : " + 684 + " --> Processed Transcript: " 174 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(684));//null 175 System.out.println("Primary Transcript coordinate : " + 1223 + " --> Processed Transcript: " 176 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(1223));//null 177 System.out.println("Primary Transcript coordinate : " + 1224 + " --> Processed Transcript: " 178 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(1224));//684 179 System.out.println("Primary Transcript coordinate : " + 8255 + " --> Processed Transcript: " 180 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(8255));//1174 181 System.out.println("Primary Transcript coordinate : " + 8256 + " --> Processed Transcript: " 182 + canonicalTranscript.convertPrimaryToProcessedTranscriptPosition(8256));//1175 183 184 System.out.println(""); 185 System.out.println("Processed Transcript coordinate : " + -100 + " --> Primary Transcript: " 186 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(-100));//-100 187 System.out.println("Processed Transcript coordinate : " + -1 + " --> Primary Transcript: " 188 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(-1));//-1 189 System.out.println("Processed Transcript coordinate : " + 1 + " --> Primary Transcript: " 190 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(1));//1 191 System.out.println("Processed Transcript coordinate : " + 683 + " --> Primary Transcript: " 192 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(683));//683 193 System.out.println("Processed Transcript coordinate : " + 684 + " --> Primary Transcript: " 194 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(684));//1224 195 196 System.out.println("Processed Transcript coordinate : " + 1174 + " --> Primary Transcript: " 197 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(1174));//8255 198 System.out.println("Processed Transcript coordinate : " + 1175 + " --> Primary Transcript: " 199 + canonicalTranscript.convertProcessedToPrimaryTranscriptPosition(1175));//8256 200 201 202 System.out.println(""); 203 System.out.println("Processed Transcript coordinate : " + -100 + " --> Chromosome: " 204 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(-100));//32886191 205 System.out.println("Processed Transcript coordinate : " + -1 + " --> Chromosome: " 206 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(-1));//32886191 207 System.out.println("Processed Transcript coordinate : " + 1 + " --> Chromosome: " 208 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(1));//32886191 209 System.out.println("Processed Transcript coordinate : " + 683 + " --> Chromosome: " 210 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(683));//32885409 211 System.out.println("Processed Transcript coordinate : " + 684 + " --> Chromosome: " 212 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(684));//32884868 213 System.out.println("Processed Transcript coordinate : " + 1174 + " --> Chromosome: " 214 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(1174));//32877837 215 System.out.println("Processed Transcript coordinate : " + 1175 + " --> Chromosome: " 216 + canonicalTranscript.convertProcessedTranscriptPositionToChromosome(1175));//32877836 217 218 System.out.println(""); 219 System.out.println("Canonical Transcript " + (canonicalTranscript.isTranslated() ? "is Translated" : "not Translated")); 220 //Canonical Transcript is Translated 221 DATranslation canonicalTranslation = zar1l.getCanonicalTranslation(); 222 223 System.out.println("\ttranslation:" + canonicalTranslation.getStableID()); 224 // translation:ENSP00000344616 225 DAExon exon = canonicalTranslation.getFirstExon(); 226 227 System.out.println(""); 228 System.out.println("first translated exon (exon-" + exon.getRank() + "): " + exon.getChromosomeMapping().getTargetCoordinates() 229 + " [" + exon.getChromosomeMapping().getTargetCoordinates().getLength() + "] " 230 + exon.getSequenceAsString(1, 30) + ".... phase:" + exon.getPhase() + "/" + exon.getEndPhase()); 231 System.out.println("Exon 1 coordinate conversion: " + 1 + " --> " + exon.convertToTargetPosition(1)); 232 System.out.println("Exon 1 coordinate conversion: " + -1 + " --> " + exon.convertToTargetPosition(-1)); 233 System.out.println("Exon 1 coordinate conversion: " + 10 + " --> " + exon.convertToTargetPosition(10)); 234 System.out.println("Exon 1 coordinate conversion: " + -10 + " --> " + exon.convertToTargetPosition(-10)); 235 236 /* 237 first translated exon (exon-1): 32885409 - 32886091 (REVERSE_STRAND) [683] TTAGACTGCGCCTGAGCACCTGAGAGCGGA.... phase:-1/0 238 Exon 1 coordinate conversion: 1 --> 32886091 239 Exon 1 coordinate conversion: -1 --> 32886092 240 Exon 1 coordinate conversion: 10 --> 32886082 241 Exon 1 coordinate conversion: -10 --> 32886101 242 */ 243 244 System.out.println(""); 245 exon = canonicalTranslation.getLastExon(); 246 247 System.out.println("last translated exon: (exon-" + exon.getRank() + "): " + exon.getChromosomeMapping().getTargetCoordinates() 248 + " [" + exon.getChromosomeMapping().getTargetCoordinates().getLength() + "] " 249 + exon.getSequenceAsString(1, 30) + ".... phase:" + exon.getPhase() + "/" + exon.getEndPhase()); 250 System.out.println("last Exon coordinate conversion: " + 1 + " --> " + exon.convertToTargetPosition(1)); 251 System.out.println("last Exon coordinate conversion: " + -1 + " --> " + exon.convertToTargetPosition(-1)); 252 System.out.println("last Exon coordinate conversion: " + 10 + " --> " + exon.convertToTargetPosition(10)); 253 System.out.println("last Exon coordinate conversion: " + -10 + " --> " + exon.convertToTargetPosition(-10)); 254 255 /* 256 last translated exon: (exon-4): 32877837 - 32878159 (REVERSE_STRAND) [323] ACCTGCTCAAAGTCTCATTGTTCCTGTCCT.... phase:0/-1 257 last Exon coordinate conversion: 1 --> 32878159 258 last Exon coordinate conversion: -1 --> 32878160 259 last Exon coordinate conversion: 10 --> 32878150 260 last Exon coordinate conversion: -10 --> 32878169 261 */ 262 263 System.out.println(""); 264 System.out.println("First exon start:" + canonicalTranslation.getFirstExonStart() + " - " 265 + "Last exon end:" + canonicalTranslation.getLastExonEnd()); 266 //First exon start:30 - Last exon end:144 267 268 System.out.println("Translateable Sequence:"); 269 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(1, 30) + "..... "); 270 Integer len = canonicalTranslation.getTranslatedSequenceAsString().length(); 271 System.out.println(canonicalTranslation.getTranslatedSequenceAsString(len-29, len)); 272 //ATGGAGCGCTTTGTCCGTGTTCCCTATGGC..... AATATTTACAGCTTTAAATATGTGATGTGA 273 System.out.println(""); 274 275 System.out.println("PROTEIN: "); 276 System.out.print(canonicalTranslation.getProteinSequence().getSequenceAsString().subSequence(0, 30) + "..... "); 277 len = canonicalTranslation.getProteinSequence().getSequenceAsString().length(); 278 System.out.println(canonicalTranslation.getProteinSequence().getSequenceAsString().subSequence(len-8,len) ); 279 //MERFVRVPYGLYQGYGSTVPLGQPGLSGHK..... IYSFKYVM 280 System.out.print(canonicalTranslation.getProteinSequenceAsString(1, 30) + "..... "); 281 len = canonicalTranslation.getProteinSequence().getSequenceAsString().length(); 282 System.out.println(canonicalTranslation.getProteinSequence().getSequenceAsString().subSequence(len-8,len) ); 283 //MERFVRVPYGLYQGYGSTVPLGQPGLSGHK..... IYSFKYVM 284 System.out.println(""); 285 286 System.out.println("Translation: 1 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(1));//30 287 System.out.println("Translation: 10 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(10));//39 288 System.out.println("Translation: 100 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(100));//129 289 System.out.println("Translation: 654 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(654));//683 290 System.out.println("Translation: 655 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(655));//1224 291 System.out.println("Translation: 747 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(747));//1316 292 System.out.println("Translation: 748 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(748));//3195 293 System.out.println("Translation: 963 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(963));//3195 294 System.out.println("Translation: 966 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(966));//3195 295 System.out.println("Translation: 967 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(967));//3195 296 System.out.println("Translation: 1145 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(1145));//8255 297 System.out.println("Translation: 1146 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromBASE(1146));//8256 298 299 System.out.println("PrimaryTranscript: 1 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(1));//null 300 System.out.println("PrimaryTranscript: 29 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(29));//null 301 System.out.println("PrimaryTranscript: 30 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(30));//1 302 System.out.println("PrimaryTranscript: 683 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(683));//654 303 System.out.println("PrimaryTranscript: 684 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(684));//null 304 System.out.println("PrimaryTranscript: 1223 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(1223));//null 305 System.out.println("PrimaryTranscript: 1224 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(1224));//655 306 System.out.println("PrimaryTranscript: 1316 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(1316));//747 307 System.out.println("PrimaryTranscript: 1317 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(1317));//null 308 System.out.println("PrimaryTranscript: 8073 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(8073));//963 309 System.out.println("PrimaryTranscript: 8076 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(8076));//966 310 System.out.println("PrimaryTranscript: 8077 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(8077));//null 311 System.out.println("PrimaryTranscript: 8255 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(8255));//null 312 System.out.println("PrimaryTranscript: 8256 --> Translation: " + canonicalTranslation.getBasePositionFromPrimaryTranscript(8256));//null 313 314 System.out.println(""); 315 316 System.out.println("Translation: -30 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(-30));//-1 317 System.out.println("Translation: -1 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(-1));//29 318 System.out.println("Translation: 1 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(1));//30 319 System.out.println("Translation: 10 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(10));//39 320 System.out.println("Translation: 100 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(100));//129 321 System.out.println("Translation: 654 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(654));//683 322 System.out.println("Translation: 655 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(655));//684 323 System.out.println("Translation: 747 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(747));//776 324 System.out.println("Translation: 748 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(748));//777 325 System.out.println("Translation: 966 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(966));//995 326 System.out.println("Translation: 967 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromBASE(967));//996 327 328 System.out.println("ProcessedTranscript: -1 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(-1));//null 329 System.out.println("ProcessedTranscript: 1 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(1));//null 330 System.out.println("ProcessedTranscript: 30 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(30));//1 331 System.out.println("ProcessedTranscript: 683 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(683));//654 332 System.out.println("ProcessedTranscript: 684 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(684));//655 333 System.out.println("ProcessedTranscript: 776 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(776));//747 334 System.out.println("ProcessedTranscript: 777 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(777));//748 335 System.out.println("ProcessedTranscript: 995 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(995));//966 336 System.out.println("ProcessedTranscript: 996 --> Translation: " + canonicalTranslation.getBasePositionFromProcessedTranscript(996));//null 337 338 System.out.println(""); 339 340 System.out.println("Translation: -1 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(-1));//32886063 341 System.out.println("Translation: 1 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(1));//32886062 342 System.out.println("Translation: 654 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(654));//32885409 343 System.out.println("Translation: 655 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(655));//32884868 344 System.out.println("Translation: 747 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(747));//32884776 345 System.out.println("Translation: 748 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(748));//32882897 346 System.out.println("Translation: 966 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(966));//32878016 347 System.out.println("Translation: 967 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromBASE(967));//32878015 348 349 System.out.println("Chromosome: 32886063 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32886063));//null 350 System.out.println("Chromosome: 32886062 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32886062));//1 351 System.out.println("Chromosome: 32885409 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32885409));//654 352 System.out.println("Chromosome: 32884868 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32884868));//655 353 System.out.println("Chromosome: 32884776 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32884776));//747 354 System.out.println("Chromosome: 32882897 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32882897));//748 355 System.out.println("Chromosome: 32878016 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32878016));//966 356 System.out.println("Chromosome: 32878015 --> Translation: " + canonicalTranslation.getBasePositionFromChromosome(32878015));//null 357 358 System.out.println(""); 359 360 System.out.println("Amino Acid: 1 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(1));//30 - 32 (REVERSE_STRAND) 361 System.out.println("Amino Acid: 218 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(218));// 681 - 683 (REVERSE_STRAND) 362 System.out.println("Amino Acid: 219 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(219));// 1224 - 1226 (REVERSE_STRAND) 363 System.out.println("Amino Acid: 249 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(249));// 1314 - 1316 (REVERSE_STRAND) 364 System.out.println("Amino Acid: 250 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(250));// 3195 - 3197 (REVERSE_STRAND) 365 System.out.println("Amino Acid: 274 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(274));//3267 - 3269 (REVERSE_STRAND) 366 System.out.println("Amino Acid: 275 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(275));// 7933 - 7935 (REVERSE_STRAND) 367 System.out.println("Amino Acid: 321 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(321));// 8071 - 8073 (REVERSE_STRAND) 368 System.out.println("Amino Acid: 322 --> PrimaryTranscript: " + canonicalTranslation.getPrimaryTranscriptPositionFromAA(322));//8074 - 8076 (REVERSE_STRAND) 369 370 371 System.out.println("PrimaryTranscript: 30 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(30));//1 372 System.out.println("PrimaryTranscript: 31 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(31));//1 373 System.out.println("PrimaryTranscript: 32 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(32));//1 374 System.out.println("PrimaryTranscript: 36 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(36));//3 375 System.out.println("PrimaryTranscript: 654 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(683));//218 376 System.out.println("PrimaryTranscript: 655 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(684));//null 377 System.out.println("PrimaryTranscript: 1223 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(1223));//null 378 System.out.println("PrimaryTranscript: 1224 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(1224));//219 379 System.out.println("PrimaryTranscript: 8073 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(8073));//321 380 System.out.println("PrimaryTranscript: 8076 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(8076));//322 381 System.out.println("PrimaryTranscript: 8077 --> Amino Acid: " + canonicalTranslation.getAAPositionFromPrimaryTranscript(8077));//null 382 383 System.out.println(""); 384 385 System.out.println("Amino Acid: 1 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(1));//30 - 32 (REVERSE_STRAND) 386 System.out.println("Amino Acid: 218 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(218));// 681 - 683 (REVERSE_STRAND) 387 System.out.println("Amino Acid: 219 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(219));// 684 - 686 (REVERSE_STRAND) 388 System.out.println("Amino Acid: 321 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(321));// 990 - 992 (REVERSE_STRAND) 389 System.out.println("Amino Acid: 322 --> ProcessedTranscript: " + canonicalTranslation.getProcessedTranscriptPositionFromAA(322));// 993 - 995 (REVERSE_STRAND) 390 391 System.out.println("ProcessedTranscript: 1 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(1));//null 392 System.out.println("ProcessedTranscript: 30 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(30));//1 393 System.out.println("ProcessedTranscript: 681 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(681));//218 394 System.out.println("ProcessedTranscript: 682 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(682));//218 395 System.out.println("ProcessedTranscript: 683 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(683));//218 396 System.out.println("ProcessedTranscript: 684 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(684));//219 397 System.out.println("ProcessedTranscript: 685 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(685));//219 398 System.out.println("ProcessedTranscript: 686 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(686));//219 399 System.out.println("ProcessedTranscript: 990 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(990));//321 400 System.out.println("ProcessedTranscript: 991 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(991));//321 401 System.out.println("ProcessedTranscript: 992 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(992));//321 402 System.out.println("ProcessedTranscript: 993 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(993));//322 403 System.out.println("ProcessedTranscript: 994 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(994));//322 404 System.out.println("ProcessedTranscript: 995 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(995));//322 405 System.out.println("ProcessedTranscript: 996 --> Amino Acid: " + canonicalTranslation.getAAPositionFromProcessedTranscript(996));//null 406 407 408 System.out.println(""); 409 410 System.out.println("Amino Acid: 1 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(1));// 32886060 - 32886062 (REVERSE_STRAND) 411 System.out.println("Amino Acid: 218 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(218));// 32885409 - 32885411 (REVERSE_STRAND) 412 System.out.println("Amino Acid: 219 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(219));// 32884866 - 32884868 (REVERSE_STRAND) 413 System.out.println("Amino Acid: 321 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(321));// 32878019 - 32878021 (REVERSE_STRAND) 414 System.out.println("Amino Acid: 322 --> Chromosome: " + canonicalTranslation.getChromosomePositionFromAA(322));// 32878016 - 32878018 (REVERSE_STRAND) 415 416 System.out.println("Chromosome: 32886059 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32886059));//2 417 System.out.println("Chromosome: 32886060 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32886060));//1 418 System.out.println("Chromosome: 32886061 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32886061));//1 419 System.out.println("Chromosome: 32886062 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32886062));//1 420 System.out.println("Chromosome: 32886063 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32886063));//null 421 422 System.out.println("Chromosome: 32885408 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32885408));//null 423 System.out.println("Chromosome: 32885409 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32885409));//218 424 System.out.println("Chromosome: 32885411 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32885411));//218 425 426 System.out.println("Chromosome: 32884865 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32884865));//220 427 System.out.println("Chromosome: 32884866 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32884866));//219 428 System.out.println("Chromosome: 32884868 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32884868));//219 429 System.out.println("Chromosome: 32884869 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32884869));//null 430 431 System.out.println("Chromosome: 32878019 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32878019));//321 432 System.out.println("Chromosome: 32878018 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32878018));//322 433 System.out.println("Chromosome: 32878015 --> Amino Acid: " + canonicalTranslation.getAAPositionFromChromosome(32878015));//null 434 435 436 System.out.println(""); 437 438 System.out.println("Translation\tAA\tchromosome\tbase\tcodon\tAA\tPrimaryT\tProcessedT"); 439 for (Mapping m: canonicalTranslation.getTranslationMappings()) { 440 441 int i = m.getSourceCoordinates().getStart(); 442 System.out.print(i + "\t\t" +(i+2)/3 +"\t" + canonicalTranslation.getChromosomePositionFromBASE(i) + "\t"); 443 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(i, i) +"\t"); 444 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(3*((i+2)/3)-2, 3*((i+2)/3) )+"\t"); 445 System.out.print(canonicalTranslation.getProteinSequenceAsString((i+2)/3,(i+2)/3) +"\t"); 446 System.out.print(canonicalTranslation.getPrimaryTranscriptPositionFromBASE(i) + "\t\t"); 447 System.out.print(canonicalTranslation.getProcessedTranscriptPositionFromBASE(i) + "\n"); 448 449 i = m.getSourceCoordinates().getEnd(); 450 if (i==10257){ 451 System.out.print(""); 452 } 453 System.out.print(i + "\t\t" +(i+2)/3 +"\t" + canonicalTranslation.getChromosomePositionFromBASE(i) + "\t"); 454 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(i, i) +"\t"); 455 System.out.print(canonicalTranslation.getTranslatedSequenceAsString(3*((i+2)/3)-2, 3*((i+2)/3) )+"\t"); 456 System.out.print(canonicalTranslation.getProteinSequenceAsString((i+2)/3,(i+2)/3) +"\t"); 457 System.out.print(canonicalTranslation.getPrimaryTranscriptPositionFromBASE(i) + "\t\t"); 458 System.out.print(canonicalTranslation.getProcessedTranscriptPositionFromBASE(i) + "\n"); 459 460 } 461 462 /* 463 Translation AA chromosome base codon AA PrimaryT ProcessedT 464 1 1 32886062 A ATG M 30 30 465 654 218 32885409 G CAG Q 683 683 466 655 219 32884868 T TTT F 1224 684 467 747 249 32884776 G AAG K 1316 776 468 748 250 32882897 G GTT V 3195 777 469 822 274 32882823 G CAG Q 3269 851 470 823 275 32878159 A ACC T 7933 852 471 966 322 32878016 A TGA * 8076 995 472 */ 473 } 474}