{
  "competition": "cafa-5-protein-function-prediction",
  "topic_id": "402829",
  "comments": [],
  "messages": [],
  "raw_show": {
    "topic": {
      "id": 402829,
      "title": "Predicting GO annotations beyond protein homology",
      "authorName": "Tilii",
      "commentCount": 6,
      "votes": 25,
      "postDate": "2023-04-19T20:52:15.873000"
    },
    "comments": [
      {
        "id": 2234587,
        "authorName": "Victor Fernandez Albor",
        "votes": 3,
        "postDate": "2023-04-25T10:26:37.200000",
        "content": "<p>Hi Tilii, big fan of your explanations from other competitions. So, I would ask you about GO classification. First of all, I do not want criticize the GO classification, I just want to understand better in order to make more accurate predictions. </p>\n<p>From my point of view, proteins just do two things they move, or they not move. If they move they do things and if they do not move, they create things (structures). So from my point of view, these three classifications are a bit confusing. Let me explain better, if a protein don't move, so they are static and create structures, it is obviously that is a Cellular Component. But, on the other hand if a protein is moving, so they are having activity, creating things, and stuff like that…..so it fits in molecular function. And if it do several different activities, it is a cellular component. So the other GO class, cellular component, It's just an extension of molecular function? Does it make sense to have this class?</p>\n<p>As I understand the context of the classification competition, one biological process protein could be part of several molecular function, which in a context where you have a sequence and you want to classify it, it can be a bit confuse and make mistakes in which class should fit.   </p>"
      },
      {
        "id": 2235118,
        "authorName": "Tilii",
        "votes": 8,
        "postDate": "2023-04-25T18:44:17.870000",
        "content": "<p>I suggest you read the attached file in <a href=\"https://www.kaggle.com/competitions/cafa-5-protein-function-prediction/discussion/403203\" target=\"_blank\"><strong>this post</strong></a>. It comes directly from the hosts, who are also prominent practitioners in this field. I also have <a href=\"https://www.kaggle.com/competitions/cafa-5-protein-function-prediction/discussion/402842\" target=\"_blank\"><strong>a short post</strong></a> describing different levels of classification specificity.</p>\n<p>Basing the classification on whether proteins move or not is an over-simplification - for many reasons. I think you are probably guided by man-made machines, where parts are either structural or moving, but not both. Living organisms and their cells are much more dynamic.</p>\n<p>Cells are tiny, so proteins that move can at most traverse a few micrometers of distance, while the proteins that don't move (say, membrane embedded) still shift laterally by at least a few nanometers. Since both of those are ridiculously small distances, from our macro-level proteins don't really move. Second, an enzyme can perform exactly the same molecular function whether it is membrane-embedded and the substrate comes to it, or the enzyme goes around the cell searching for it. If the Mountain won’t go to Mohammed, then Mohammed must come to the Mountain. The end result will be the same. Anyway, what you consider structural/non-moving proteins often have non-structural roles.</p>\n<p>Think about human body. Liver doesn't move much, yet its primary role is not structural. All the bones, muscles and internal organs are body parts, but only some of them are parts of the left arm or the right eye. Similarly, all cellular proteins are part of the cell, but only some of them are in mitochondria or in cell membrane. There are different levels of specificity with which we describe a function, and that determines which subset of cellular proteins (or our body parts) is involved in it. If we try to describe a general function such as <code>object manipulation</code>, it would be fair to assume that human arms are performing that function. If we describe it more specifically, say <code>fine-motor skills</code>, chances are that we can narrow the function to our hands. If we want to be more specific, say <code>buttoning a shirt</code> as a subset of <code>fine-motor skills</code>, most people can do it with either or both hands. If we pick a skill subset such as <code>handwriting</code>, most people are better at writing with one hand than the other. So my right hand may belong to structural classification groups such as <code>body part</code> and <code>right arm</code>, while being functionally capable of <code>object manipulation</code>, <code>fine-motor skills</code>, <code>buttoning a shirt</code> and <code>handwriting</code>. My left hand would belong to <code>body part</code> and <code>left arm</code>, and functionally to <code>object manipulation</code>, <code>fine-motor skills</code>, <code>buttoning a shirt</code> and <code>driving a car</code>.</p>"
      },
      {
        "id": 2235222,
        "authorName": "Victor Fernandez Albor",
        "votes": 1,
        "postDate": "2023-04-25T20:37:17.283000",
        "content": "<p>Now I'm thinking in all the genomic code for the creation of one arm, and also the function that could be <code>object manipulation</code>. If you classify an arm as an <code>object manipulator</code>, you are missing part of the code for your arm, which may be the hand, or perhaps the fingers. It may be very difficult to segment which piece of code belongs to a specific functionality, when you can go down as you say, and go to the hand, and the functionality remains the same, which is to manipulate objects. And also I understand that you have to be more specific going deeper, and the relationship between nodes are doing the other job. </p>\n<p>Well, I don't want to bother you with my questions anymore, I'll keep going deeper, and always a big fan of your analogies Tilli!</p>"
      },
      {
        "id": 2235240,
        "authorName": "Tilii",
        "votes": 1,
        "postDate": "2023-04-25T21:14:01.503000",
        "content": "<blockquote>\n  <p>If you classify an arm as an object manipulator, you are missing part of the code for your arm, which may be the hand, or perhaps the fingers. It may be very difficult to segment which piece of code belongs to a specific functionality, when you can go down as you say, and go to the hand, and the functionality remains the same, which is to manipulate objects.</p>\n</blockquote>\n<p>The point is that the whole arm is an <code>object manipulator</code>. Even though the hand is holding the sponge and doing the scrubbing, our whole arms are involved in washing the dishes. The same is true for buttoning up a shirt. There is no shoulder rotation required to do it, yet a hand in isolation - if not attached to a forearm - could not button up a shirt. These are directional relationships, where functions that require fingers usually need a functional wrist, an elbow, and a shoulder (meaning the whole arm). When a function is defined at a high level of specificity, it must include all lower specificity functions that come before/above it. On the other hand (or elbow), low-level arm functions may need a functional shoulder of elbow without requiring a functional hand or fingers. We may go through the revolving doors just by pushing them with our forearm, and we can even open flat door handles by pushing them with our forearms or elbows. Not so for round door knobs, where we most likely need fingers. Still, if someone assumed that we need hands for <code>opening a door</code> functionality, that could be a wrong assumption. Assuming that we need hands for <code>opening a round-knob door</code> functionality is most likely correct. While different parts of our arms may be sufficient or required for opening specific doors, having a functional arm is a general requirement for opening any kind of doors.</p>"
      },
      {
        "id": 2235247,
        "authorName": "Iddo Friedberg",
        "votes": 3,
        "postDate": "2023-04-25T21:24:53.217000",
        "content": "<p><a href=\"https://www.kaggle.com/victorfernandezalbor\" target=\"_blank\">@victorfernandezalbor</a> This should help in understanding protein function, and its representation through ontologies. Specifically, the first two sections: What is Function and Describing Function. The paper is old (2006), so the rest is somewhat dated, and the assessment section is not what we are using in CAFA. </p>\n<p><a href=\"https://academic.oup.com/bib/article/7/3/225/326173\" target=\"_blank\">https://academic.oup.com/bib/article/7/3/225/326173</a></p>"
      },
      {
        "id": 2227589,
        "authorName": "Rope on Mars",
        "votes": 2,
        "postDate": "2023-04-19T21:03:35.423000",
        "content": "<p>Just landed here. Thanks for the link.</p>"
      }
    ]
  },
  "topic": null,
  "index": {
    "id": "402829",
    "title": "Predicting GO annotations beyond protein homology",
    "authorName": "",
    "commentCount": "6",
    "votes": "25",
    "postDate": "2023-04-19 20:52:15.873000"
  }
}