public static void main(String[] argv) throws Exception { DriverManager.load( "org/ensembl/conf/current_driver.conf:org/ensembl/conf/kaka_mysql_server.conf"); Controller c = new Controller(); EnsJSequence seq = new EnsJSequence("Dummy", c, new AssemblyLocation("22", 20000000, 20100000, 0), "current"); SequenceAdaptor sa = (SequenceAdaptor) DriverManager.get("current").getAdaptor("sequence"); seq.getCacher().setMinChunkSize(100); System.out.println("Have sequence. Dumping regions"); String processedSeq = seq.getResidues(1, 10); String rawSeq = sa.fetch(new AssemblyLocation("22", 20000000, 20000009, 0)).getString(); String diff = (rawSeq.equals(processedSeq)) ? "SAME" : "protected = " + processedSeq + "\nraw = " + rawSeq; System.out.println("Sequence first 10 = " + diff); processedSeq = seq.getResidues(100, 110); rawSeq = sa.fetch(new AssemblyLocation("22", 20000099, 20000109, 0)).getString(); diff = (rawSeq.equals(processedSeq)) ? "SAME" : "protected = " + processedSeq + "\nraw = " + rawSeq; System.out.println("Sequence 100-110 = " + diff); processedSeq = seq.getResidues(10000, 11010); rawSeq = sa.fetch(new AssemblyLocation("22", 20009999, 20011009, 0)).getString(); diff = (rawSeq.equals(processedSeq)) ? "SAME" : "protected = " + processedSeq + "\nraw = " + rawSeq; System.out.println("Sequence 10000-11010 = " + diff); processedSeq = seq.getResidues(1, 12010); rawSeq = sa.fetch(new AssemblyLocation("22", 20000000, 20012009, 0)).getString(); diff = (rawSeq.equals(processedSeq)) ? "SAME" : "protected = " + processedSeq + "\nraw = " + rawSeq; System.out.println("Sequence 1-12010 = " + diff); processedSeq = seq.getResidues(12010, 1); rawSeq = sa.fetch(new AssemblyLocation("22", 20000000, 20012009, -1)).getString(); diff = (rawSeq.equals(processedSeq)) ? "SAME" : "protected = " + processedSeq + "\nraw = " + rawSeq; System.out.println("Sequence 12010-1 = " + diff); }
/* Note: low and high are relative coordinates */ protected String getResiduesFromSourceImpl(int start, int end) { try { logger.debug( "getting sequence " + start + " to " + end + " from " + driverPath + " for seq obj " + this); SequenceAdaptor sa = (SequenceAdaptor) DriverManager.get(driverPath).getAdaptor("sequence"); LinearLocation loc = derivedLocation(start, end); org.ensembl19.datamodel.Sequence seq = sa.fetch(loc); String s = seq.getString(); logger.debug("s=" + start + "\te=" + end); logger.debug("EnsJSequence retrieved: " + s.length() + "\t" + s + "\t" + loc); return s; } catch (Exception e) { logger.error("Failed getting sequence residues", e); return null; } }