我以前使用过 Excel,但想创建一些东西,也许在 Ruby 中,可以为我做这件事。
我有一个包含 169 个 16 个字符长的字母数字值的列表。它们是我在 23andMe 上与之共享基因组的人的唯一标识符。我使用 Chrome 扩展程序 529andYou,它可以获取 23andMe 工具生成的数据并对其进行三角测量。但是,这可能需要一些时间,所以我在 Excel 中拼凑了一个“工具”。
旧方法论,大致
- 从 23andMe 连接的家庭成员列表中抓取 169 个用户 ID
- 将清理后的数据放入 Excel 中,放在一个长列表中
- 将 169 个值的列表拆分为 5 (BF) 列,每列有约 33 个值
- 将公式插入
=A1
到单元格 A2 到 A34 中(这样该区域将始终反映 A1 中当前关注的用户 ID - 将这个公式代入 G2:
=https://www.23andme.com/you/labs/multi_ibd/table/?default_id_1="&A2&"&default_id_2="&B2&"&default_id_3="&C2&"&default_id_4="&D2&"&default_id_5="&E2&"&default_id_6="&F2
- 向下拖动该单元格,以便 F 列中的其他相关单元格具有该公式
- 将生成的 URL 复制到 Chrome 中的批处理 URL 打开器中。
请注意,旧方法:
- 没有名字的可供性;
- 添加更多值时要求我重新执行列;和
- 将从具有焦点 ID 作为比较 ID 的每个批次中创建一个 URL,这将导致错误。
建议的方法
使用 Ruby(包括 Shoes 包)创建一个小程序,该程序可以加载和编辑包含用户名和姓以及数字 ID 的 CSV 文件。
功能包括: - 使用现有数据加载 CSV 文件(简单,知道如何做) - 将名称/ID 对添加到 CSV 文件(简单,知道如何做) - 组合并附加到 ID,以便每个ID 将与除自身之外的所有其他 ID 进行比较,每批 5 个。
请注意,23andMe 工具允许将一个 ID 与少于 5 个其他 ID 进行比较,因此其余的没有问题。