public Table<String, String, List<String>> getRelationFromGeneAttributes() throws SqlJetException {
    ISqlJetCursor cursor = db.getTable(GENE_ATTRIBUTES_TABLE_NAME).open();
    Table<String, String, List<String>> table = HashBasedTable.create();
    if (!cursor.eof()) {
      do {
        String gname = Iterables.getOnlyElement(getStrings(cursor, GENE_NAME_COL_NAME).keys());
        Multimap<String, String> dname2field = getStrings(cursor, DISEASE_NAME_COL_NAMES);
        for (String dname : dname2field.keys()) {
          if (!table.contains(gname, dname)) {
            table.put(gname, dname, Lists.<String> newArrayList());
          }
          table.get(gname, dname).addAll(dname2field.get(dname));
        }
      } while (cursor.next());
    }
    return table;
  }