package org.nextprot.api.core.utils.peff;
import org.nextprot.api.commons.constants.AnnotationCategory;
import org.nextprot.api.core.domain.Isoform;
import org.nextprot.api.core.domain.annotation.Annotation;
import java.util.EnumSet;
/**
* A variation located on an isoform
*
* Created by fnikitin on 05/05/15.
*/
class IsoformVariationPeffFormatter extends IsoformAnnotationPeffFormatter {
public IsoformVariationPeffFormatter() {
super(EnumSet.of(AnnotationCategory.VARIANT), PeffKey.VARIANT);
}
@Override
public String asPeffValue(Isoform isoform, Annotation... annotations) {
StringBuilder sb = new StringBuilder();
for (Annotation annotation : annotations) {
if (support(annotation))
sb.append("(").append(annotation.getStartPositionForIsoform(isoform.getUniqueName()))
.append("|").append(annotation.getEndPositionForIsoform(isoform.getUniqueName())).append("|")
.append(annotation.getVariant().getVariant()).append(")");
}
return sb.toString();
}
}