def parse(self, limit=None):
        """
        Override Source.parse()
        Args:
            :param limit (int, optional) limit the number of rows processed
        Returns:
            :return None
        """
        if limit is not None:
            LOG.info("Only parsing first %d rows", limit)

        phenotype_file = '/'.join(
            (self.rawdir, self.files['patient_phenotypes']['file']))
        variant_file = '/'.join((self.rawdir, self.files['patient_variants']['file']))

        phenotype_file_handler = open(phenotype_file, 'r')
        variant_file_handler = open(variant_file, 'r')

        self._parse_patient_phenotypes(phenotype_file_handler, limit)
        self._parse_patient_variants(variant_file_handler)

        return
Override Source.parse()
        Args:
            :param limit (int, optional) limit the number of rows processed
        Returns:
            :return None