I had previously used Excel for this, but want to create something, perhaps in Ruby, that can do this for me.
I have a list of 169 16-character-long alphanumeric values. They serve as unique identifiers of persons with whom I am sharing genomes on 23andMe. I use a Chrome extension, 529andYou, which can take the data generated by the 23andMe tool and triangulate it. However, this can take some time and so I slapped together a 'tool' in Excel.
Old Methodology, roughly
- Scraped 169 user IDs from 23andMe list of connected family members
- Put cleaned up data in Excel, in one long list
- Split list of 169 values down into 5 (B-F) columns, each with ~33 values
- Inserted formula
=A1
into cells A2 through A34 (so that area will always reflect the current focused-upon user ID in A1 - Put into G2 this formula:
=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
- Dragged down that cell so that the other relevant cells in Column F had that formula
- Copied the generated URLs into a batch URL opener in Chrome.
Note that the old method:
- Had no affordances for names;
- requires me to re-do the columns when more values are added; and
- will create one URL out of every batch that has the focused-upon ID as a compared-to ID, which will cause an error.
Proposed Methodology
Use Ruby, including the Shoes package, to create a small program that can load and edit a CSV file with the first and last names of the users as well as their numeric IDs.
Functions include: - loading a CSV file with extant data (easy, know how to do) - adding a name/ID pair to the CSV file (easy, know how to do) - combining and appending to the IDs such that each of the IDs is compared to every other ID aside from itself, in batches of 5.
Note that the 23andMe tool allows for an ID to be compared to less than 5 other IDs, so there is no issue for the remainder.