@Override public boolean write(Variant variant) { try { jsonObjectWriter.write(variant.getImpl()); bw.write('\n'); } catch (IOException e) { throw Throwables.propagate(e); } return true; }
@Override protected List<ByteBuffer> encodeVariants(List<Variant> variants) { List<VariantAvro> avros = new ArrayList<>(variants.size()); variants.forEach(variant -> avros.add(variant.getImpl())); List<ByteBuffer> encoded; try { encoded = encoder.encode(avros); } catch (IOException e) { throw new RuntimeException(e); } return encoded; } }
private void addVariant(String blockKey, Variant var) { List<Variant> list = null; if (!lookup.contains(blockKey)) { lookup.add(blockKey); lookupOrder.add(blockKey); list = new ArrayList<Variant>(); buffer.put(blockKey, list); } else { list = buffer.get(blockKey); } if (list == null) { logger.error(" Current lookup queue: " + StringUtils.join(lookupOrder, ',')); logger.error(String.format("Current Variant: %s", var.getImpl())); throw new IllegalStateException("Input file not sorted!!!: " + blockKey); } list.add(var); }
@Override public boolean write(List<Variant> batch) { for (Variant variant : batch) { if (numWrites++ % 1000 == 0) { logger.debug("Written {} elements", numWrites); } try { writer.append(variant.getImpl()); } catch (IOException e) { e.printStackTrace(); return false; } } logger.debug("Written " + batch.size()); return true; }
@Override protected void map(Object key, Variant value, Context context) throws IOException, InterruptedException { context.getCounter(COUNTER_GROUP_NAME, "variants").increment(1); context.write(null, value.getImpl()); } }
@Override protected void map(Object key, Variant value, Context context) throws IOException, InterruptedException { context.getCounter(COUNTER_GROUP_NAME, "variants").increment(1); context.write(new AvroKey<>(value.getImpl()), NullWritable.get()); } }
@Override public Binary convertToStorageType(Variant variant) { BinaryEncoder encoder = null; ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); // byteArrayOutputStream.reset(); OutputStream outputStream = byteArrayOutputStream; try { // outputStream = new GZIPOutputStream(outputStream); encoder = EncoderFactory.get().directBinaryEncoder(outputStream, encoder); writer.write(variant.getImpl(), encoder); encoder.flush(); outputStream.flush(); outputStream.close(); byte[] data = byteArrayOutputStream.toByteArray(); data = CompressionUtils.compress(data); return new Binary(data); } catch (IOException e) { throw new UncheckedIOException(e); } } }
@Override public void parse() throws Exception { try (BufferedReader bufferedReader = FileUtils.newBufferedReader(file)) { // Skip header bufferedReader.readLine(); unexpectedVariantSubtype = new HashMap<>(); ProgressLogger progressLogger = new ProgressLogger("Parsed DGV lines:", () -> EtlCommons.countFileLines(file), 200).setBatchSize(10000); String line = bufferedReader.readLine(); while (line != null) { List<Variant> variantList = parseVariants(line); line = bufferedReader.readLine(); for (Variant variant : variantList) { serializer.serialize(variant.getImpl()); } progressLogger.increment(1); } } printSummary(); logger.info("Done."); }
private void indexPopulationFrequencies(RocksDB db) { ObjectMapper jsonObjectMapper = new ObjectMapper(); jsonObjectMapper.configure(MapperFeature.REQUIRE_SETTERS_FOR_GETTERS, true); ObjectWriter jsonObjectWriter = jsonObjectMapper.writer(); try { DataReader<Variant> dataReader = new JsonVariantReader(populationFrequenciesFile.toString()); dataReader.open(); dataReader.pre(); int lineCounter = 0; List<Variant> variant = dataReader.read(); while (variant != null) { db.put(VariantAnnotationUtils.buildVariantId(variant.get(0).getChromosome(), variant.get(0).getStart(), variant.get(0).getReference(), variant.get(0).getAlternate()).getBytes(), jsonObjectWriter.writeValueAsBytes(variant.get(0).getImpl())); lineCounter++; if (lineCounter % 100000 == 0) { logger.info("{} lines indexed", lineCounter); } variant = dataReader.read(); } dataReader.post(); dataReader.close(); } catch (IOException | RocksDBException e) { e.printStackTrace(); } }
ReportedVariant reportedVariant = new ReportedVariant(variant.getImpl(), 0, new ArrayList<>(), Collections.emptyList(), Collections.emptyMap());
throw new IllegalStateException(String.format( "No GT [%s] found for sample %s in \nVariant: %s\nOtherSe:%s\nOtherSp:%s", getGtKey(), sampleName, other.getImpl(), otherStudy.getSamplesData(), otherStudy.getSamplesPosition()));
private void generateReportedVariants(List<Variant> variantList, Phenotype phenotype, Panel diseasePanel, ClinicalProperty.ModeOfInheritance moi, Map<String, ReportedVariant> reportedVariantMap) { for (Variant variant : variantList) { if (!reportedVariantMap.containsKey(variant.getId())) { reportedVariantMap.put(variant.getId(), new ReportedVariant(variant.getImpl(), 0, new ArrayList<>(), Collections.emptyList(), Collections.emptyMap())); } ReportedVariant reportedVariant = reportedVariantMap.get(variant.getId()); // Sanity check if (variant.getAnnotation() != null && ListUtils.isNotEmpty(variant.getAnnotation().getConsequenceTypes())) { for (ConsequenceType ct: variant.getAnnotation().getConsequenceTypes()) { // Create the reported event ReportedEvent reportedEvent = new ReportedEvent() .setId("JT-PF-" + reportedVariant.getReportedEvents().size()) .setPhenotypes(Collections.singletonList(phenotype)) .setConsequenceTypeIds(Collections.singletonList(ct.getBiotype())) .setGenomicFeature(new GenomicFeature(ct.getEnsemblGeneId(), ct.getEnsemblTranscriptId(), ct.getGeneName(), null, null)) .setModeOfInheritance(moi) .setPanelId(diseasePanel.getDiseasePanel().getId()); // TODO: add additional reported event fields // Add reported event to the reported variant reportedVariant.getReportedEvents().add(reportedEvent); } } } }
private void generateReportedVariants(VariantQueryResult<Variant> variantQueryResult, Phenotype phenotype, Panel diseasePanel, ClinicalProperty.ModeOfInheritance moi, Penetrance penetrance, Map<String, ReportedVariant> reportedVariantMap) { for (Variant variant: variantQueryResult.getResult()) { if (!reportedVariantMap.containsKey(variant.getId())) { reportedVariantMap.put(variant.getId(), new ReportedVariant(variant.getImpl(), 0, new ArrayList<>(), Collections.emptyList(), Collections.emptyMap())); } ReportedVariant reportedVariant = reportedVariantMap.get(variant.getId()); // Sanity check if (variant.getAnnotation() != null && ListUtils.isNotEmpty(variant.getAnnotation().getConsequenceTypes())) { for (ConsequenceType ct: variant.getAnnotation().getConsequenceTypes()) { // Create the reported event ReportedEvent reportedEvent = new ReportedEvent() .setId("JT-PF-" + reportedVariant.getReportedEvents().size()) .setPhenotypes(Collections.singletonList(phenotype)) .setConsequenceTypeIds(Collections.singletonList(ct.getBiotype())) .setGenomicFeature(new GenomicFeature(ct.getEnsemblGeneId(), ct.getEnsemblTranscriptId(), ct.getGeneName(), null, null)) .setModeOfInheritance(moi) .setPanelId(diseasePanel.getDiseasePanel().getId()) .setPenetrance(penetrance); // TODO: add additional reported event fields // Add reported event to the reported variant reportedVariant.getReportedEvents().add(reportedEvent); } } } }
reportedVariantMap.put(variant.getId(), new ReportedVariant(variant.getImpl(), 0, new ArrayList<>(), Collections.emptyList(), Collections.emptyMap()));
variants = buildVariantsIdx(); if (variants.containsKey("1:10014:A:G")) { System.out.println(variants.get("1:10014:A:G").getImpl());
variants = buildVariantsIdx(); if (variants.containsKey("1:10014:A:G")) { System.out.println(variants.get("1:10014:A:G").getImpl());
variants = buildVariantsIdx(); if (variants.containsKey("1:10014:A:G")) { System.out.println(variants.get("1:10014:A:G").getImpl());