{"action":"created","comment":{"url":"https://api.github.com/repos/broadinstitute/hail/pulls/comments/72461077","id":72461077,"diff_hunk":"@@ -0,0 +1,359 @@\n+package org.broadinstitute.hail.driver\n+\n+import java.io.{FileInputStream, IOException}\n+import java.util.Properties\n+\n+import org.apache.spark.storage.StorageLevel\n+import org.broadinstitute.hail.Utils._\n+import org.broadinstitute.hail.expr._\n+import org.json4s._\n+import org.json4s.jackson.JsonMethods._\n+import org.kohsuke.args4j.{Option => Args4jOption}\n+\n+import scala.collection.JavaConverters._\n+import scala.language.existentials\n+import scala.util.Random\n+\n+\n+object GroupTestSKATO extends Command {\n+\n+  class Options extends BaseOptions {\n+\n+    //Input parameters\n+    @Args4jOption(required = true, name = \"-k\", aliases = Array(\"--group-key\"),\n+      usage = \"annotation to be used as grouping variable (must be attribute of va)\")\n+    var groupKey: String = _\n+\n+    @Args4jOption(required = false, name = \"--splat\", usage = \"expand out --group-key that are lists, sets, or arrays\")\n+    var splat: Boolean = false\n+\n+    @Args4jOption(required = false, name = \"-q\", aliases = Array(\"--quantitative\"), usage = \"y is a quantitative phenotype\")\n+    var quantitative: Boolean = false\n+\n+    @Args4jOption(required = true, name = \"-y\", aliases = Array(\"--y\"), usage = \"Response sample annotation\")\n+    var ySA: String = _\n+\n+    @Args4jOption(required = false, name = \"-c\", aliases = Array(\"--covariates\"), usage = \"Covariate sample annotations, comma-separated\")\n+    var covSA: String = \"\"\n+\n+\n+    // Configuration options\n+    @Args4jOption(required = true, name = \"-o\", aliases = Array(\"--output\"), usage = \"path of output tsv\")\n+    var output: String = _\n+\n+    @Args4jOption(required = true, name = \"--config\", usage = \"SKAT-O configuration file\")\n+    var config: String = _\n+\n+    @Args4jOption(name = \"--block-size\", usage = \"# of Groups per SKAT-O invocation\")\n+    var blockSize = 1000\n+\n+    @Args4jOption(required = false, name = \"--seed\", usage = \"number to set random seed to [default=1]\")\n+    var seed: Int = 1\n+\n+    @Args4jOption(required = false, name = \"--random-seed\", usage = \"use a random seed\")\n+    var randomize: Boolean = false\n+\n+    @Args4jOption(required = false, name = \"-d\", usage = \"seperator to use when outputting group keys with more than one item in tsv file\")\n+    var groupNameSep: String = \",\"\n+\n+\n+    //SKAT_Null_Model options\n+    @Args4jOption(required = false, name = \"--n-resampling\",\n+      usage = \"Number of times to resample residuals\")\n+    var nResampling: Int = 0\n+\n+    @Args4jOption(required = false, name = \"--type-resampling\",\n+      usage = \"Resampling method. One of [bootstrap, bootstrap.fast]\")\n+    var typeResampling: String = \"bootstrap\"\n+\n+    @Args4jOption(required = false, name = \"--no-adjustment\",\n+      usage = \"No adjustment for small sample sizes\")\n+    var noAdjustment: Boolean = false\n+\n+\n+    //SKAT options\n+    @Args4jOption(required = false, name = \"--kernel\",\n+      usage = \"SKAT-O kernel type. One of [linear, linear.weighted, IBS, IBS.weighted, quadratic, 2wayIX]\")\n+    var kernel: String = \"linear.weighted\"\n+\n+    @Args4jOption(required = false, name = \"--method\",\n+      usage = \"Method for calculating p-values. One of [davies, liu, liu.mod, optimal.adj, optimal]\")\n+    var method: String = \"davies\"\n+\n+    @Args4jOption(required = false, name = \"--weights-beta\",\n+      usage = \"Comma-separated parameters for beta function for calculating weights. Default is 1,25\")\n+    var weightsBeta: String = \"1,25\"\n+\n+    @Args4jOption(required = false, name = \"--impute-method\",\n+      usage = \"Method for imputing missing genotypes. One of [fixed, random, bestguess]\")\n+    var imputeMethod: String = \"fixed\"\n+\n+    @Args4jOption(required = false, name = \"--r-corr\",\n+      usage = \"The rho parameter for the unified test. rho=0 is SKAT only. rho=1 is Burden only. Can also be multiple comma-separated values\")\n+    var rCorr: String = \"0.0\"\n+\n+    @Args4jOption(required = false, name = \"--missing-cutoff\",\n+      usage = \"Missing rate cutoff for variant inclusion\")\n+    var missingCutoff: Double = 0.15\n+\n+    @Args4jOption(required = false, name = \"--estimate-maf\",\n+      usage = \"Method for estimating MAF. 1 = use all samples to estimate MAF. 2 = use samples with non-missing phenotypes and covariates\")\n+    var estimateMAF: Int = 1\n+\n+  }\n+\n+  def newOptions = new Options\n+\n+  def name = \"grouptest skato\"\n+\n+  def description = \"Run SKAT-O on groups specified by a variant annotation\"\n+\n+  def supportsMultiallelic = false\n+\n+  def requiresVDS = true\n+\n+  val skatoElementSignature = TStruct(\n+    \"groupName\" -> TInt,\n+    \"pValue\" -> TDouble,\n+    \"pValueNoAdj\" -> TDouble,\n+    \"nMarker\" -> TInt,\n+    \"nMarkerTest\" -> TInt\n+  )\n+\n+  val skatoSignature = TArray(skatoElementSignature)\n+\n+  val header = \"groupName\\tpValue\\tpValueNoAdj\\tnMarker\\tnMarkerTest\"\n+\n+  def run(state: State, options: Options): State = {\n+    val vds = state.vds\n+    val sampleIds = vds.sampleIds\n+\n+    val properties = try {\n+      val p = new Properties()\n+      val is = new FileInputStream(options.config)\n+      p.load(is)\n+      is.close()\n+      p\n+    } catch {\n+      case e: IOException =>\n+        fatal(s\"could not open file: ${e.getMessage}\")\n+    }\n+\n+    val yType = if (options.quantitative) \"C\" else \"D\"\n+    val nResampling = options.nResampling\n+    val typeResampling = options.typeResampling\n+    val adjustment = !options.noAdjustment\n+    val kernel = options.kernel\n+    val method = options.method\n+    val weightsBeta = options.weightsBeta\n+    val imputeMethod = options.imputeMethod\n+    val rCorr = options.rCorr\n+    val missingCutoff = options.missingCutoff\n+    val estimateMAF = options.estimateMAF\n+    val quantitative = options.quantitative\n+    val splat = options.splat\n+    val groupNameSep = options.groupNameSep\n+\n+    val R = properties.getProperty(\"hail.skato.Rscript\", \"/usr/bin/Rscript\")\n+    val skatoScript = properties.getProperty(\"hail.skato.script\", \"src/dist/scripts/skato.r\")\n+\n+    val rCorrArray = options.rCorr.split(\",\").map(_.toDouble)\n+    if (!rCorrArray.forall(d => d >= 0.0 && d <= 1.0))\n+      fatal(s\"Arguments to --r-corr must be numeric, between 0.0 and 1.0, and comma-separated. Found ${options.rCorr}\")\n+\n+    val weightBetaArray = options.weightsBeta.split(\",\").map(_.toDouble)\n+    if (weightBetaArray.length != 2)\n+      fatal(s\"Must give two comma-separated arguments to --weights-beta. Found ${options.weightsBeta}\")\n+\n+    val availMethods = Set(\"davies\", \"liu\", \"liu.mod\", \"optimal.adj\", \"optimal\")\n+    if (!availMethods.contains(method))\n+      fatal(\"Did not recognize option specified for --method. Use one of [davies, liu, liu.mod, optimal.adj, optimal]\")\n+\n+    val availKernels = Set(\"linear\", \"linear.weighted\", \"IBS\", \"IBS.weighted\", \"quadratic\", \"2wayIX\")\n+    if (!availKernels.contains(kernel))\n+      fatal(\"Did not recognize option specified for --kernel. Use one of [linear, linear.weighted, IBS, IBS.weighted, quadratic, 2wayIX]\")","path":"src/main/scala/org/broadinstitute/hail/driver/GroupTestSKATO.scala","position":174,"original_position":174,"commit_id":"e565141d84e5559371549a14e61bce945590ea48","original_commit_id":"e565141d84e5559371549a14e61bce945590ea48","user":{"login":"cseed","id":1244990,"avatar_url":"https://avatars.githubusercontent.com/u/1244990?v=3","gravatar_id":"","url":"https://api.github.com/users/cseed","html_url":"https://github.com/cseed","followers_url":"https://api.github.com/users/cseed/followers","following_url":"https://api.github.com/users/cseed/following{/other_user}","gists_url":"https://api.github.com/users/cseed/gists{/gist_id}","starred_url":"https://api.github.com/users/cseed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cseed/subscriptions","organizations_url":"https://api.github.com/users/cseed/orgs","repos_url":"https://api.github.com/users/cseed/repos","events_url":"https://api.github.com/users/cseed/events{/privacy}","received_events_url":"https://api.github.com/users/cseed/received_events","type":"User","site_admin":false},"body":"use s\"...[${availKernels.mkString(\", \")}]...\" instead of writing out the list again.","created_at":"2016-07-27T15:24:30Z","updated_at":"2016-07-27T15:24:30Z","html_url":"https://github.com/broadinstitute/hail/pull/477#discussion_r72461077","pull_request_url":"https://api.github.com/repos/broadinstitute/hail/pulls/477","_links":{"self":{"href":"https://api.github.com/repos/broadinstitute/hail/pulls/comments/72461077"},"html":{"href":"https://github.com/broadinstitute/hail/pull/477#discussion_r72461077"},"pull_request":{"href":"https://api.github.com/repos/broadinstitute/hail/pulls/477"}}},"pull_request":{"url":"https://api.github.com/repos/broadinstitute/hail/pulls/477","id":77501228,"html_url":"https://github.com/broadinstitute/hail/pull/477","diff_url":"https://github.com/broadinstitute/hail/pull/477.diff","patch_url":"https://github.com/broadinstitute/hail/pull/477.patch","issue_url":"https://api.github.com/repos/broadinstitute/hail/issues/477","number":477,"state":"open","locked":false,"title":"Jg skato2","user":{"login":"jigold","id":1693348,"avatar_url":"https://avatars.githubusercontent.com/u/1693348?v=3","gravatar_id":"","url":"https://api.github.com/users/jigold","html_url":"https://github.com/jigold","followers_url":"https://api.github.com/users/jigold/followers","following_url":"https://api.github.com/users/jigold/following{/other_user}","gists_url":"https://api.github.com/users/jigold/gists{/gist_id}","starred_url":"https://api.github.com/users/jigold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jigold/subscriptions","organizations_url":"https://api.github.com/users/jigold/orgs","repos_url":"https://api.github.com/users/jigold/repos","events_url":"https://api.github.com/users/jigold/events{/privacy}","received_events_url":"https://api.github.com/users/jigold/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-07-14T18:19:18Z","updated_at":"2016-07-27T15:24:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f7a0e8e39759a91fe0bbd5296f99f14c8b5835b8","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/broadinstitute/hail/pulls/477/commits","review_comments_url":"https://api.github.com/repos/broadinstitute/hail/pulls/477/comments","review_comment_url":"https://api.github.com/repos/broadinstitute/hail/pulls/comments{/number}","comments_url":"https://api.github.com/repos/broadinstitute/hail/issues/477/comments","statuses_url":"https://api.github.com/repos/broadinstitute/hail/statuses/e565141d84e5559371549a14e61bce945590ea48","head":{"label":"broadinstitute:jg_skato2","ref":"jg_skato2","sha":"e565141d84e5559371549a14e61bce945590ea48","user":{"login":"broadinstitute","id":393552,"avatar_url":"https://avatars.githubusercontent.com/u/393552?v=3","gravatar_id":"","url":"https://api.github.com/users/broadinstitute","html_url":"https://github.com/broadinstitute","followers_url":"https://api.github.com/users/broadinstitute/followers","following_url":"https://api.github.com/users/broadinstitute/following{/other_user}","gists_url":"https://api.github.com/users/broadinstitute/gists{/gist_id}","starred_url":"https://api.github.com/users/broadinstitute/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broadinstitute/subscriptions","organizations_url":"https://api.github.com/users/broadinstitute/orgs","repos_url":"https://api.github.com/users/broadinstitute/repos","events_url":"https://api.github.com/users/broadinstitute/events{/privacy}","received_events_url":"https://api.github.com/users/broadinstitute/received_events","type":"Organization","site_admin":false},"repo":{"id":45069467,"name":"hail","full_name":"broadinstitute/hail","owner":{"login":"broadinstitute","id":393552,"avatar_url":"https://avatars.githubusercontent.com/u/393552?v=3","gravatar_id":"","url":"https://api.github.com/users/broadinstitute","html_url":"https://github.com/broadinstitute","followers_url":"https://api.github.com/users/broadinstitute/followers","following_url":"https://api.github.com/users/broadinstitute/following{/other_user}","gists_url":"https://api.github.com/users/broadinstitute/gists{/gist_id}","starred_url":"https://api.github.com/users/broadinstitute/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broadinstitute/subscriptions","organizations_url":"https://api.github.com/users/broadinstitute/orgs","repos_url":"https://api.github.com/users/broadinstitute/repos","events_url":"https://api.github.com/users/broadinstitute/events{/privacy}","received_events_url":"https://api.github.com/users/broadinstitute/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/broadinstitute/hail","description":"Hail, a framework for scalable genetic data analysis","fork":false,"url":"https://api.github.com/repos/broadinstitute/hail","forks_url":"https://api.github.com/repos/broadinstitute/hail/forks","keys_url":"https://api.github.com/repos/broadinstitute/hail/keys{/key_id}","collaborators_url":"https://api.github.com/repos/broadinstitute/hail/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/broadinstitute/hail/teams","hooks_url":"https://api.github.com/repos/broadinstitute/hail/hooks","issue_events_url":"https://api.github.com/repos/broadinstitute/hail/issues/events{/number}","events_url":"https://api.github.com/repos/broadinstitute/hail/events","assignees_url":"https://api.github.com/repos/broadinstitute/hail/assignees{/user}","branches_url":"https://api.github.com/repos/broadinstitute/hail/branches{/branch}","tags_url":"https://api.github.com/repos/broadinstitute/hail/tags","blobs_url":"https://api.github.com/repos/broadinstitute/hail/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/broadinstitute/hail/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/broadinstitute/hail/git/refs{/sha}","trees_url":"https://api.github.com/repos/broadinstitute/hail/git/trees{/sha}","statuses_url":"https://api.github.com/repos/broadinstitute/hail/statuses/{sha}","languages_url":"https://api.github.com/repos/broadinstitute/hail/languages","stargazers_url":"https://api.github.com/repos/broadinstitute/hail/stargazers","contributors_url":"https://api.github.com/repos/broadinstitute/hail/contributors","subscribers_url":"https://api.github.com/repos/broadinstitute/hail/subscribers","subscription_url":"https://api.github.com/repos/broadinstitute/hail/subscription","commits_url":"https://api.github.com/repos/broadinstitute/hail/commits{/sha}","git_commits_url":"https://api.github.com/repos/broadinstitute/hail/git/commits{/sha}","comments_url":"https://api.github.com/repos/broadinstitute/hail/comments{/number}","issue_comment_url":"https://api.github.com/repos/broadinstitute/hail/issues/comments{/number}","contents_url":"https://api.github.com/repos/broadinstitute/hail/contents/{+path}","compare_url":"https://api.github.com/repos/broadinstitute/hail/compare/{base}...{head}","merges_url":"https://api.github.com/repos/broadinstitute/hail/merges","archive_url":"https://api.github.com/repos/broadinstitute/hail/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/broadinstitute/hail/downloads","issues_url":"https://api.github.com/repos/broadinstitute/hail/issues{/number}","pulls_url":"https://api.github.com/repos/broadinstitute/hail/pulls{/number}","milestones_url":"https://api.github.com/repos/broadinstitute/hail/milestones{/number}","notifications_url":"https://api.github.com/repos/broadinstitute/hail/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/broadinstitute/hail/labels{/name}","releases_url":"https://api.github.com/repos/broadinstitute/hail/releases{/id}","deployments_url":"https://api.github.com/repos/broadinstitute/hail/deployments","created_at":"2015-10-27T20:55:42Z","updated_at":"2016-07-22T22:18:33Z","pushed_at":"2016-07-26T22:05:32Z","git_url":"git://github.com/broadinstitute/hail.git","ssh_url":"git@github.com:broadinstitute/hail.git","clone_url":"https://github.com/broadinstitute/hail.git","svn_url":"https://github.com/broadinstitute/hail","homepage":"","size":11190,"stargazers_count":31,"watchers_count":31,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":169,"forks":7,"open_issues":169,"watchers":31,"default_branch":"master"}},"base":{"label":"broadinstitute:master","ref":"master","sha":"dde9d5bc93c93994edfd1dda8da702bb751a3d41","user":{"login":"broadinstitute","id":393552,"avatar_url":"https://avatars.githubusercontent.com/u/393552?v=3","gravatar_id":"","url":"https://api.github.com/users/broadinstitute","html_url":"https://github.com/broadinstitute","followers_url":"https://api.github.com/users/broadinstitute/followers","following_url":"https://api.github.com/users/broadinstitute/following{/other_user}","gists_url":"https://api.github.com/users/broadinstitute/gists{/gist_id}","starred_url":"https://api.github.com/users/broadinstitute/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broadinstitute/subscriptions","organizations_url":"https://api.github.com/users/broadinstitute/orgs","repos_url":"https://api.github.com/users/broadinstitute/repos","events_url":"https://api.github.com/users/broadinstitute/events{/privacy}","received_events_url":"https://api.github.com/users/broadinstitute/received_events","type":"Organization","site_admin":false},"repo":{"id":45069467,"name":"hail","full_name":"broadinstitute/hail","owner":{"login":"broadinstitute","id":393552,"avatar_url":"https://avatars.githubusercontent.com/u/393552?v=3","gravatar_id":"","url":"https://api.github.com/users/broadinstitute","html_url":"https://github.com/broadinstitute","followers_url":"https://api.github.com/users/broadinstitute/followers","following_url":"https://api.github.com/users/broadinstitute/following{/other_user}","gists_url":"https://api.github.com/users/broadinstitute/gists{/gist_id}","starred_url":"https://api.github.com/users/broadinstitute/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broadinstitute/subscriptions","organizations_url":"https://api.github.com/users/broadinstitute/orgs","repos_url":"https://api.github.com/users/broadinstitute/repos","events_url":"https://api.github.com/users/broadinstitute/events{/privacy}","received_events_url":"https://api.github.com/users/broadinstitute/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/broadinstitute/hail","description":"Hail, a framework for scalable genetic data analysis","fork":false,"url":"https://api.github.com/repos/broadinstitute/hail","forks_url":"https://api.github.com/repos/broadinstitute/hail/forks","keys_url":"https://api.github.com/repos/broadinstitute/hail/keys{/key_id}","collaborators_url":"https://api.github.com/repos/broadinstitute/hail/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/broadinstitute/hail/teams","hooks_url":"https://api.github.com/repos/broadinstitute/hail/hooks","issue_events_url":"https://api.github.com/repos/broadinstitute/hail/issues/events{/number}","events_url":"https://api.github.com/repos/broadinstitute/hail/events","assignees_url":"https://api.github.com/repos/broadinstitute/hail/assignees{/user}","branches_url":"https://api.github.com/repos/broadinstitute/hail/branches{/branch}","tags_url":"https://api.github.com/repos/broadinstitute/hail/tags","blobs_url":"https://api.github.com/repos/broadinstitute/hail/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/broadinstitute/hail/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/broadinstitute/hail/git/refs{/sha}","trees_url":"https://api.github.com/repos/broadinstitute/hail/git/trees{/sha}","statuses_url":"https://api.github.com/repos/broadinstitute/hail/statuses/{sha}","languages_url":"https://api.github.com/repos/broadinstitute/hail/languages","stargazers_url":"https://api.github.com/repos/broadinstitute/hail/stargazers","contributors_url":"https://api.github.com/repos/broadinstitute/hail/contributors","subscribers_url":"https://api.github.com/repos/broadinstitute/hail/subscribers","subscription_url":"https://api.github.com/repos/broadinstitute/hail/subscription","commits_url":"https://api.github.com/repos/broadinstitute/hail/commits{/sha}","git_commits_url":"https://api.github.com/repos/broadinstitute/hail/git/commits{/sha}","comments_url":"https://api.github.com/repos/broadinstitute/hail/comments{/number}","issue_comment_url":"https://api.github.com/repos/broadinstitute/hail/issues/comments{/number}","contents_url":"https://api.github.com/repos/broadinstitute/hail/contents/{+path}","compare_url":"https://api.github.com/repos/broadinstitute/hail/compare/{base}...{head}","merges_url":"https://api.github.com/repos/broadinstitute/hail/merges","archive_url":"https://api.github.com/repos/broadinstitute/hail/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/broadinstitute/hail/downloads","issues_url":"https://api.github.com/repos/broadinstitute/hail/issues{/number}","pulls_url":"https://api.github.com/repos/broadinstitute/hail/pulls{/number}","milestones_url":"https://api.github.com/repos/broadinstitute/hail/milestones{/number}","notifications_url":"https://api.github.com/repos/broadinstitute/hail/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/broadinstitute/hail/labels{/name}","releases_url":"https://api.github.com/repos/broadinstitute/hail/releases{/id}","deployments_url":"https://api.github.com/repos/broadinstitute/hail/deployments","created_at":"2015-10-27T20:55:42Z","updated_at":"2016-07-22T22:18:33Z","pushed_at":"2016-07-26T22:05:32Z","git_url":"git://github.com/broadinstitute/hail.git","ssh_url":"git@github.com:broadinstitute/hail.git","clone_url":"https://github.com/broadinstitute/hail.git","svn_url":"https://github.com/broadinstitute/hail","homepage":"","size":11190,"stargazers_count":31,"watchers_count":31,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":169,"forks":7,"open_issues":169,"watchers":31,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/broadinstitute/hail/pulls/477"},"html":{"href":"https://github.com/broadinstitute/hail/pull/477"},"issue":{"href":"https://api.github.com/repos/broadinstitute/hail/issues/477"},"comments":{"href":"https://api.github.com/repos/broadinstitute/hail/issues/477/comments"},"review_comments":{"href":"https://api.github.com/repos/broadinstitute/hail/pulls/477/comments"},"review_comment":{"href":"https://api.github.com/repos/broadinstitute/hail/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/broadinstitute/hail/pulls/477/commits"},"statuses":{"href":"https://api.github.com/repos/broadinstitute/hail/statuses/e565141d84e5559371549a14e61bce945590ea48"}}}}
{"actor":{"display_login":"cseed"}}