Building a report of DNA sites and chunks
nbchunks = nbsites/nbsitesPerChunk
if nbchunks%1 != 0:
    print("\n\nThe number of sites per chunk for WCFst is not a divisor of the number of sites per locus.\nProcess is aborted!\n\n")
    sys.exit(1)
nbchunks = int(nbchunks)


This chunk of code is not good because:

nbchunks = nbsites / nbsitesPerChunk


In python-2 is already int for sure, in Python-3 you can write:

nbchunks = nbsites // nbsitesPerChunk


and it will be int for sure, so you can remove 

nbchunks = int(nbchunks)


to avoid clutter.



The line:

if nbchunks%1 != 0



(minor) should be spaced like if nbchunks % 1 != 0
(SERIOUS) is always false as the remainder between a natural number and one is always zero! 




Also the error message:

print("\n\nThe number of sites per chunk for WCFst is not a divisor of the number of sites per locus.\nProcess is aborted!\n\n")


is not connected to the if statement...



Exiting explicit like sys.exit(1) should be avoided, you should instead:

raise AdequateException(message)