Variant calling is the process by which we identify variants (such as SNPs, insertions or deletions) from sequence data. This data, which is stored in a VCF file, can be used to annotate variants, if you are interested in the genetic and coding consequences of each mutation, and to associate variants to phenotypic traits, in order to know if a variant is significantly related to a characteristic. There are different algorithms specifically designed to achieve this goal:
BCFtools: this is a widely-used variant calling tool, especially among non-human species, which is characterized by its small time of execution and its precision.
Freebayes: this tool is characterized by its capability to use it with polyploid genomes.