This virtual class should be subclassed by all classes that include chromosomal position of the genes (along with subclassing pgVirtual). The class itself is an empty shell that only takes care of dispatching and checking the promises of subclasses are held.
Subclasses of pgVirtualLoc must implement the following methods:
Return a data.frame with a row for each gene, describing the chromosomal position of the gene. The data.frame must contain the columns 'contig', 'start', 'end' and 'strand'. Contig is self-explanatory, start and end is the respective start and end positions on the contig (start must be lower than end) and strand defines the coding direction as -1 or 1.