private Map<String, AdditionalAttribute> getAdditionalAttributes(String[] variationFields, String[] variationFeatureFields) { Map<String, AdditionalAttribute> additionalAttributes = new HashMap<>(); AdditionalAttribute additionalAttribute = new AdditionalAttribute(); additionalAttribute.setAttribute(new HashMap<String, String>()); if ((variationFeatureFields[11] != null && !variationFeatureFields[11].equals("\\N"))) { additionalAttribute.getAttribute().put("ensemblValidationStatus", variationFeatureFields[11]); } additionalAttributes.put("ensemblAnnotation", additionalAttribute); return additionalAttributes; }
private Map<String, AdditionalAttribute> getCustomAnnotation(Variant variant) { try { byte[] dbContent = dbIndex.get((variant.getChromosome() + "_" + variant.getStart() + "_" + variant.getReference() + "_" + variant.getAlternate()).getBytes()); if (dbContent == null) { return null; } else { ObjectMapper mapper = new ObjectMapper(); AdditionalAttribute infoAttribute = new AdditionalAttribute(); infoAttribute.setAttribute(mapper.readValue(dbContent, Map.class)); Map<String, AdditionalAttribute> customAnnotation = new HashMap<>(1); customAnnotation.put(fileId, infoAttribute); return customAnnotation; } } catch (RocksDBException | IOException e) { return null; } }
public static Document convertToStorageType(AdditionalAttribute attribute) { Document document = new Document(); document.putAll(attribute.getAttribute()); return document; }
additionalAttribute = variantAnnotation.getAdditionalAttributes().get(GROUP_NAME.key()); } else { additionalAttribute = new AdditionalAttribute(new HashMap<>()); variantAnnotation.getAdditionalAttributes().put(GROUP_NAME.key(), additionalAttribute); additionalAttribute.getAttribute().put(VariantField.AdditionalAttributes.RELEASE.key(), release); additionalAttribute.getAttribute().put(VariantField.AdditionalAttributes.INDEX_SYNCHRONIZATION.key(), syncStatus.key()); additionalAttribute.getAttribute().put(VariantField.AdditionalAttributes.INDEX_STUDIES.key(), studies.stream().map(Object::toString).collect(Collectors.joining(","))); additionalAttribute.getAttribute().put(VariantField.AdditionalAttributes.ANNOTATION_ID.key(), annotationId);
public Map<String, AdditionalAttribute> convertAdditionalAttributesToDataModelType(Document customAnnotation) { Map<String, AdditionalAttribute> attributeMap = new HashMap<>(); for (String key : customAnnotation.keySet()) { Document document = customAnnotation.get(key, Document.class); HashMap<String, String> map = new HashMap<>(); document.forEach((k, value) -> map.put(k, value.toString())); AdditionalAttribute attribute = new AdditionalAttribute(map); attributeMap.put(key, attribute); } return attributeMap; }
/** * 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); } } } } }
additionalAttribute = annotation.getAdditionalAttributes().get(GROUP_NAME.key()); } else { additionalAttribute = new AdditionalAttribute(new HashMap<>()); annotation.getAdditionalAttributes().put(GROUP_NAME.key(), additionalAttribute); .toString(); additionalAttribute.getAttribute().put(RELEASE.key(), release);
@Override public AdditionalAttribute build() { try { AdditionalAttribute record = new AdditionalAttribute(); record.attribute = fieldSetFlags()[0] ? this.attribute : (java.util.Map<java.lang.String,java.lang.String>) defaultValue(fields()[0]); return record; } catch (Exception e) { throw new org.apache.avro.AvroRuntimeException(e); } } }
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 boolean transcriptAnnotationUpdated(Variant variant, String ensemblTranscriptId) { if (variant.getAnnotation().getAdditionalAttributes() != null && variant.getAnnotation().getAdditionalAttributes().get("phasedTranscripts") != null && variant.getAnnotation().getAdditionalAttributes().get("phasedTranscripts") .getAttribute().containsKey(ensemblTranscriptId)) { return true; } return false; }
if (value == null) { HashMap<String, String> map = new HashMap<>(1); value = new AdditionalAttribute(map); value.getAttribute().put(VariantField.AdditionalAttributes.ANNOTATION_ID.key(), annotationIds.get(((Number) o).intValue())); return value;
map.put(OBSERVEDLOSS, fields[OBSERVEDLOSS_COLUMN]); AdditionalAttribute dgvSpecificAttributes = new AdditionalAttribute(map); additionalAttributes.put(DGV_SPECIFIC_ATTRIBUTES, dgvSpecificAttributes); VariantAnnotation annotation = new VariantAnnotation(variant.getChromosome(), variant.getStart(),
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 boolean transcriptAnnotationUpdated(Variant variant, String ensemblTranscriptId) { if (variant.getAnnotation().getAdditionalAttributes() != null && variant.getAnnotation().getAdditionalAttributes().get("phasedTranscripts") != null && variant.getAnnotation().getAdditionalAttributes().get("phasedTranscripts") .getAttribute().containsKey(ensemblTranscriptId)) { return true; } return false; }
new AdditionalAttribute(Collections.singletonMap(VARIANT_ID.key(), variant.toString())); if (variantAnnotation.getAdditionalAttributes() == null) { variantAnnotation
&& variant.getAnnotation().getAdditionalAttributes().get(GROUP_NAME.key()) != null) { AdditionalAttribute additionalAttribute = variant.getAnnotation().getAdditionalAttributes().get(GROUP_NAME.key()); String sync = additionalAttribute.getAttribute().get(AdditionalAttributes.INDEX_SYNCHRONIZATION.key()); if (VariantStorageEngine.SyncStatus.SYNCHRONIZED.key().equals(sync)) { String indexedStudiesStr = additionalAttribute.getAttribute().get(AdditionalAttributes.INDEX_STUDIES.key()); if (StringUtils.isNotEmpty(indexedStudiesStr)) { String[] indexedStudies = indexedStudiesStr.split(",");
Query query = new Query(VariantQueryParam.REGION.key(), region); dbAdaptor.updateCustomAnnotations( query, key, new AdditionalAttribute(Collections.singletonMap("feature", gff.getFeature())), ts, QueryOptions.empty()); annotation.put(("score"), String.valueOf(bed.getScore())); annotation.put(("strand"), bed.getStrand()); AdditionalAttribute additionalAttribute = new AdditionalAttribute(annotation); dbAdaptor.updateCustomAnnotations(query, key, additionalAttribute, ts, QueryOptions.empty()); Query query = new Query(VariantQueryParam.REGION.key(), region); Map<String, String> info = variant.getStudies().get(0).getFiles().get(0).getAttributes(); AdditionalAttribute attribute = new AdditionalAttribute(info); dbAdaptor.updateCustomAnnotations(query, key, attribute, ts, new QueryOptions());
&& variant.getAnnotation().getAdditionalAttributes().get(GROUP_NAME.key()) != null) { AdditionalAttribute additionalAttribute = variant.getAnnotation().getAdditionalAttributes().get(GROUP_NAME.key()); String indexedStudies = additionalAttribute.getAttribute().get(INDEX_STUDIES.key());
attribute.put(RELEASE.key(), String.valueOf(variantSearchModel.getRelease())); variantAnnotation.setAdditionalAttributes(new HashMap<>()); variantAnnotation.getAdditionalAttributes().put(GROUP_NAME.key(), new AdditionalAttribute(attribute));
try { String ensemblAnnotationJson = getEnsemblAnnotationJson(ensemblVariantAnnotation); additionalAttributes.get("ensemblAnnotation").getAttribute().put("annotation", ensemblAnnotationJson); } catch (JsonProcessingException e) { logger.warn("Variant {} annotation cannot be serialized to Json: {}", id, e.getMessage());