EIGENSOFT is a comprehensive software package for population genetics analysis. Its core component, smartpca, conducts population structure inference and ancestral component analysis based on principal component analysis (PCA). This tool is capable of effectively detecting population stratification and outlier samples in the data, and is a preprocessing tool for correcting the influence of population structure in GWAS. EIGENSOFT also includes methods such as EIGENSTRAT for detecting population admixture and conducting ancestral tracing analysis.