Direct Coupling Analysis (DCA) is a statistical inference framework used to infer direct co-evolutionary couplings among residue pairs in multiple sequence alignments. (http://dca.rice.edu/portal/dca/). The version was reimplemented in python.
if you are more interested in coevolution methods, see more information at (https://arxiv.org/abs/1906.02598) some code you might be interested in.
GREMLIN implementation(Makrov random Field/ Potts model/ Self-supervision model):
C++ https://github.com/sokrypton/GREMLIN_CPP
Python/Tensorflow https://github.com/sokrypton/GREMLIN_CPP/blob/master/GREMLIN_TF.ipynb
Pytorch https://github.com/whbpt/GREMLIN_PYTORCH
MATLAB https://github.com/sokrypton/GREMLIN
CUDA https://github.com/soedinglab/CCMpred
F Morcos, A Pagnani, B Lunt, A Bertolino, DS Marks, C Sander,
R Zecchina, JN Onuchic, T Hwa, M Weigt (2011), Direct-coupling
analysis of residue co-evolution captures native contacts across
many protein families, Proc. Natl. Acad. Sci. 108:E1293-1301.l