{"action":"created","issue":{"url":"https://api.github.com/repos/lingfeiwang/findr-R/issues/5","repository_url":"https://api.github.com/repos/lingfeiwang/findr-R","labels_url":"https://api.github.com/repos/lingfeiwang/findr-R/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/lingfeiwang/findr-R/issues/5/comments","events_url":"https://api.github.com/repos/lingfeiwang/findr-R/issues/5/events","html_url":"https://github.com/lingfeiwang/findr-R/issues/5","id":293394703,"number":5,"title":"Error should be returned when `nodiag` is violated ","user":{"login":"sritchie73","id":1674387,"avatar_url":"https://avatars3.githubusercontent.com/u/1674387?v=4","gravatar_id":"","url":"https://api.github.com/users/sritchie73","html_url":"https://github.com/sritchie73","followers_url":"https://api.github.com/users/sritchie73/followers","following_url":"https://api.github.com/users/sritchie73/following{/other_user}","gists_url":"https://api.github.com/users/sritchie73/gists{/gist_id}","starred_url":"https://api.github.com/users/sritchie73/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sritchie73/subscriptions","organizations_url":"https://api.github.com/users/sritchie73/orgs","repos_url":"https://api.github.com/users/sritchie73/repos","events_url":"https://api.github.com/users/sritchie73/events{/privacy}","received_events_url":"https://api.github.com/users/sritchie73/received_events","type":"User","site_admin":false},"labels":[{"id":366212112,"url":"https://api.github.com/repos/lingfeiwang/findr-R/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-01T03:49:20Z","updated_at":"2018-02-02T11:16:01Z","closed_at":null,"author_association":"NONE","body":"Another problem I came across while investigating #4 :\r\n\r\nIf genes are tested against themselves in `findr.pij_cassist`, findr will run without warnings or errors, but the posterior probabilities returned for *other pairs of tested genes* are sometimes dramatically different (e.g. if run correctly A -> B might be 0.01, while if run where A -> A is tested elsewhere A -> B could be 0.8, or vice versa).\r\n\r\nScenarios where this can occur:\r\n\r\n - A user mistakenly does not set `nodiag=TRUE`.\r\n - A user mistakenly does not order `dt2` so that its top matrix is `dt` (i.e. self-tests are not on the diagonal).\r\n - Cases where there are perfectly correlated genes in the `dt` matrix.\r\n\r\nIdeally findr should detect input matrices where this assumption has been violated and throw an error.\r\n"},"comment":{"url":"https://api.github.com/repos/lingfeiwang/findr-R/issues/comments/362559449","html_url":"https://github.com/lingfeiwang/findr-R/issues/5#issuecomment-362559449","issue_url":"https://api.github.com/repos/lingfeiwang/findr-R/issues/5","id":362559449,"user":{"login":"lingfeiwang","id":18658723,"avatar_url":"https://avatars2.githubusercontent.com/u/18658723?v=4","gravatar_id":"","url":"https://api.github.com/users/lingfeiwang","html_url":"https://github.com/lingfeiwang","followers_url":"https://api.github.com/users/lingfeiwang/followers","following_url":"https://api.github.com/users/lingfeiwang/following{/other_user}","gists_url":"https://api.github.com/users/lingfeiwang/gists{/gist_id}","starred_url":"https://api.github.com/users/lingfeiwang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lingfeiwang/subscriptions","organizations_url":"https://api.github.com/users/lingfeiwang/orgs","repos_url":"https://api.github.com/users/lingfeiwang/repos","events_url":"https://api.github.com/users/lingfeiwang/events{/privacy}","received_events_url":"https://api.github.com/users/lingfeiwang/received_events","type":"User","site_admin":false},"created_at":"2018-02-02T11:16:01Z","updated_at":"2018-02-02T11:16:01Z","author_association":"OWNER","body":"That's definitely a good point. In fact, findr already tests it in the computation, using the 3rd point you mentioned. However, due to nearest rounding, it warns only some of the time. If you consider the time complexity of a separate sanity test, it is actually quite expensive by being the same with the whole computation. I just came up with an efficient test, so this function will be included in the next version. Thank you for suggesting."}}
{"actor":{"display_login":"lingfeiwang"}}