{"id":3630,"date":"2024-04-15T02:38:31","date_gmt":"2024-04-14T17:38:31","guid":{"rendered":"https:\/\/bdsl.jbnu.ac.kr\/blog\/?p=3630"},"modified":"2026-04-20T12:50:00","modified_gmt":"2026-04-20T03:50:00","slug":"activity_for_phylogenetic_tree","status":"publish","type":"post","link":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/","title":{"rendered":"Activity for Phylogenetic Tree"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">UPGMA\ub294 \uc885\uc774\ub098 \uc720\uc804\uc790 \uc11c\uc5f4 \uac04\uc758 \uad00\uacc4\ub97c \uacc4\ud1b5\uc218\ub85c \ud45c\ud604\ud558\ub294 \ubc29\ubc95\uc774\ub2e4. \uc774 \ud65c\ub3d9\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 Python \ucf54\ub4dc\ub85c \uad6c\ud604\ud558\ub294 \ubc29\ubc95\uc744 \uc774\ud574\ud574\ubcf8\ub2e4. \ub610\ud55c, BioPython \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 UPGMA \ubc0f Neighbor-Joining(NJ) \uc54c\uace0\ub9ac\uc998\uc744 \uc774\uc6a9\ud558\uc5ec \uacc4\ud1b5\uc218\ub97c \uc0dd\uc131\ud558\ub294 \uacfc\uc815\uc744 \uc2e4\uc2b5\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. UPGMA<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unweighted Pair Group Method with Arithmetic Means (UPGMA)\ub294 \uc11c\uc5f4 \uac04 distance\ub97c \uc774\uc6a9\ud574 phylogenetic tree\ub97c \uad6c\uc131\ud558\ub294 \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \ubc29\ubc95\uc774\ub2e4. \ubcf8 \uc2e4\uc2b5\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 \uc5b4\ub5bb\uac8c \uad6c\ud604\ud560 \uc218 \uc788\ub294\uc9c0 \uc0dd\uac01\ud574 \ubcf4\uace0 \uc2e4\uc2b5\ud55c\ub2e4. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Algorithm<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\uc11c\uc5f4 \uc30d \uac04\uc758 \uac70\ub9ac(distance)\ub97c \uacc4\uc0b0\ud55c\ub2e4.<\/li>\n\n\n\n<li>\uac00\uc7a5 \uac00\uae4c\uc6b4 \uc11c\uc5f4 \uc30d\uc744 \ucc3e\ub294\ub2e4.<\/li>\n\n\n\n<li>\ud574\ub2f9 \ub450 \uc11c\uc5f4 \uc744 \ud558\ub098\ub85c \ud569\uce5c\ub2e4.<\/li>\n\n\n\n<li>\ub0a8\uc740 \uc11c\uc5f4\uc774 2\uac1c \uc774\uc0c1\uc774\uba74 2\ubc88 \ub2e8\uacc4\ubd80\ud130 \ubc18\ubcf5\ud55c\ub2e4.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pseudo-code<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">UPGMA \uc54c\uace0\ub9ac\uc998\uc740 (1) \uac00\uc7a5 \uac00\uae4c\uc6b4 pair\ub97c \ucc3e\ub294 \uacfc\uc815\uacfc (2) \uc774\ub97c \ud558\ub098\uc758 \uadf8\ub8f9\uc73c\ub85c \ubcd1\ud569\ud558\ub294 \uacfc\uc815\uc73c\ub85c \uad6c\uc131\ub41c\ub2e4. \uc774 \uacfc\uc815\uc5d0\uc11c\ub294 index\ub97c \uad00\ub9ac\ud558\ub294 \uac83\uc774 \ub2e4\uc18c \ubcf5\uc7a1\ud558\ubbc0\ub85c, \uc804\uccb4 \ucf54\ub4dc\ub97c \ud55c \ubc88\uc5d0 \uad6c\ud604\ud558\uae30\ubcf4\ub2e4 \ubb38\uc81c\ub97c \uc791\uc740 \ub2e8\uc704\ub85c \ub098\ub204\uc5b4 \ub2e8\uacc4\uc801\uc73c\ub85c \ud574\uacb0\ud558\ub294 \uac83\uc774 \ubc14\ub78c\uc9c1\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc544\ub798\uc5d0\uc11c\ub294 \uc774 \uacfc\uc815\uc744 \ub2e8\uacc4\uc801\uc73c\ub85c \uc218\ud589\ud574\ubcf8\ub2e4. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">\uc11c\uc5f4 \uc30d\uc758 distance matrix\ub97c \uacc4\uc0b0\ud558\uace0, \uadf8 \uac12\uc744 dmat\uc5d0 \uc785\ub825\ud55c\ub2e4.\n\nUPGMA(dmat)\n    \uac01 \uc11c\uc5f4\uc744 \uc9c0\ub2cc group\uc744 \ub9cc\ub4e0\ub2e4. (index_group)\n    WHILE index_group\uc758 \uae38\uc774\uac00 2 \uc774\uc0c1\uc77c \uacbd\uc6b0\n        \uac00\uc7a5 \uac00\uae4c\uc6b4 \ub450 group\uc744 \ucc3e\ub294\ub2e4. (find_closest_pair)\n        \ub450 group\uc744 \ud569\uce5c\ub2e4. (merge_pair)\n\nfind_closest_pair(dmat, index_group):\n    \ubaa8\ub4e0 pair \uc911 \uac00\uc7a5 \uac00\uae4c\uc6b4 pair\ub97c \ucc3e\ub294\ub2e4.\n\nmerge_pair(index_group, closest_pair):\n    closest_pair\ub97c \ud569\uce5c\ub2e4.  <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Python Code<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">UPGMA \uc54c\uace0\ub9ac\uc998 \uc790\uccb4\ub294 \uac04\ub2e8\ud558\uc9c0\ub9cc, program \uc790\uccb4\ub294 \uc57d\uac04 \ubcf5\uc7a1\ud558\ub2e4. \uc544\ub798 code\ub97c JupyterNotebook\uc5d0\uc11c \uc2e4\ud589\ud574\ubcf4\uace0, code\uac00 \uc5b4\ub5bb\uac8c \uc791\ub3d9\ud558\ub294\uc9c0 \ubd84\uc11d\ud574\ubcf8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc2e4\uc2b5\uc744 \uc704\ud574 JupyterLab\uc5d0\uc11c <code>phylogenetic_tree<\/code> \ub514\ub809\ud1a0\ub9ac \uc0dd\uc131<\/li>\n\n\n\n<li><code>upgma.ipynb<\/code> \ub178\ud2b8\ubd81 \uc0dd\uc131<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"> Main code (\uc804\uccb4 \uc2e4\ud589 code) <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\uc544\ub798\ub294 UPGMA \uc804\uccb4 \uacfc\uc815\uc744 \uc815\ub9ac\ud55c code\uc774\ub2e4. \ub2e4\ub9cc, <code>find_closest_pair<\/code>\uc640 \uac19\uc740 \ud568\uc218\ub294 \uc544\uc9c1 \uad6c\ud615\ub418\uc5b4 \uc788\uc9c0 \uc54a\uace0, \uc774\ub294 \uc544\ub798\uc5d0\uc11c \uad6c\ud604\ud55c\ub2e4. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">from Bio.Phylo.TreeConstruction import DistanceTreeConstructor\nfrom Bio.Phylo.TreeConstruction import DistanceCalculator\nfrom Bio import AlignIO\nimport Bio.Phylo as Phylo\nfrom copy import deepcopy\nimport numpy as np\n\ndef UPGMA(dmat):\n    n = len(dmat)\n    index_group = []\n    for i in range(n):\n        index_group.append([i])    \n    while len(index_group) &gt; 1:\n        closest_pair = find_closest_pair(dmat, index_group)\n        index_group = merge_pair(index_group, closest_pair)\n        print(len(index_group), index_group)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ucf54\ub4dc\uc5d0\uc11c\ub294 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc11c\uc5f4 (\ud639\uc740 \uc11c\uc5f4 group)\uc744 \ucc3e\ub294 \uacfc\uc815\uc740 <code>find_closest_pair<\/code>, \ub450 \uc11c\uc5f4 group\uc744 \ud569\uce58\ub294 \uacfc\uc815\uc740 <code>merge_pair<\/code> \ud568\uc218\ub85c \ubd84\ub9ac\ud574\uc11c \uc9c4\ud589\ud55c\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\uac00\uc7a5 \uac00\uae4c\uc6b4 pair \ucc3e\uae30 \ub2e8\uacc4 \ud6c4 \ub450 pair \ud569\uce58\uae30 \ub2e8\uacc4 \uc9c4\ud589<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \ud568\uc218\ub294 \uc544\ub798\uc640 \uac19\uc774 \uad6c\ud604\ud560 \uc218 \uc788\ub2e4. \uadf8\ub7f0\ub370, \uc11c\uc5f4 group\uc758 \uac70\ub9ac \uacc4\uc0b0 \uacfc\uc815\uc740 \ub450 \uc11c\uc5f4 group\uc5d0 \uc788\ub294 \uc6d0\uc18c\ub4e4 \uac04\uc758 \ubaa8\ub4e0 \uac70\ub9ac\ub97c \uacc4\uc0b0\ud574\uc57c \ud55c\ub2e4. \uc774 \uacfc\uc815\uc740 <code>calc_dist_group<\/code>\uc774\ub77c\ub294 \ud568\uc218\ub85c \ubd84\ub9ac\ud574\uc11c \uc9c4\ud589\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">def find_closest_pair(dmat, index_group):\n    m = len(index_group)\n    closest_pair = []\n    closest_dist = 1.0\n    for i in range(m):\n        for j in range(i):\n            d = calc_dist_group(dmat, index_group[i], index_group[j])\n            if d &lt; closest_dist:\n                closest_pair = [i, j]\n                closest_dist = d\n    return closest_pair\n\ndef merge_pair(index_group, closest_pair):\n    new_index_group = []\n    m = len(index_group)\n    for i in range(m):\n        if i not in closest_pair:\n            new_index_group.append(index_group[i])\n    new_index_group.append([index_group[closest_pair[0]], index_group[closest_pair[1]]])\n    return new_index_group <\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\uac70\ub9ac \uacc4\uc0b0 \ud568\uc218<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>calc_dist_group<\/code> \ud568\uc218\ub294 \uc11c\uc5f4 group\uac04 \uac70\ub9ac \uacc4\uc0b0\uc744 \uc704\ud55c \ud568\uc218\ub85c \uc544\ub798\uc640 \uac19\uc774 \uad6c\uc131\ud560 \uc218 \uc788\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">def flatten_list(nested_list):\n    flat_list = []\n    for e in nested_list:\n        if isinstance(e, list):\n            flat_list.extend(flatten_list(e))\n        else:\n            flat_list.append(e)\n    return flat_list\n\ndef calc_dist_group(dmat, group1, group2):\n    distances = []\n    for e1 in flatten_list(group1):\n        for e2 in flatten_list(group2):\n            if e1 &gt; e2: \n                distances.append(dmat[e1][e2])\n            else:\n                distances.append(dmat[e2][e1])\n    return np.average(distances)  <\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">UPGMA tree \uc608\uc81c <\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc774\uc81c UPGMA tree \uad6c\uc131\uc744 \uc704\ud55c \uacfc\uc815\uc774 \uc900\ube44\ub418\uc5c8\ub2e4. <\/li>\n\n\n\n<li>\uc608\uc81c \ud30c\uc77c\uc744 \uc774\uc6a9\ud574 UPGMA tree\ub97c \ub9cc\ub4e4\uc5b4 \ubcf4\uc790. <\/li>\n\n\n\n<li>\uba3c\uc800 \uc544\ub798 \ud30c\uc77c\uc744 \ubc1b\uace0, \uc2e4\uc2b5 directory\uc5d0 \ubcf5\uc0ac\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-fdf2b821-8590-4919-a8f9-a4f032414a61\" href=\"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-content\/uploads\/2024\/04\/amylase_aln.txt\">amylase_aln<\/a><a href=\"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-content\/uploads\/2024\/04\/amylase_aln.txt\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-fdf2b821-8590-4919-a8f9-a4f032414a61\">Download<\/a><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc608\uc81c \ud30c\uc77c\uc740 MSA \uacb0\uacfc\ub85c \uc5ec\ub7ec \uc885\ub958\uc758 amylase\uc758 \uc11c\uc5f4\uc744 \ud3ec\ud568\ud558\uace0 \uc788\ub2e4. \uc774 \uc11c\uc5f4\ub4e4\uc758 \uad00\uacc4\ub97c phylogenetic tree\ub97c \uc774\uc6a9\ud574 \ud45c\ud604\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">aln = AlignIO.read(open('amylase_aln.txt'), 'fasta')\ncalculator = DistanceCalculator('identity')\ndm = calculator.get_distance(aln)\ndmat = dm.matrix\n\nUPGMA(dmat)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">BioPython\uc744 \ud65c\uc6a9\ud55c UPGMA tree \uc0dd\uc131<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">UPGMA tree \ub9cc\ub4e4\uae30<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>BioPython\uc744 \uc774\uc6a9\ud574 UPGMA tree\ub97c \uc0dd\uc131\ud558\uae30 \uc704\ud574\uc11c\ub294 \uba3c\uc800 tree\ub97c \uc0dd\uc131\ud558\ub294 constructor\ub97c \ub9cc\ub4e4\uc5b4 \uc8fc\uace0, \uc774\ub97c \uc774\uc6a9\ud574 <code>upgma<\/code> \ud568\uc218\ub97c \uc2e4\ud589\uc2dc\ud0a8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">constructor = DistanceTreeConstructor()\nupgma_tree = constructor.upgma(dm)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">UPGMA tree \ucd9c\ub825\ud558\uae30<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>UPGMA tree\uc758 \uad6c\uc870\ub294 \uc544\ub798\uc640 \uac19\uc774 \ucd9c\ub825\ud560 \uc218 \uc788\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">print(upgma_tree)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">UPGMA dendrogram \uc0dd\uc131<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ub610\ud55c, <code>draw<\/code> \uba85\ub839\uc5b4\ub97c \uc774\uc6a9\ud574 tree\ub97c \uadf8\ub9b4 \uc218 \uc788\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">Phylo.draw(upgma_tree, do_show=False)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2. Neighbor-Joining<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Neighbor-Joining algorithm\uc758 \uad6c\ud604\uc744 \uc704\ud574\uc11c\ub294 Q-matrix\ub97c \uacc4\uc0b0\ud558\ub294 \uc911\uac04 \uacfc\uc815\uc774 \ud544\uc694\ud558\ub2e4. <\/li>\n\n\n\n<li>\ub3c4\uc804\ud558\uace0 \uc2f6\uc73c\uc2e0 \ubd84\ub4e4\ub9cc coding\uc5d0 \ub3c4\uc804\ud574\ubcf4\uc790. <\/li>\n\n\n\n<li>\uc5ec\uae30\uc11c\ub294 BioPython\uc744 \uc774\uc6a9\ud574 tree\ub97c \uc0dd\uc131\ud558\uace0, \uadf8 \uacb0\uacfc\ub97cUPGMA \ubc29\ubc95\uc758 \uacb0\uacfc\uc640 \ube44\uad50\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\uc2e4\uc2b5 \ud30c\uc77c \uc0dd\uc131 <\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ng.ipynb<\/code> \ub178\ud2b8\ubd81 \ud30c\uc77c\uc744 \uc0dd\uc131\ud55c\ub2e4. <\/li>\n\n\n\n<li>\uc544\ub798 code\ub97c \uc774\uc6a9\ud558\uc5ec \ud544\uc694\ud55c \ud504\ub85c\uadf8\ub7a8\uc744 \ubd88\ub7ec\uc628\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">from Bio.Phylo.TreeConstruction import DistanceTreeConstructor\nfrom Bio.Phylo.TreeConstruction import DistanceCalculator\nfrom Bio import AlignIO\nimport Bio.Phylo as Phylo\nfrom copy import deepcopy\nimport numpy as np<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc544\ub798 code\ub97c \uc774\uc6a9\ud558\uc5ec distance matrix\ub97c \uc0dd\uc131\ud55c\ub2e4. <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">aln = AlignIO.read(open('amylase_aln.txt'), 'fasta')\ncalculator = DistanceCalculator('identity')\ndm = calculator.get_distance(aln)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">BioPython\uc744 \ud65c\uc6a9\ud55c UPGMA tree \uc0dd\uc131<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>UPGMA\uc640 \uac19\uc774 <code>constructor<\/code>\ub97c \uc774\uc6a9\ud574 tree\ub97c \uc0dd\uc131\ud55c\ub2e4. \ub2e4\ub9cc, <code>nj<\/code> \ud568\uc218\ub97c \uc774\uc6a9\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">constructor = DistanceTreeConstructor()\nnj_tree = constructor.nj(dm)\nPhylo.draw(nj_tree, do_show=False)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NJ tree\ub294 \uae30\ubcf8\uc801\uc73c\ub85c root\uac00 \uc5c6\ub294 tree\uc774\ub2e4. <\/li>\n\n\n\n<li>\ub530\ub77c\uc11c dendrogram\uc5d0\uc11c root\uc5d0 3\uac1c\uc758 branch\uac00 \uc788\ub294 \uac83\ucc98\ub7fc \ud45c\ud604\ub418\ub294\ub370, \uc774\ub294 root\ub294 \uc544\ub2c8\uace0, \uac00\uc7a5 \ub9c8\uc9c0\ub9c9\uc5d0 \ud569\uccd0\uc9c4 node\ub4e4\uc774\ub77c\uace0 \ud560 \uc218 \uc788\ub2e4. <\/li>\n\n\n\n<li>UPGMA\uc640 \ub610 \ub2e4\ub978 \ud2b9\uc9d5\uc740 \uc870\uc0c1 node\ub97c \uacf5\uc720\ud558\ub294 \ub450 branch\uc758 \uae38\uc774\uac00 \uc11c\ub85c \ub2e4\ub974\ub2e4\ub294 \uc810\uc774\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Rooted tree \ub9cc\ub4e4\uae30<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Unrooted tree\ub97c rooted tree\ub85c \uc804\ud658\ud560 \uc218\ub3c4 \uc788\ub2e4. <\/li>\n\n\n\n<li>\uc544\ub798\ub294 <code>root_at_midpoint<\/code> \ubc29\ubc95\uc744 \uc774\uc6a9\ud55c \uc608\uc2dc\uc774\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">nj_tree_rooted = deepcopy(nj_tree)\nnj_tree_rooted.root_at_midpoint()\nPhylo.draw(nj_tree_rooted, do_show=False)<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>UPGMA\ub294 \uc885\uc774\ub098 \uc720\uc804\uc790 \uc11c\uc5f4 \uac04\uc758 \uad00\uacc4\ub97c \uacc4\ud1b5\uc218\ub85c \ud45c\ud604\ud558\ub294 \ubc29\ubc95\uc774\ub2e4. \uc774 \ud65c\ub3d9\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 Python \ucf54\ub4dc\ub85c \uad6c\ud604\ud558\ub294 \ubc29\ubc95\uc744 \uc774\ud574\ud574\ubcf8\ub2e4. \ub610\ud55c, BioPython \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 UPGMA \ubc0f Neighbor-Joining(NJ) \uc54c\uace0\ub9ac\uc998\uc744 \uc774\uc6a9\ud558\uc5ec \uacc4\ud1b5\uc218\ub97c \uc0dd\uc131\ud558\ub294 \uacfc\uc815\uc744 \uc2e4\uc2b5\ud55c\ub2e4. 1. UPGMA Unweighted Pair Group Method with Arithmetic Means (UPGMA)\ub294 \uc11c\uc5f4 \uac04 distance\ub97c \uc774\uc6a9\ud574 phylogenetic tree\ub97c \uad6c\uc131\ud558\ub294 \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \ubc29\ubc95\uc774\ub2e4. \ubcf8 \uc2e4\uc2b5\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 \uc5b4\ub5bb\uac8c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[33],"tags":[],"class_list":["post-3630","post","type-post","status-publish","format-standard","hentry","category-bioinformatics"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Activity for Phylogenetic Tree - Biomedical Data Science Laboratory<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Activity for Phylogenetic Tree - Biomedical Data Science Laboratory\" \/>\n<meta property=\"og:description\" content=\"UPGMA\ub294 \uc885\uc774\ub098 \uc720\uc804\uc790 \uc11c\uc5f4 \uac04\uc758 \uad00\uacc4\ub97c \uacc4\ud1b5\uc218\ub85c \ud45c\ud604\ud558\ub294 \ubc29\ubc95\uc774\ub2e4. \uc774 \ud65c\ub3d9\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 Python \ucf54\ub4dc\ub85c \uad6c\ud604\ud558\ub294 \ubc29\ubc95\uc744 \uc774\ud574\ud574\ubcf8\ub2e4. \ub610\ud55c, BioPython \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 UPGMA \ubc0f Neighbor-Joining(NJ) \uc54c\uace0\ub9ac\uc998\uc744 \uc774\uc6a9\ud558\uc5ec \uacc4\ud1b5\uc218\ub97c \uc0dd\uc131\ud558\ub294 \uacfc\uc815\uc744 \uc2e4\uc2b5\ud55c\ub2e4. 1. UPGMA Unweighted Pair Group Method with Arithmetic Means (UPGMA)\ub294 \uc11c\uc5f4 \uac04 distance\ub97c \uc774\uc6a9\ud574 phylogenetic tree\ub97c \uad6c\uc131\ud558\ub294 \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \ubc29\ubc95\uc774\ub2e4. \ubcf8 \uc2e4\uc2b5\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 \uc5b4\ub5bb\uac8c [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/\" \/>\n<meta property=\"og:site_name\" content=\"Biomedical Data Science Laboratory\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-14T17:38:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-20T03:50:00+00:00\" \/>\n<meta name=\"author\" content=\"sphong\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"sphong\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/activity_for_phylogenetic_tree\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/activity_for_phylogenetic_tree\\\/\"},\"author\":{\"name\":\"sphong\",\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/#\\\/schema\\\/person\\\/8d22f775fcc218b1184ec0d890034e9b\"},\"headline\":\"Activity for Phylogenetic Tree\",\"datePublished\":\"2024-04-14T17:38:31+00:00\",\"dateModified\":\"2026-04-20T03:50:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/activity_for_phylogenetic_tree\\\/\"},\"wordCount\":114,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/#organization\"},\"articleSection\":[\"Bioinformatics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/activity_for_phylogenetic_tree\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/activity_for_phylogenetic_tree\\\/\",\"url\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/activity_for_phylogenetic_tree\\\/\",\"name\":\"Activity for Phylogenetic Tree - Biomedical Data Science Laboratory\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/#website\"},\"datePublished\":\"2024-04-14T17:38:31+00:00\",\"dateModified\":\"2026-04-20T03:50:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/activity_for_phylogenetic_tree\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/activity_for_phylogenetic_tree\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/activity_for_phylogenetic_tree\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Activity for Phylogenetic Tree\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/\",\"name\":\"Biomedical Data Science Laboratory\",\"description\":\"Home page for Biomedical Data Science Laboratory.\",\"publisher\":{\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/#organization\",\"name\":\"Biomedical Data Science Laboratory\",\"url\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/logo.png\",\"width\":1792,\"height\":638,\"caption\":\"Biomedical Data Science Laboratory\"},\"image\":{\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/#\\\/schema\\\/person\\\/8d22f775fcc218b1184ec0d890034e9b\",\"name\":\"sphong\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-\uc99d\uba85\uc0ac\uc9c4-96x96.jpg\",\"url\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-\uc99d\uba85\uc0ac\uc9c4-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-\uc99d\uba85\uc0ac\uc9c4-96x96.jpg\",\"caption\":\"sphong\"},\"description\":\"Assistant professor Department of Molecular Biology Jeonbuk National University\",\"sameAs\":[\"https:\\\/\\\/bdsl.jbnu.ac.kr\"],\"url\":\"https:\\\/\\\/bdsl.jbnu.ac.kr\\\/blog\\\/author\\\/sphong\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Activity for Phylogenetic Tree - Biomedical Data Science Laboratory","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/","og_locale":"en_US","og_type":"article","og_title":"Activity for Phylogenetic Tree - Biomedical Data Science Laboratory","og_description":"UPGMA\ub294 \uc885\uc774\ub098 \uc720\uc804\uc790 \uc11c\uc5f4 \uac04\uc758 \uad00\uacc4\ub97c \uacc4\ud1b5\uc218\ub85c \ud45c\ud604\ud558\ub294 \ubc29\ubc95\uc774\ub2e4. \uc774 \ud65c\ub3d9\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 Python \ucf54\ub4dc\ub85c \uad6c\ud604\ud558\ub294 \ubc29\ubc95\uc744 \uc774\ud574\ud574\ubcf8\ub2e4. \ub610\ud55c, BioPython \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 UPGMA \ubc0f Neighbor-Joining(NJ) \uc54c\uace0\ub9ac\uc998\uc744 \uc774\uc6a9\ud558\uc5ec \uacc4\ud1b5\uc218\ub97c \uc0dd\uc131\ud558\ub294 \uacfc\uc815\uc744 \uc2e4\uc2b5\ud55c\ub2e4. 1. UPGMA Unweighted Pair Group Method with Arithmetic Means (UPGMA)\ub294 \uc11c\uc5f4 \uac04 distance\ub97c \uc774\uc6a9\ud574 phylogenetic tree\ub97c \uad6c\uc131\ud558\ub294 \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \ubc29\ubc95\uc774\ub2e4. \ubcf8 \uc2e4\uc2b5\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 \uc5b4\ub5bb\uac8c [&hellip;]","og_url":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/","og_site_name":"Biomedical Data Science Laboratory","article_published_time":"2024-04-14T17:38:31+00:00","article_modified_time":"2026-04-20T03:50:00+00:00","author":"sphong","twitter_card":"summary_large_image","twitter_misc":{"Written by":"sphong","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/#article","isPartOf":{"@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/"},"author":{"name":"sphong","@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/#\/schema\/person\/8d22f775fcc218b1184ec0d890034e9b"},"headline":"Activity for Phylogenetic Tree","datePublished":"2024-04-14T17:38:31+00:00","dateModified":"2026-04-20T03:50:00+00:00","mainEntityOfPage":{"@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/"},"wordCount":114,"commentCount":0,"publisher":{"@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/#organization"},"articleSection":["Bioinformatics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/","url":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/","name":"Activity for Phylogenetic Tree - Biomedical Data Science Laboratory","isPartOf":{"@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/#website"},"datePublished":"2024-04-14T17:38:31+00:00","dateModified":"2026-04-20T03:50:00+00:00","breadcrumb":{"@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/activity_for_phylogenetic_tree\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bdsl.jbnu.ac.kr\/blog\/"},{"@type":"ListItem","position":2,"name":"Activity for Phylogenetic Tree"}]},{"@type":"WebSite","@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/#website","url":"https:\/\/bdsl.jbnu.ac.kr\/blog\/","name":"Biomedical Data Science Laboratory","description":"Home page for Biomedical Data Science Laboratory.","publisher":{"@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bdsl.jbnu.ac.kr\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/#organization","name":"Biomedical Data Science Laboratory","url":"https:\/\/bdsl.jbnu.ac.kr\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-content\/uploads\/2022\/11\/logo.png","contentUrl":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-content\/uploads\/2022\/11\/logo.png","width":1792,"height":638,"caption":"Biomedical Data Science Laboratory"},"image":{"@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/#\/schema\/person\/8d22f775fcc218b1184ec0d890034e9b","name":"sphong","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-content\/uploads\/2022\/04\/cropped-\uc99d\uba85\uc0ac\uc9c4-96x96.jpg","url":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-content\/uploads\/2022\/04\/cropped-\uc99d\uba85\uc0ac\uc9c4-96x96.jpg","contentUrl":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-content\/uploads\/2022\/04\/cropped-\uc99d\uba85\uc0ac\uc9c4-96x96.jpg","caption":"sphong"},"description":"Assistant professor Department of Molecular Biology Jeonbuk National University","sameAs":["https:\/\/bdsl.jbnu.ac.kr"],"url":"https:\/\/bdsl.jbnu.ac.kr\/blog\/author\/sphong\/"}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"sphong","author_link":"https:\/\/bdsl.jbnu.ac.kr\/blog\/author\/sphong\/"},"uagb_comment_info":0,"uagb_excerpt":"UPGMA\ub294 \uc885\uc774\ub098 \uc720\uc804\uc790 \uc11c\uc5f4 \uac04\uc758 \uad00\uacc4\ub97c \uacc4\ud1b5\uc218\ub85c \ud45c\ud604\ud558\ub294 \ubc29\ubc95\uc774\ub2e4. \uc774 \ud65c\ub3d9\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 Python \ucf54\ub4dc\ub85c \uad6c\ud604\ud558\ub294 \ubc29\ubc95\uc744 \uc774\ud574\ud574\ubcf8\ub2e4. \ub610\ud55c, BioPython \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 UPGMA \ubc0f Neighbor-Joining(NJ) \uc54c\uace0\ub9ac\uc998\uc744 \uc774\uc6a9\ud558\uc5ec \uacc4\ud1b5\uc218\ub97c \uc0dd\uc131\ud558\ub294 \uacfc\uc815\uc744 \uc2e4\uc2b5\ud55c\ub2e4. 1. UPGMA Unweighted Pair Group Method with Arithmetic Means (UPGMA)\ub294 \uc11c\uc5f4 \uac04 distance\ub97c \uc774\uc6a9\ud574 phylogenetic tree\ub97c \uad6c\uc131\ud558\ub294 \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \ubc29\ubc95\uc774\ub2e4. \ubcf8 \uc2e4\uc2b5\uc5d0\uc11c\ub294 \ud574\ub2f9 \uc54c\uace0\ub9ac\uc998\uc744 \uc5b4\ub5bb\uac8c&hellip;","_links":{"self":[{"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/posts\/3630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/comments?post=3630"}],"version-history":[{"count":28,"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/posts\/3630\/revisions"}],"predecessor-version":[{"id":4647,"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/posts\/3630\/revisions\/4647"}],"wp:attachment":[{"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/media?parent=3630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/categories?post=3630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bdsl.jbnu.ac.kr\/blog\/wp-json\/wp\/v2\/tags?post=3630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}