{"action":"reopened","issue":{"url":"https://api.github.com/repos/kroneckerbio/kroneckerbio/issues/62","labels_url":"https://api.github.com/repos/kroneckerbio/kroneckerbio/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/kroneckerbio/kroneckerbio/issues/62/comments","events_url":"https://api.github.com/repos/kroneckerbio/kroneckerbio/issues/62/events","html_url":"https://github.com/kroneckerbio/kroneckerbio/issues/62","id":110330733,"number":62,"title":"Remove regexes in AddOutput in massaction models","user":{"login":"xpspectre","id":4530441,"avatar_url":"https://avatars.githubusercontent.com/u/4530441?v=3","gravatar_id":"","url":"https://api.github.com/users/xpspectre","html_url":"https://github.com/xpspectre","followers_url":"https://api.github.com/users/xpspectre/followers","following_url":"https://api.github.com/users/xpspectre/following{/other_user}","gists_url":"https://api.github.com/users/xpspectre/gists{/gist_id}","starred_url":"https://api.github.com/users/xpspectre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xpspectre/subscriptions","organizations_url":"https://api.github.com/users/xpspectre/orgs","repos_url":"https://api.github.com/users/xpspectre/repos","events_url":"https://api.github.com/users/xpspectre/events{/privacy}","received_events_url":"https://api.github.com/users/xpspectre/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kroneckerbio/kroneckerbio/labels/change","name":"change","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-10-07T22:25:05Z","updated_at":"2015-10-14T14:56:08Z","closed_at":null,"body":"and add additional flag or wrapper function to use regexes.\r\n\r\nRelated to issue #57. Right now, a big difference between analytic and massaction models is that analytic models accept arbitrary expressions for the output expression and massaction models accept regexes for the output expression. The rules for qualifying species with compartments and parsing the expression in analytic model reactions is resolved in issue #54. The unsuspecting user may *enter a literal species name* into `AddOutput` in a massaction model with species that are substrings of other species, *expect that single species*, and *get the sum of all species that share that substring*.\r\n\r\nIn addition to the flag/wrapper function, change `AddOutputMassActionAmount` to accept:\r\n1. Direct specification of the n x 2 cell array of {states, coefficients} (technically, this already works)\r\n2. Parsing an arbitrary expression that's enforced to be a linear combination of states, making sure it follows a valid form. This is like the analytic2massaction conversion code."}}