code: def parse_grasp_gwas(fn):
      
      df = pd.read_table(fn, low_memory=False)
      df = df[df.Pvalue < 1e-5]
      df = df.sort(columns=['chr(hg19)', 'pos(hg19)', 'Pvalue'])
      df = df.drop_duplicates(subset=['chr(hg19)', 'pos(hg19)'])
      df = df[df.Pvalue < 1e-5]
      df['chrom'] = 'chr' + df['chr(hg19)'].astype(str)
      df['end'] = df['pos(hg19)']
      df['start'] = df.end - 1
      df['rsid'] = df['SNPid(in paper)']
      df['pvalue'] = df['Pvalue']
      df = df[['chrom', 'start', 'end', 'rsid', 'pvalue']]
      df.index = df['chrom'].astype(str) + ':' + df['end'].astype(str)
      return df
docs: Read GRASP database and filter for unique hits.
      
      Parameters
      ----------
      fn : str
          Path to (subset of) GRASP database.
      
      Returns
      -------
      df : pandas.DataFrame
          Pandas dataframe with de-duplicated, significant SNPs. The index is of
          the form chrom:pos where pos is the one-based position of the SNP. The
          columns are chrom, start, end, rsid, and pvalue. rsid may be empty or
          not actually an RSID. chrom, start, end make a zero-based bed file with
          the SNP coordinates.