Source: https://academic.oup.com/bioinformaticsadvances/article-pdf/3/1/vbad108/51224716/vbad108.pdf