{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBiological.jl/issues/15","repository_url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBiological.jl","labels_url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBiological.jl/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBiological.jl/issues/15/comments","events_url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBiological.jl/issues/15/events","html_url":"https://github.com/JuliaDiffEq/DiffEqBiological.jl/pull/15","id":295510797,"number":15,"title":"Reaction Network Remake","user":{"login":"Gaussia","id":18099310,"avatar_url":"https://avatars2.githubusercontent.com/u/18099310?v=4","gravatar_id":"","url":"https://api.github.com/users/Gaussia","html_url":"https://github.com/Gaussia","followers_url":"https://api.github.com/users/Gaussia/followers","following_url":"https://api.github.com/users/Gaussia/following{/other_user}","gists_url":"https://api.github.com/users/Gaussia/gists{/gist_id}","starred_url":"https://api.github.com/users/Gaussia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gaussia/subscriptions","organizations_url":"https://api.github.com/users/Gaussia/orgs","repos_url":"https://api.github.com/users/Gaussia/repos","events_url":"https://api.github.com/users/Gaussia/events{/privacy}","received_events_url":"https://api.github.com/users/Gaussia/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":40,"created_at":"2018-02-08T13:25:42Z","updated_at":"2018-02-12T16:34:44Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBiological.jl/pulls/15","html_url":"https://github.com/JuliaDiffEq/DiffEqBiological.jl/pull/15","diff_url":"https://github.com/JuliaDiffEq/DiffEqBiological.jl/pull/15.diff","patch_url":"https://github.com/JuliaDiffEq/DiffEqBiological.jl/pull/15.patch"},"body":"Uploading an alternative DSL for reading reaction networks. Currently it does not replace anything of the old DSL, rather it is added in parallel to the package. The DiffEqBiological module will now also load file \"ReactionNetwork.jl\" (which contains all(ish) the new code). It will also export the macro @reaction_network_new.\r\n\r\nWe had some problem properly creating dispatch for Ode/SDE/Jump Problems. I don't think it ishard to fix (if one knows how) but for now there is just replacement functions called newODE/SDE/JumpProblem. These are located in the problem file.\r\n\r\nInitially I had a base macro for generating expressions and functions as I described. About the time I contacted you about having my own version I got @korsbo interested (he sits next to be at the department) and he have added some extra functionality to the final structure (like Jacobians and integrated support in his Latexify package). He also suggested a much better way to include parameters which was added. There were also a few more things I wanted to include that I figured would be independent of your feedback, so I figured we might as well wait with sending it over to you until we had something we were satisfied with. \r\n\r\nThe basic functionality of the DSL is pretty much like this:\r\n```julia\r\nrn = @reaction_network_new rType begin #Creates a reaction network of type rType.\r\n        2.0, X + Y --> XY            #This will have reaction rate corresponding to 2.0*[X][Y]\r\n        2.0, XY ← X + Y              #Identical to 2.0, X + Y --> XY\r\n        (2.0,1.0), X + Y ↔ XY     #Identical to reactions (2.0, X + Y --> XY) and (1.0, XY --> X + Y).\r\n        2.0, X + Y ⟾ XY            #Ignores mass kinetics. This will have reaction rate corresponding to 2.0*[X].\r\n        hill(XY,2,2,2), X + Y --> XY    #Reaction inis activated by XY according to a hill function. hill(x,v,K,N).\r\n        mm(XY,2,2), X + Y --> XY     #Reaction inis activated by XY according to a m.m. function. \r\n        2.0, (X,Y) --> 0                   #This corresponds to both X and Y degrading at rate 2.0.\r\n        (2.0, 1.0), (X,Y) --> 0          #This corresponds to X and Y degrading at rates 2.0 and 1.0, respectively.\r\n        2.0, (X1,Y1) --> (X2,Y2)      #X1 and Y1 becomes X2 and Y2, respectively, at rate 2.0.\r\n    end\r\n```\r\nCan also use parmaters:\r\n```julia\r\n    kB = 2.0; kD = 1.0\r\n    p = [kB, kD]\r\n    p = []\r\n    rn = @reaction_network_new type begin\r\n        (kB, kD), X + Y --> XY       #Lets you define parameters outside on network. Parameters can be changed without recalling the network.  \r\n    end kB, kD\r\n```\r\n(This is just fetched from a small documentation inside the main file)\r\n\r\nYou can decide if you think you can include this in you big package in some way. Either case I would always appreciate feedback :)\r\ncheers\r\nTorkel"},"comment":{"url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBiological.jl/issues/comments/364979993","html_url":"https://github.com/JuliaDiffEq/DiffEqBiological.jl/pull/15#issuecomment-364979993","issue_url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBiological.jl/issues/15","id":364979993,"user":{"login":"ChrisRackauckas","id":1814174,"avatar_url":"https://avatars2.githubusercontent.com/u/1814174?v=4","gravatar_id":"","url":"https://api.github.com/users/ChrisRackauckas","html_url":"https://github.com/ChrisRackauckas","followers_url":"https://api.github.com/users/ChrisRackauckas/followers","following_url":"https://api.github.com/users/ChrisRackauckas/following{/other_user}","gists_url":"https://api.github.com/users/ChrisRackauckas/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisRackauckas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisRackauckas/subscriptions","organizations_url":"https://api.github.com/users/ChrisRackauckas/orgs","repos_url":"https://api.github.com/users/ChrisRackauckas/repos","events_url":"https://api.github.com/users/ChrisRackauckas/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisRackauckas/received_events","type":"User","site_admin":false},"created_at":"2018-02-12T16:34:44Z","updated_at":"2018-02-12T16:34:44Z","author_association":"OWNER","body":"Getting very close. Remaining points:\r\n\r\n- [ ] The reaction deprecation is gone again. Please bring that back to make sure the transition is smooth!\r\n- [ ] Move the new documentation to the README\r\n- [ ] Remove `test_gillespie.jl` from the `runtests.jl` file.\r\n- [ ] Clean up `tmpMod` usage.\r\n- [ ] Find out what to do about variable rate reactions.\r\n\r\nThe docs are beautiful BTW."}}
{"actor":{"display_login":"ChrisRackauckas"}}