Define the SNP inclusions (by RSID). This overrides true boundary \
            definition.

        :param snps: array of RSIDs
        :return: None

        This doesn't define RSID ranges, so it throws InvalidBoundarySpec if it
        encounters what appears to be a range (SNP contains a "-")

def LoadSNPs(self, snps=[]):
        """Define the SNP inclusions (by RSID). This overrides true boundary \
            definition.

        :param snps: array of RSIDs
        :return: None

        This doesn't define RSID ranges, so it throws InvalidBoundarySpec if it
        encounters what appears to be a range (SNP contains a "-")
        """

        for snp in snps:
            bounds = snp.split("-")
            if len(bounds) == 1:
                if bounds[0] != "":
                    self.target_rs.append(bounds[0])
            else:
                raise InvalidBoundarySpec(snp)