Synbiota / GENtle2

GENtle2 - Web-Based DNA Editor for Synthetic Biology
https://synbiota.com
100 stars 37 forks source link

Clicking 'Create' on a product in the pcr product designer throws an exception #187

Closed alexandremeunier closed 9 years ago

alexandremeunier commented 9 years ago

Happens in the current state of feature/refactor

AJamesPhillips commented 9 years ago

Can't recreate. Could you provide sequence that it errored on please.

alexandremeunier commented 9 years ago

Try the following file https://gist.github.com/depha/97eb19a02993c0008e13

The log is the following (exception is thrown on click events on the create button)

Uncaught Error: A "url" property or function must be specified
urlError @ backbone.js:1594
_.extend.url @ backbone.js:537
_.result @ underscore.js:1370
Backbone.sync @ backbone.js:1146
Backbone.sync @ backbone.localStorage.js:254
_.extend.sync @ backbone.js:286
_.extend.save @ backbone.js:493
_.extend.create @ backbone.js:886
(anonymous function) @ gentle.js:36
_.map._.collect @ underscore.js:172
addSequencesAndNavigate @ gentle.js:35
openPcrProduct @ pcr_list_view.js:76
jQuery.event.dispatch @ jquery.js:4435
jQuery.event.add.elemData.handle @ jquery.js:4121
AJamesPhillips commented 9 years ago

I'm getting a different error:

