1

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. The interface for the IBD comparison tool---what I *don't* wish to use.

My current solution


Old Methodology, roughly

  1. Scraped 169 user IDs from 23andMe list of connected family members
  2. Put cleaned up data in Excel, in one long list
  3. Split list of 169 values down into 5 (B-F) columns, each with ~33 values
  4. Inserted formula =A1 into cells A2 through A34 (so that area will always reflect the current focused-upon user ID in A1
  5. 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
  6. Dragged down that cell so that the other relevant cells in Column F had that formula
  7. 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.

Community
  • 1
  • 1
Phil Hobrla
  • 115
  • 8
  • 2
    can you show us, 1. given this input 2. with this formula 3. should produce this desired output. I'm not understanding the domain-specificness here. – Anthony Sep 20 '15 at 13:43
  • @Anthony could you rephrase? Sorry! Do you want a step list or pseudocode or a flowchart? – Phil Hobrla Sep 20 '15 at 13:45
  • 1
    Sure, can you give us some [fake] data and show us after going through XYZ steps, produces Y result – Anthony Sep 20 '15 at 14:01
  • @Anthony, I added the steps of my previous method in more detail and then added the basics of what I'm looking for. – Phil Hobrla Sep 20 '15 at 14:30
  • 3
    Do you want us to solve your complete problem? Good luck with that. Normally, on stackoverflow, you do the programming yourself, and ask for example one question about a problem in 'Shoes', and then maybe another question about csv-parsing,... – Meier Sep 20 '15 at 19:36
  • Sorry, I was being verbose in my initial post. No, the main thing I'm looking to do is figure out how the combination of ID values will work. – Phil Hobrla Sep 20 '15 at 22:57

0 Answers0