docs: def _read_generic_csv(file):
          """ Read and parse generic CSV file.
  
          Notes
          -----
          Assumes columns are 'rsid', 'chrom' / 'chromosome', 'pos' / 'position', and 'genotype';
          values are comma separated; unreported genotypes are indicated by '--'; and one header row
          precedes data. For example:
  
              rsid,chromosome,position,genotype
              rs1,1,1,AA
              rs2,1,2,CC
              rs3,1,3,--
  
          Parameters
          ----------
          file : str
              path to file
  
          Returns
          -------
          pandas.DataFrame
              individual's genetic data normalized for use with `lineage`
          str
              name of data source
          """
          df = pd.read_csv(
              file,
              skiprows=1,
              na_values="--",
              names=["rsid", "chrom", "pos", "genotype"],
              index_col=0,
              dtype={"chrom": object, "pos": np.int64},
          )
  
          return sort_snps(df), "generic"