public double Calculate(Chain chain, Link link)
{
DnaProcessor.CheckDnaAlphabet(chain.Alphabet);
var g = remotenessCalculator.Calculate(chain.GetOrCreateCongenericChain(new ValueString("G")), link);
var c = remotenessCalculator.Calculate(chain.GetOrCreateCongenericChain(new ValueString("C")), link);
var a = remotenessCalculator.Calculate(chain.GetOrCreateCongenericChain(new ValueString("A")), link);
var t = remotenessCalculator.Calculate(chain.GetOrCreateCongenericChain(new ValueString("T")), link);
var l = remotenessCalculator.Calculate(chain, link);
var result = ((c + a) - (g + t)) / l;
return result;
}