API to determine bar codes in use?

  • 1
  • Question
  • Updated 5 years ago
  • Answered
Is there an API to determine the bar codes that are in use in the current lab, or only one to test a given bar code? I'm guessing there must be at least a testing interface since the lab tool can tell is a bar code is unique or not. For a batch tool it would be good to be able to download the reserved bar codes at the start of a run and then try to avoid generating duplicates.

Thanks.
Photo of jandersonlee

jandersonlee

  • 555 Posts
  • 130 Reply Likes

Posted 5 years ago

  • 1
Photo of nando

nando, Player Developer

  • 388 Posts
  • 71 Reply Likes
The (only) method I know of

http://eterna.cmu.edu /get/?type=puzzle&nid=XXXXXX

where XXXXXX is the id of any (current? old? not sure) lab puzzle. The data contains a 'hairpins' field, which is an array of all currently taken barcodes.
Photo of jandersonlee

jandersonlee

  • 555 Posts
  • 130 Reply Likes
A good start, which begs the question: so how do you determine all the NIDS for the current lab round?

Also, I notice it only records one half or the hairpin data for the barcode. Does the system not distinguish UA and UG or GU and GC when reading/comparing the barcodes?
Photo of nando

nando, Player Developer

  • 388 Posts
  • 71 Reply Likes
http://eterna.cmu.edu /get/?type=active_projects&skip=0&size=21

seems to have a list of puzzle IDs...

And yes, barcodes are only the 7 bases on the 3' side. Which means that while there are 6^7 = 279936 possible stems, there are only 4^7 = 16384 barcodes, and some barcodes composed of only Cs and As have only one corresponding stem, while other barcodes (with Gs and Us) can derive from multiple stems.
Photo of jandersonlee

jandersonlee

  • 555 Posts
  • 130 Reply Likes
Cool! Thanks Nando.
Photo of jnicol

jnicol, Player developer

  • 57 Posts
  • 21 Reply Likes
Nando is correct with the get call. Any nid can be used for a round. The data returned will contain all the hairpins from that round. Below is a sample from the current round 23 where 240 designs have been submitted. I used one puzzle nid to return all hairpins. You are correct that a G will rule out GC and GU, since just the one side is used to determine uniqueness.

"nid":"5253733","hairpins":["GGCGGCC","GACAUAC","GCGGCGC","GACUUUC","GAUACAC","GAGACAC","GACACAG","GUAACAG","GUAGCAU","GAGAGAG","GAUUGAG","GAUAGUG","UAUAUAC","UAUGUAC","CAUGUAC","UAUAUAG","UAUGUAG","UAUCUAG","AUAUAUC","AUCUAUC","AUGUAUC","UACGUAG","UACCUAG","UAGCUAG","GGAAUGG","GGUCUGG","GUCAGUC","GUGUGUC","GUGGUUC","GAUCUGG","GGUGUAG","GCUACGG","GAUAUGC","GAUGUGC","GACGUGC","GUGUAGC","GAUGUAC","CCGGAUG","GUUACAC","GUGACAC","GUGUGAC","GUUAGAC","GUGUCAC","GUGACUC","GUAUCGC","GUGCUAC","GAGCUAC","GUGGUAC","GUGUACC","GUCUACC","GUCUAGC","GAGUAGC","GACUAGC","GACUACC","GAGUACC","GACCUAC","GACGUAC","GUACAUG","UAUAUUG","CAGUCGG","AAUAUAC","AAUGUAC","AUAAUUG","GAGUUUG","AUAAUAG","CAUGGUG","GAGUUAG","GUACUAC","GACGCUC","GUUAUGC","UCUGUCU","GACUAGG","CCUGAUG","GAUCGUC","GAUUGUC","UGACAGU","GUGGGAC","GUAUAGC","CUACCUG","GGACACC","GGACGCC","GCUCACC","GCGCGGC","GCGUGGC","GCGAGGC","CAGAUAC","GUCUAUC","GUUAUUG","GAUUUAC","GUCUUAC","GUAUAGG","UAUAUGC","UACGUGC","CGCGGGC","UAUAUCC","CGUGUCC","CGUGCCC","GAUUCAC","GUCCUGG","GGACUGG","GACCUGG","AAUCGGC","GGUGCGG","AUAUAUG","GGUGUGG","GCUCUGG","GAUAUAC","GUAGAUG","GCUGAUG","CGUAUCG","CGUGAUG","CGACAGG","CGUAUGC","CGUAUGG","CGAAUGC","GCUAUCG","GCUAUGG","GCAAUCG","GAGUGGC","GUGUGUG","CCUAUGC","CGUAUCC","CCUAUGG","UUUAAUG","CUUAAGG","CCUGAGG","GCAUGUC","GCAUCUC","GCAUCAC","CGUACAC","CGAUCAC","CGUUCAC","GCUACGC","GCAUCGC","CGAUCGC","GCUACAC","CGUACGC","GCUACUC","CUGUCGC","GCACUGG","GUGAAGG","GACCUGC","GCGGGCC","GCGGCCC","GCGCCUC","GCCCGCC","GCCGGCC","GCGGCCG","GGAGGGC","GGAGGUC","GUAGGUC","GUAAUUC","GUAAUAC","GUAAAAC","GGCCGCG","GGCGCGG","GUCGUGG","GUCGCUG","GGUCUCG","GGUCGCG","GCACACC","GCACGCC","GAACGCC","CGCCGCC","CACCGCC","CCCGGCC","GCUUCAC","GCUUGAC","GCAUAUC","GCAUUAC","AAAAAAA","GCGCGGG","GAGGUAG","GCUCAUG","GCCAUGC","GCCGCGC","UUUGGGC","CAUGGGC","CGCGCGC","GUCCGGC","GGCUGCG","GCUCCCG","CGCACUC","AGGAUGG","CGCAGGC","GAGUGUG","CCUCCUG","GGCCGUC","GCGAUGC","UUUAUUC","CGCGCCC","GGCUCCC","GUGGAUC","GUGUACG","GUGCAUC","UACGAGC","GAGCAUC","GUCACUG","GGCGGAG","GCGUACC","AGCUGCC","GGUACUU","GCUACUU","AUGUGUG","ACGUCGG","CAGCUAG","UCCCAUG","GAUCGCU","ACUGGUG","UCCCAGG","GGACUCG","GGACUCC","GCCCGUG","GCACUAC","GAUCUGC","GUAGAGC","GGCGACC","GACAUGG","GUCGUCC","GUCUUCC","CGUGUCG","CUUGUGC","GCUCCCU","CUAGAGC","CUGGUGC","CUGGAGC","AUCCGCU","UCACCAG","GGUGCCG","CCAGUUC","AUUGCUC","GGACGCG","UUGCGCG","CCCUACU","GACUACG","CAGGUCG","GUCAUGC","GAGUUGC","GUGUUGC","GGAGCCC"],"cloud_round":23