private void fixReference(List<VariantAnnotation> variantAnnotationList) throws RocksDBException { for (VariantAnnotation variantAnnotation : variantAnnotationList) { if (!variantAnnotation.getReference().isEmpty() && !variantAnnotation.getReference().equals("-")) { variantAnnotation.setReference(fastaIndexManager.query(variantAnnotation.getChromosome(), variantAnnotation.getStart(), variantAnnotation.getStart() + variantAnnotation.getReference().length() - 1)); } } }
/** * Checks whether a variant is valid. * * @param variantAnnotation Variant object to be checked. * @return true/false depending on whether 'variant' does contain valid values. Currently just a simple check of * reference/alternate attributes being strings of [A,C,G,T] of length >= 0 is performed to detect cases such as * 19:13318673:(CAG)4:(CAG)5 which are not currently supported by CellBase. Ref and alt alleles must be different * as well for the variant to be valid. Functionality of the method may be improved in the future. */ private boolean isValid(VariantAnnotation variantAnnotation) { return (variantAnnotation.getAlternate().matches(VARIANT_STRING_PATTERN) // && variantAnnotation.getReference().matches(VARIANT_STRING_PATTERN) && !variantAnnotation.getAlternate().equals(variantAnnotation.getReference())); }
protected void logUpdate(List<VariantAnnotation> list) { if (progressLogger != null) { progressLogger.increment(list.size(), () -> { VariantAnnotation annotation = list.get(list.size() - 1); return ", up to position " + annotation.getChromosome() + ":" + annotation.getStart() + ":" + annotation.getReference() + ":" + annotation.getAlternate(); }); } }
private List<Variant> createEmptyVariantList(List<VariantAnnotation> variantAnnotationList) { List<Variant> newVariantList = new ArrayList<>(variantAnnotationList.size()); for (VariantAnnotation variantAnnotation : variantAnnotationList) { Variant variant = new Variant(variantAnnotation.getChromosome(), variantAnnotation.getStart(), variantAnnotation.getEnd(), variantAnnotation.getReference(), variantAnnotation.getAlternate()); variant.resetType(); variant.resetLength(); newVariantList.add(variant); } return newVariantList; }
private PopulationFrequency parsePopulationFrequency(String frequencyStrings, String study, String population) { PopulationFrequency populationFrequency = new PopulationFrequency(); populationFrequency.setStudy(study); populationFrequency.setPopulation(population); // populationFrequency.setSuperPopulation(population); populationFrequency.setRefAllele(currentAnnotation.getReference()); populationFrequency.setAltAllele(currentAnnotation.getAlternate()); for(String frequencyString : frequencyStrings.split(",")) { String[] parts = frequencyString.split(":"); if (parts[0].equals(currentAnnotation.getAlternate())) { populationFrequency.setAltAlleleFreq(Float.valueOf(parts[1])); } else { populationFrequency.setRefAlleleFreq(Float.valueOf(parts[1])); } } return populationFrequency; }
stringBuilder.append(variantAnnotationDiff.getVariantAnnotation().getStart()); stringBuilder.append("\t"); stringBuilder.append(variantAnnotationDiff.getVariantAnnotation().getReference()); stringBuilder.append("\t"); stringBuilder.append(variantAnnotationDiff.getVariantAnnotation().getAlternate());
Put buildPut(VariantAnnotation variantAnnotation) { Map<PhoenixHelper.Column, ?> map = convert(variantAnnotation); byte[] bytesRowKey = null; if (variantAnnotation.getAdditionalAttributes() != null) { AdditionalAttribute additionalAttribute = variantAnnotation.getAdditionalAttributes().get(GROUP_NAME.key()); if (additionalAttribute != null) { String variantString = additionalAttribute .getAttribute() .get(VARIANT_ID.key()); if (StringUtils.isNotEmpty(variantString)) { bytesRowKey = generateVariantRowKey(new Variant(variantString)); } } } if (bytesRowKey == null) { bytesRowKey = VariantPhoenixKeyFactory.generateSimpleVariantRowKey( variantAnnotation.getChromosome(), variantAnnotation.getStart(), variantAnnotation.getReference(), variantAnnotation.getAlternate()); } Put put = new Put(bytesRowKey); for (PhoenixHelper.Column column : VariantPhoenixHelper.PRIMARY_KEY) { map.remove(column); } map.forEach((column, value) -> add(put, column, value)); return put; }
if (!variant.getChromosome().equals(variantAnnotation.getChromosome()) || !variant.getStart().equals(variantAnnotation.getStart()) || !variant.getReference().equals(variantAnnotation.getReference()) || !variant.getAlternate().equals(variantAnnotation.getAlternate())) { throw unexpectedVariantOrderException(variant, variantAnnotation.getChromosome() + ':' + variantAnnotation.getStart() + ':' + variantAnnotation.getReference() + ':' + variantAnnotation.getAlternate());
private void mergeAnnotation(VariantAnnotation destination, VariantAnnotation origin) { destination.setChromosome(origin.getChromosome()); destination.setStart(origin.getStart()); destination.setReference(origin.getReference()); destination.setAlternate(origin.getAlternate()); if (annotatorSet.contains("variation")) { destination.setId(origin.getId()); } if (annotatorSet.contains("consequenceType")) { destination.setDisplayConsequenceType(origin.getDisplayConsequenceType()); destination.setConsequenceTypes(origin.getConsequenceTypes()); } if (annotatorSet.contains("conservation")) { destination.setConservation(origin.getConservation()); } // destination.setGeneExpression(origin.getGeneExpression()); // destination.setGeneTraitAssociation(origin.getGeneTraitAssociation()); if (annotatorSet.contains("populationFrequencies")) { destination.setPopulationFrequencies(origin.getPopulationFrequencies()); } // destination.setGeneDrugInteraction(origin.getGeneDrugInteraction()); if (annotatorSet.contains("clinical")) { destination.setVariantTraitAssociation(origin.getVariantTraitAssociation()); } if (annotatorSet.contains("functionalScore")) { destination.setFunctionalScore(origin.getFunctionalScore()); } }
private void mergeAnnotation(VariantAnnotation destination, VariantAnnotation origin) { destination.setChromosome(origin.getChromosome()); destination.setStart(origin.getStart()); destination.setReference(origin.getReference()); destination.setAlternate(origin.getAlternate()); if (annotatorSet.contains("variation")) { destination.setId(origin.getId()); } if (annotatorSet.contains("consequenceType")) { destination.setDisplayConsequenceType(origin.getDisplayConsequenceType()); destination.setConsequenceTypes(origin.getConsequenceTypes()); } if (annotatorSet.contains("conservation")) { destination.setConservation(origin.getConservation()); } // destination.setGeneExpression(origin.getGeneExpression()); // destination.setGeneTraitAssociation(origin.getGeneTraitAssociation()); if (annotatorSet.contains("populationFrequencies")) { destination.setPopulationFrequencies(origin.getPopulationFrequencies()); } // destination.setGeneDrugInteraction(origin.getGeneDrugInteraction()); if (annotatorSet.contains("clinical")) { destination.setVariantTraitAssociation(origin.getVariantTraitAssociation()); } if (annotatorSet.contains("functionalScore")) { destination.setFunctionalScore(origin.getFunctionalScore()); } }
} else { id = variantConverter.buildStorageId(variantAnnotation.getChromosome(), variantAnnotation.getStart(), variantAnnotation.getReference(), variantAnnotation.getAlternate());
map.put(REFERENCE, variantAnnotation.getReference()); map.put(ALTERNATE, variantAnnotation.getAlternate()); map.put(GENES, genes); VariantType variantType = VariantBuilder.inferType(variantAnnotation.getReference(), variantAnnotation.getAlternate()); if (StringUtils.isNotBlank(variantAnnotation.getId())) { if (variantType.equals(VariantType.SNV)) {
private void mergeAnnotation(VariantAnnotation destination, VariantAnnotation origin) { if (origin != null) { destination.setId(origin.getId()); destination.setChromosome(origin.getChromosome()); destination.setStart(origin.getStart()); destination.setReference(origin.getReference()); destination.setAlternate(origin.getAlternate()); destination.setDisplayConsequenceType(origin.getDisplayConsequenceType()); destination.setConsequenceTypes(origin.getConsequenceTypes()); destination.setConservation(origin.getConservation()); destination.setGeneExpression(origin.getGeneExpression()); destination.setGeneTraitAssociation(origin.getGeneTraitAssociation()); destination.setGeneDrugInteraction(origin.getGeneDrugInteraction()); destination.setVariantTraitAssociation(origin.getVariantTraitAssociation()); destination.setFunctionalScore(origin.getFunctionalScore()); } }
.setChromosome(annotation.getChromosome()) .setStart(annotation.getStart()) .setReference(annotation.getReference()) .setAlternate(annotation.getAlternate()) .setId(annotation.getId());