/** * Load UCSC chain file in order to lift over Intervals. */ public LiftOver(File chainFile) { IOUtil.assertFileIsReadable(chainFile); chains = Chain.loadChains(chainFile); }
/** * Load UCSC chain file in order to lift over Intervals. */ public LiftOver(File chainFile) { IOUtil.assertFileIsReadable(chainFile); chains = Chain.loadChains(chainFile); for (final Chain chain : this.chains.getAll()) { final String from = chain.fromSequenceName; final String to = chain.toSequenceName; final Set<String> names; if (contigMap.containsKey(from)) { names = contigMap.get(from); } else { names = new HashSet<>(); contigMap.put(from, names); } names.add(to); } }
/** * Load UCSC chain file in order to lift over Intervals. */ public LiftOver(File chainFile) { IOUtil.assertFileIsReadable(chainFile); chains = Chain.loadChains(chainFile); for (final Chain chain : this.chains.getAll()) { final String from = chain.fromSequenceName; final String to = chain.toSequenceName; final Set<String> names; if (contigMap.containsKey(from)) { names = contigMap.get(from); } else { names = new HashSet<>(); contigMap.put(from, names); } names.add(to); } }
@Test public void testWriteChain() throws Exception { final OverlapDetector<Chain> chains = Chain.loadChains(CHAIN_FILE); File outFile = File.createTempFile("test.", ".chain"); outFile.deleteOnExit(); PrintWriter pw = new PrintWriter(outFile); final Map<Integer, Chain> originalChainMap = new TreeMap<Integer, Chain>(); for (final Chain chain : chains.getAll()) { chain.write(pw); originalChainMap.put(chain.id, chain); } pw.close(); final OverlapDetector<Chain> newChains = Chain.loadChains(outFile); final Map<Integer, Chain> newChainMap = new TreeMap<Integer, Chain>(); for (final Chain chain : newChains.getAll()) { newChainMap.put(chain.id, chain); } Assert.assertEquals(newChainMap, originalChainMap); }