"TypeError: Cannot read property 'toLowerCase' of undefined
    at http://localhost:8081/scripts/app.min.js:37674:34
    at Function._.each._.forEach (http://localhost:8081/scripts/app.min.js:30949:9)
    at http://localhost:8081/scripts/app.min.js:37668:13
    at Function._.each._.forEach (http://localhost:8081/scripts/app.min.js:30949:9)
    at PlasmidMapCanvas.processFeatures (http://localhost:8081/scripts/app.min.js:37667:11)
    at PlasmidMapCanvas.drawFeatures (http://localhost:8081/scripts/app.min.js:37629:42)
    at PlasmidMapCanvas.render (http://localhost:8081/scripts/app.min.js:37493:14)
    at _fulfilled (http://localhost:8081/scripts/app.min.js:29649:54)
    at Promise.then.Q.nextTick.self.promiseDispatch.done (http://localhost:8081/scripts/app.min.js:29678:30)
    at Promise.promise.promiseDispatch (http://localhost:8081/scripts/app.min.js:29611:13)"

It's due to the pcr product features not having a _type value.

AJamesPhillips commented 9 years ago

With fix to sybil parsing, this update sybil file works but I can't recreate error:

<sybil>
<session>
<circuit>
<general_description>dAn-Ori-x'

This part includes a DNA sequence that is optimized to bind to the surface of the magnetic beads, an origin of replication and an x' sticky end. 

The origin of replication part of a natural plasmid that also encodes for colicin E1 (the cea gene) and imm gene.

This is considered a "high copy" ori, as the plasmid copy number is generally around 200 per cell.

[Wikipedia: http://en.wikipedia.org/wiki/ColE1]</general_description>
<sticky-end position="start" offset="0" size="18" reverse="true">Anchor</sticky-end>
<sticky-end position="end" offset="0" size="4" reverse="true">x'</sticky-end>
<annotation rc="0" desc="" name="dAn-Ori-x'" type="misc" start="1" stop="1283"></annotation>
<sequence type="dna" name="Anchor &amp; Origin of Replication" circular="false">TTTTTTTTTTTTTTTTTTAGGTGACGTCGGACTCTTGAGACCCAGAAATCATCCTTAGCGAAAGCTAAGGATTTTTTTTATCTGAAATTCTGCCTCGTGATACGCCTATTTTTACTGCATGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGACCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGCTCGAGGCTTGGATTCTCACCAATAAAAAACGCCCGGCGGCAACCGAGCGTTCTGAACAAATCCAGATGGAGTTCTCGAGTGCCACTTGACGTCTAAGAAACCAGACGTCTAAGAAACCAGAATTCTCATGACATTAACATGCAGAACGCGAAGTAATCTTTTCGGTTTTAAAGAAAAAGGGCAGGGTGGTGACACCTTGCCCGTTTTTTTGCCGGAGGTCTCAAGAG</sequence>
<metadata><pcr><products><product><id>1432118503532-1a05f</id><read-only></read-only><is-circular></is-circular><history></history><sticky-end-format>overhang</sticky-end-format><display-settings><rows><numbering>true</numbering><features>true</features><complements>true</complements><aa>none</aa><aa-offset>0</aa-offset><res><display>true</display><manual><manual-item>BsaI</manual-item><manual-item>NotI</manual-item></manual><lengths><length>4</length><length>5</length><length>6</length><length>7</length></lengths><hide-non-palindromic-sticky-end-sites></hide-non-palindromic-sticky-end-sites><custom><custom-item>BsaI</custom-item><custom-item>NotI</custom-item><custom-item>HindIII</custom-item></custom></res><has-gutters></has-gutters></rows><sticky-end-format>overhang</sticky-end-format></display-settings><name>aaaa</name><from>0</from><to>1282</to><sequence>CCTGCAGTCAGTGGTCTCTAGAGTTTTTTTTTTTTTTTTTTAGGTGACGTCGGACTCTTGAGACCCAGAAATCATCCTTAGCGAAAGCTAAGGATTTTTTTTATCTGAAATTCTGCCTCGTGATACGCCTATTTTTACTGCATGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGACCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGCTCGAGGCTTGGATTCTCACCAATAAAAAACGCCCGGCGGCAACCGAGCGTTCTGAACAAATCCAGATGGAGTTCTCGAGTGCCACTTGACGTCTAAGAAACCAGACGTCTAAGAAACCAGAATTCTCATGACATTAACATGCAGAACGCGAAGTAATCTTTTCGGTTTTAAAGAAAAAGGGCAGGGTGGTGACACCTTGCCCGTTTTTTTGCCGGAGGTCTCAAGAGGAGATGAGACCGTCAGTCACGAG</sequence><forward-annealing-region><sequence>TTTTTTTTTTTTTTTTTTAGGTGACGTCGG</sequence><from>23</from><to>52</to><melting-temperature>64.1</melting-temperature><gc-content>0.26666666666666666</gc-content><id>1432118503529-179b8</id><name>Sequence 1432118503529-179b8</name><antisense></antisense><our-melting-temperature>62.28276794584718</our-melting-temperature><optimal></optimal></forward-annealing-region><reverse-annealing-region><sequence>CTCTTGAGACCTCCGGCAAAAAAACG</sequence><from>1305</from><to>1279</to><melting-temperature>67.4</melting-temperature><gc-content>0.5</gc-content><id>1432118502269-1d240</id><name>Sequence 1432118502269-1d240</name><antisense></antisense><our-melting-temperature>68.05217360098891</our-melting-temperature><optimal></optimal></reverse-annealing-region><forward-primer><name>Forward primer</name><sequence>CCTGCAGTCAGTGGTCTCTAGAGTTTTTTTTTTTTTTTTTTAGGTGACGTCGG</sequence><from>0</from><to>52</to><id>1432118503532-1f21b</id><gc-content>0.39622641509433965</gc-content></forward-primer><reverse-primer><name>Reverse primer</name><sequence>CTCGTGACTGACGGTCTCATCTCCTCTTGAGACCTCCGGCAAAAAAACG</sequence><from>1328</from><to>1279</to><id>1432118503532-17d2e</id><gc-content>0.5306122448979592</gc-content></reverse-primer><sticky-ends><start><sequence>CCTGCAGTCAGTGGTCTCTAGAG</sequence><reverse></reverse><offset>19</offset><size>4</size><name>X</name></start><end><sequence>GAGATGAGACCGTCAGTCACGAG</sequence><reverse>true</reverse><offset>19</offset><size>4</size><name>Z'</name></end><name>X-Z'</name></sticky-ends><melting-temperature>89.72957123835425</melting-temperature><features><feature><name>X end</name><underscore-type>sticky_end</underscore-type><ranges><range><from>0</from><to>22</to></range></ranges></feature><feature><name>Forward primer</name><underscore-type>primer</underscore-type><ranges><range><from>0</from><to>52</to></range></ranges></feature><feature><name>Annealing region</name><underscore-type>annealing_region</underscore-type><ranges><range><from>23</from><to>52</to></range></ranges></feature><feature><name>Annealing region</name><underscore-type>annealing_region</underscore-type><ranges><range><from>1305</from><to>1279</to></range></ranges></feature><feature><name>Z' end</name><underscore-type>sticky_end</underscore-type><ranges><range><from>1328</from><to>1305</to></range></ranges></feature><feature><name>Reverse primer</name><underscore-type>primer</underscore-type><ranges><range><from>1328</from><to>1279</to></range></ranges></feature></features></product></products><defaults><target-melting-temperature>68.5</target-melting-temperature><return-nearest-if-not-best>true</return-nearest-if-not-best><find-from3-prime-end></find-from3-prime-end><allow-shift></allow-shift><max-poly-n>3</max-poly-n><min-primer-length>20</min-primer-length><max-primer-length>30</max-primer-length><max-search-space>30</max-search-space><target-gc-content>0.5</target-gc-content><target-gc-content-tolerance>0.1</target-gc-content-tolerance><melting-temperature-tolerance>1.5</melting-temperature-tolerance><use-idt>true</use-idt><id-tmelting-temperature-proximity>0.5</id-tmelting-temperature-proximity></defaults></pcr></metadata></circuit>
</session>
</sybil>
AJamesPhillips commented 9 years ago

Can't recreate. Moving closing for the moment.