private void flagTranscriptAnnotationUpdated(Variant variant, String ensemblTranscriptId) { Map<String, AdditionalAttribute> additionalAttributesMap = variant.getAnnotation().getAdditionalAttributes(); if (additionalAttributesMap == null) { additionalAttributesMap = new HashMap<>(); AdditionalAttribute additionalAttribute = new AdditionalAttribute(); Map<String, String> transcriptsSet = new HashMap<>(); transcriptsSet.put(ensemblTranscriptId, null); additionalAttribute.setAttribute(transcriptsSet); additionalAttributesMap.put("phasedTranscripts", additionalAttribute); variant.getAnnotation().setAdditionalAttributes(additionalAttributesMap); } else if (additionalAttributesMap.get("phasedTranscripts") == null) { AdditionalAttribute additionalAttribute = new AdditionalAttribute(); Map<String, String> transcriptsSet = new HashMap<>(); transcriptsSet.put(ensemblTranscriptId, null); additionalAttribute.setAttribute(transcriptsSet); additionalAttributesMap.put("phasedTranscripts", additionalAttribute); } else { additionalAttributesMap.get("phasedTranscripts").getAttribute().put(ensemblTranscriptId, null); } }
/** * Updates VariantAnnotation objects in variantAnnotationList. * * @param variantList List of Variant objects. variantList and variantAnnotationList must contain variants in the * SAME order: variantAnnotation at position i must correspond to variant i */ public void run(List<Variant> variantList) { for (int i = 0; i < variantList.size(); i++) { Map<String, AdditionalAttribute> customAnnotation = getCustomAnnotation(variantList.get(i)); // Update only if there are annotations for this variant. customAnnotation may be empty if the variant // exists in the vcf but the info field does not contain any of the required attributes if (customAnnotation != null && customAnnotation.get(fileId).getAttribute().size() > 0) { VariantAnnotation variantAnnotation = variantList.get(i).getAnnotation(); if (variantAnnotation != null) { Map<String, AdditionalAttribute> additionalAttributes = variantAnnotation.getAdditionalAttributes(); if (additionalAttributes == null) { // variantList and variantAnnotationList must contain variants in the SAME order: variantAnnotation // at position i must correspond to variant i variantAnnotation.setAdditionalAttributes(customAnnotation); } else { additionalAttributes.putAll(customAnnotation); // variantList and variantAnnotationList must contain variants in the SAME order: variantAnnotation // at position i must correspond to variant i // variantAnnotation.setAdditionalAttributes(additionalAttributes); } } } } }
private void flagTranscriptAnnotationUpdated(Variant variant, String ensemblTranscriptId) { Map<String, AdditionalAttribute> additionalAttributesMap = variant.getAnnotation().getAdditionalAttributes(); if (additionalAttributesMap == null) { additionalAttributesMap = new HashMap<>(); AdditionalAttribute additionalAttribute = new AdditionalAttribute(); Map<String, String> transcriptsSet = new HashMap<>(); transcriptsSet.put(ensemblTranscriptId, null); additionalAttribute.setAttribute(transcriptsSet); additionalAttributesMap.put("phasedTranscripts", additionalAttribute); variant.getAnnotation().setAdditionalAttributes(additionalAttributesMap); } else if (additionalAttributesMap.get("phasedTranscripts") == null) { AdditionalAttribute additionalAttribute = new AdditionalAttribute(); Map<String, String> transcriptsSet = new HashMap<>(); transcriptsSet.put(ensemblTranscriptId, null); additionalAttribute.setAttribute(transcriptsSet); additionalAttributesMap.put("phasedTranscripts", additionalAttribute); } else { additionalAttributesMap.get("phasedTranscripts").getAttribute().put(ensemblTranscriptId, null); } }
private void flagVisitedVariant(byte[] key, VariantAvro variantAvro) { // The annotation.additionalAttributes field is initialized with an empty map to flag this variant as // already visited variantAvro.getAnnotation().setAdditionalAttributes(Collections.emptyMap()); try { dbIndex.put(key, jsonObjectWriter.writeValueAsBytes(variantAvro)); } catch (RocksDBException e) { e.printStackTrace(); } catch (JsonProcessingException e) { e.printStackTrace(); } }
&& preferredVariant.getAnnotation().getAdditionalAttributes().size() > 0) { variantAnnotationResultList.get(i).first() .setAdditionalAttributes(preferredVariant.getAnnotation().getAdditionalAttributes());
&& preferredVariant.getAnnotation().getAdditionalAttributes().size() > 0) { variantAnnotationResultList.get(i).first() .setAdditionalAttributes(preferredVariant.getAnnotation().getAdditionalAttributes());
if (hasAnnotationId || hasRelease || hasIndex) { if (variantAnnotation.getAdditionalAttributes() == null) { variantAnnotation.setAdditionalAttributes(new HashMap<>());
if (variantAnnotation.getAdditionalAttributes() == null) { variantAnnotation .setAdditionalAttributes(Collections.singletonMap(GROUP_NAME.key(), additionalAttribute)); } else { variantAnnotation.getAdditionalAttributes().put(GROUP_NAME.key(), additionalAttribute);
Map<String, String> attribute = new HashMap<>(); attribute.put(RELEASE.key(), String.valueOf(variantSearchModel.getRelease())); variantAnnotation.setAdditionalAttributes(new HashMap<>()); variantAnnotation.getAdditionalAttributes().put(GROUP_NAME.key(), new AdditionalAttribute(attribute));
@Override public List<VariantAnnotation> annotate(List<Variant> variants) throws VariantAnnotatorException { if (fail) { throw new VariantAnnotatorException("Fail because reasons"); } return variants.stream().map(v -> { VariantAnnotation a = new VariantAnnotation(); a.setChromosome(v.getChromosome()); a.setStart(v.getStart()); a.setEnd(v.getEnd()); a.setReference(v.getReference()); a.setAlternate(v.getAlternate()); a.setId("an id -- " + key); ConsequenceType ct = new ConsequenceType(); ct.setGeneName("a gene"); ct.setSequenceOntologyTerms(Collections.emptyList()); ct.setExonOverlap(Collections.emptyList()); ct.setTranscriptAnnotationFlags(Collections.emptyList()); a.setConsequenceTypes(Collections.singletonList(ct)); a.setAdditionalAttributes( Collections.singletonMap(GROUP_NAME.key(), new AdditionalAttribute(Collections.singletonMap(VARIANT_ID.key(), v.toString())))); return a; }).collect(Collectors.toList()); }
annotation = newVariantAnnotation(variant); if (customAnnotation != null) { annotation.setAdditionalAttributes(variantAnnotationConverter .convertAdditionalAttributesToDataModelType(customAnnotation)); if (hasRelease || hasIndex) { if (annotation.getAdditionalAttributes() == null) { annotation.setAdditionalAttributes(new HashMap<>());
va.setAdditionalAttributes(additionalAttributes); } else { if (!annotationIds.isEmpty()) { if (o != null && o instanceof Number) { if (va.getAdditionalAttributes() == null) { va.setAdditionalAttributes(new HashMap<>());