# API to determine bar codes in use?

**URL:** https://forum.eternagame.org/t/api-to-determine-bar-codes-in-use/2205
**Category:** Tools
**Created:** [November 3, 2014, 11:42pm UTC](https://forum.eternagame.org/t/api-to-determine-bar-codes-in-use/2205 "2014-11-03T23:42:00Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![jandersonlee](https://forum.eternagame.org/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@jandersonlee](https://forum.eternagame.org/u/jandersonlee)
#### Post date: [November 3, 2014, 11:42pm UTC](https://forum.eternagame.org/t/api-to-determine-bar-codes-in-use/2205/1 "2014-11-03T23:42:00Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![nando](https://forum.eternagame.org/user_avatar/forum.eternagame.org/nando/32/2220_2.png) [@nando](https://forum.eternagame.org/u/nando)
#### Post date: [November 4, 2014, 8:41am UTC](https://forum.eternagame.org/t/api-to-determine-bar-codes-in-use/2205/2 "2014-11-04T08:41:00Z")

</div>

The (only) method I know of

[http://eterna.cmu.edu](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.

---

<div class="post-metadata">

### Author: ![jandersonlee](https://forum.eternagame.org/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@jandersonlee](https://forum.eternagame.org/u/jandersonlee)
#### Post date: [November 4, 2014, 6:57pm UTC](https://forum.eternagame.org/t/api-to-determine-bar-codes-in-use/2205/3 "2014-11-04T18:57:00Z")

</div>

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?

---

<div class="post-metadata">

### Author: ![nando](https://forum.eternagame.org/user_avatar/forum.eternagame.org/nando/32/2220_2.png) [@nando](https://forum.eternagame.org/u/nando)
#### Post date: [November 4, 2014, 8:39pm UTC](https://forum.eternagame.org/t/api-to-determine-bar-codes-in-use/2205/5 "2014-11-04T20:39:00Z")

</div>

[http://eterna.cmu.edu](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.

---

<div class="post-metadata">

### Author: ![jandersonlee](https://forum.eternagame.org/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@jandersonlee](https://forum.eternagame.org/u/jandersonlee)
#### Post date: [November 4, 2014, 9:14pm UTC](https://forum.eternagame.org/t/api-to-determine-bar-codes-in-use/2205/7 "2014-11-04T21:14:00Z")

</div>

Cool! Thanks Nando.

---

<div class="post-metadata">

### Author: ![jnicol](https://forum.eternagame.org/letter_avatar_proxy/v4/letter/j/73ab20/32.png) [@jnicol](https://forum.eternagame.org/u/jnicol)
#### Post date: [November 4, 2014, 11:31pm UTC](https://forum.eternagame.org/t/api-to-determine-bar-codes-in-use/2205/8 "2014-11-04T23:31:00Z")

</div>

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
