{
  "id": 408153,
  "title": "Difference between the train_terms.tsv and GAF from geneontology.org",
  "url": "/competitions/cafa-5-protein-function-prediction/discussion/408153",
  "author_name": "Richard Li",
  "post_date": "2023-05-09T17:45:05.654000",
  "votes": 5,
  "comment_count": 4,
  "views": 0,
  "content": "<p>Hi, I am processing the label data (train_terms.tsv). I find it's quite different from the GAF file available on <a href=\"http://geneontology.org/\" target=\"_blank\">http://geneontology.org/</a>. It will be great if there is some explanation for it. Thank you!</p>",
  "messages": [
    {
      "id": 2251904,
      "postDate": "2023-05-09T17:45:05.653Z",
      "content": "<p>Hi, I am processing the label data (train_terms.tsv). I find it's quite different from the GAF file available on <a href=\"http://geneontology.org/\" target=\"_blank\">http://geneontology.org/</a>. It will be great if there is some explanation for it. Thank you!</p>",
      "rawMarkdown": "Hi, I am processing the label data (train_terms.tsv). I find it's quite different from the GAF file available on http://geneontology.org/. It will be great if there is some explanation for it. Thank you!",
      "votes": 5
    },
    {
      "id": 2263614,
      "postDate": "2023-05-17T18:28:25.337Z",
      "content": "<p>What differences are you seeing exactly? You may wish to take a look at our data processing pipeline as described in the <a href=\"https://www.kaggle.com/competitions/cafa-5-protein-function-prediction/data\" target=\"_blank\">Data tab</a>. Briefly, we filtered by evidence codes, we propagated terms to their roots (<strong>according to the OBO file we provide</strong>), we made sure the sequences appeared in SwissProt or TrEMBL, and lastly please check the date of our processing versus the version you are fetching from <a href=\"http://geneontology.org/\" target=\"_blank\">http://geneontology.org/</a>. If you are seeing differences beyond those captured by that pipeline, let us know.</p>",
      "rawMarkdown": "What differences are you seeing exactly? You may wish to take a look at our data processing pipeline as described in the [Data tab](https://www.kaggle.com/competitions/cafa-5-protein-function-prediction/data). Briefly, we filtered by evidence codes, we propagated terms to their roots (**according to the OBO file we provide**), we made sure the sequences appeared in SwissProt or TrEMBL, and lastly please check the date of our processing versus the version you are fetching from http://geneontology.org/. If you are seeing differences beyond those captured by that pipeline, let us know.",
      "replies": [
        {
          "id": 2277454,
          "postDate": "2023-05-27T19:05:02.707Z",
          "content": "<p><a href=\"https://www.kaggle.com/claradepaolis\" target=\"_blank\">@claradepaolis</a>  Hello Clara. It seems there are smaller issues: Can you double-check the OBO file? In addition to is_a and part_of there is also \"regulates\". However in the training data you only backpropagate by is_a and part_of.  As a consequence right know I don't think the obo file is consistent with the Training data.  (This only comes up at BPO terms). What am I missing? </p>",
          "rawMarkdown": "@claradepaolis  Hello Clara. It seems there are smaller issues: Can you double-check the OBO file? In addition to is_a and part_of there is also \"regulates\". However in the training data you only backpropagate by is_a and part_of.  As a consequence right know I don't think the obo file is consistent with the Training data.  (This only comes up at BPO terms). What am I missing? \n",
          "votes": 1,
          "isDeleted": true,
          "replies": [
            {
              "id": 2281295,
              "postDate": "2023-05-30T18:34:56.387Z",
              "content": "<p>The obo file has not been modified, so it should be assumed to be correct. Can you clarify what you mean by double-checking the OBO file? </p>\n<p>We do not propagate through \"regulates\" relations because if function A regulates function B and term A is annotated for protein X, we can't conclude that protein X has function B. However, \"is a\" and \"part of\" relations do lead to such conclusions. This is the logic that is used to compile the complete set of (known) functions for a protein given its annotations. The rationale comes only from the definition of these relations. </p>\n<p>Although we do not use regulation edges to propagate terms (since we cannot infer such conclusions), the ontology still provides these relations and some models may find these relations to be useful.</p>\n<p><a href=\"http://geneontology.org/docs/ontology-relations/\" target=\"_blank\">http://geneontology.org/docs/ontology-relations/</a> </p>",
              "rawMarkdown": "The obo file has not been modified, so it should be assumed to be correct. Can you clarify what you mean by double-checking the OBO file? \n\nWe do not propagate through \"regulates\" relations because if function A regulates function B and term A is annotated for protein X, we can't conclude that protein X has function B. However, \"is a\" and \"part of\" relations do lead to such conclusions. This is the logic that is used to compile the complete set of (known) functions for a protein given its annotations. The rationale comes only from the definition of these relations. \n\nAlthough we do not use regulation edges to propagate terms (since we cannot infer such conclusions), the ontology still provides these relations and some models may find these relations to be useful.\n\n[http://geneontology.org/docs/ontology-relations/](http://geneontology.org/docs/ontology-relations/) ",
              "votes": 1
            },
            {
              "id": 2281521,
              "postDate": "2023-05-31T00:58:36.810Z",
              "content": "<p>Thanks for the clarification</p>",
              "rawMarkdown": "Thanks for the clarification",
              "isDeleted": true
            }
          ]
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 2263614,
      "author_name": "Clara De Paolis",
      "author_url": "",
      "post_date": "2023-05-17T18:28:25.337000",
      "content": "<p>What differences are you seeing exactly? You may wish to take a look at our data processing pipeline as described in the <a href=\"https://www.kaggle.com/competitions/cafa-5-protein-function-prediction/data\" target=\"_blank\">Data tab</a>. Briefly, we filtered by evidence codes, we propagated terms to their roots (<strong>according to the OBO file we provide</strong>), we made sure the sequences appeared in SwissProt or TrEMBL, and lastly please check the date of our processing versus the version you are fetching from <a href=\"http://geneontology.org/\" target=\"_blank\">http://geneontology.org/</a>. If you are seeing differences beyond those captured by that pipeline, let us know.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2277454,
          "author_name": "",
          "author_url": "",
          "post_date": "2023-05-27T19:05:02.707000",
          "content": "<p><a href=\"https://www.kaggle.com/claradepaolis\" target=\"_blank\">@claradepaolis</a>  Hello Clara. It seems there are smaller issues: Can you double-check the OBO file? In addition to is_a and part_of there is also \"regulates\". However in the training data you only backpropagate by is_a and part_of.  As a consequence right know I don't think the obo file is consistent with the Training data.  (This only comes up at BPO terms). What am I missing? </p>",
          "votes": 1,
          "replies": [
            {
              "id": 2281295,
              "author_name": "Clara De Paolis",
              "author_url": "",
              "post_date": "2023-05-30T18:34:56.387000",
              "content": "<p>The obo file has not been modified, so it should be assumed to be correct. Can you clarify what you mean by double-checking the OBO file? </p>\n<p>We do not propagate through \"regulates\" relations because if function A regulates function B and term A is annotated for protein X, we can't conclude that protein X has function B. However, \"is a\" and \"part of\" relations do lead to such conclusions. This is the logic that is used to compile the complete set of (known) functions for a protein given its annotations. The rationale comes only from the definition of these relations. </p>\n<p>Although we do not use regulation edges to propagate terms (since we cannot infer such conclusions), the ontology still provides these relations and some models may find these relations to be useful.</p>\n<p><a href=\"http://geneontology.org/docs/ontology-relations/\" target=\"_blank\">http://geneontology.org/docs/ontology-relations/</a> </p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 2281521,
              "author_name": "",
              "author_url": "",
              "post_date": "2023-05-31T00:58:36.810000",
              "content": "<p>Thanks for the clarification</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2251904": "Hi, I am processing the label data (train_terms.tsv). I find it's quite different from the GAF file available on http://geneontology.org/. It will be great if there is some explanation for it. Thank you!",
    "2263614": "What differences are you seeing exactly? You may wish to take a look at our data processing pipeline as described in the [Data tab](https://www.kaggle.com/competitions/cafa-5-protein-function-prediction/data). Briefly, we filtered by evidence codes, we propagated terms to their roots (**according to the OBO file we provide**), we made sure the sequences appeared in SwissProt or TrEMBL, and lastly please check the date of our processing versus the version you are fetching from http://geneontology.org/. If you are seeing differences beyond those captured by that pipeline, let us know."
  }
}