phetsims / gene-expression-essentials

An educational simulation about how genes work to create proteins.
GNU General Public License v3.0
4 stars 6 forks source link

Polymerase stuck in regulatory region #100

Closed CWilson4960 closed 6 years ago

CWilson4960 commented 6 years ago

Test device: MacBook Pro

Operating System: Mac OS Sierra 10.12.6 phetsims/QA/issues/58 Browser: Chrome

Problem description: When in the mRNA screen, the polymerase can get stuck on the the DNA chain near the positive transcription factor, and not move forward to release an mRNA strand (black thing). It then can only be moved by decreasing the polymerase affinity until it moves away.

Steps to reproduce:

  1. Go to mRNA screen,
  2. Increase concentration of the Positive Transcription Factor, wait until one bonds to the regulatory region
  3. Decrease Affinity to somewhere in the middle of Low and High, closer to low, until the Polymerase are attracted and "latch on" temporarily but do not end up producing mRNA strands
  4. Quickly increase the affinity to High, and the polymerase shouldn't move, ie get stuck.

screenshots: geneexpression10mb

URL: https://www.colorado.edu/physics/phet/dev/html/gene-expression-essentials/1.0.0-dev.13/gene-expression-essentials_en.html Version: 1.0.0-dev.13 2017-10-25 21:56:59 UTC Features missing: touch User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36 Language: en-US Window: 1035x586 Pixel Ratio: 1/1 WebGL: WebGL 1.0 (OpenGL ES 2.0 Chromium) GLSL: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium) Vendor: WebKit (WebKit WebGL) Vertex: attribs: 16 varying: 15 uniform: 1024 Texture: size: 16384 imageUnits: 16 (vertex: 16, combined: 80) Max viewport: 16384x16384 OES_texture_float: true Dependencies JSON: {"assert":{"sha":"928741cf","branch":"master"},"axon":{"sha":"80b60293","branch":"master"},"babel":{"sha":"ce29f350","branch":"master"},"brand":{"sha":"cfca902d","branch":"master"},"chipper":{"sha":"6b338220","branch":"master"},"dot":{"sha":"85ef2bbf","branch":"master"},"gene-expression-essentials":{"sha":"a8b7efc7","branch":"master"},"joist":{"sha":"eb3a1951","branch":"master"},"kite":{"sha":"2c921cba","branch":"master"},"phet-core":{"sha":"c30d15ed","branch":"master"},"phetcommon":{"sha":"b13138d2","branch":"master"},"query-string-machine":{"sha":"c74e454e","branch":"master"},"scenery":{"sha":"92a2872d","branch":"master"},"scenery-phet":{"sha":"d394b9df","branch":"master"},"sherpa":{"sha":"0d590744","branch":"master"},"sun":{"sha":"99a0abef","branch":"master"},"tandem":{"sha":"c1e98f69","branch":"master"}}

phet-steele commented 6 years ago

That's why this is familiar! Seems similar to https://github.com/phetsims/gene-expression-essentials/issues/39#issuecomment-319473459.

CWilson4960 commented 6 years ago

It does! Although in this case there are only positive transcription factors.

jbphet commented 6 years ago

Good catch @CWilson4960. This was happening because the decision about whether or not to transcribe is made when the polymerase first attaches, but the decision about when to detach is made later. If the affinity is increased in the interim, the polymerase can end up attached forever but not transcribing. I've added code to reevaluate the decision about whether to transcribe if the polymerase finds itself attached for a while.

jbphet commented 6 years ago

Unassigning, will have this tested in a dev or RC version.

ghost commented 6 years ago

Tested on several devices/browsers. Seems to be fixed.