{"id":160,"date":"2015-12-10T16:52:08","date_gmt":"2015-12-10T07:52:08","guid":{"rendered":"http:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/?page_id=160"},"modified":"2015-12-18T14:20:54","modified_gmt":"2015-12-18T05:20:54","slug":"c%e8%a8%80%e8%aa%9e%e8%ac%9b%e5%ba%a7%e3%80%80%e7%ac%ac%ef%bc%91%ef%bc%90%e5%9b%9e","status":"publish","type":"page","link":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/?page_id=160","title":{"rendered":"C\u8a00\u8a9e\u8b1b\u5ea7\u3000\u7b2c\uff11\uff10\u56de"},"content":{"rendered":"<h2>\u63a5\u89e6\u539f\u5b50\u306e\u8a08\u7b97<\/h2>\n<p>\u4eca\u56de\u306f\u30bf\u30f3\u30d1\u30af\u8cea\u306e\u7acb\u4f53\u69cb\u9020\u5ea7\u6a19\u3092\u4f7f\u3063\u305f\u8a08\u7b97\u3092\u884c\u3046\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u308a\u307e\u3059\u3002\u5177\u4f53\u7684\u306b\u306f\u3001\u30ea\u30ac\u30f3\u30c9\u3068\u306e\u7d50\u5408\u306b\u95a2\u308f\u308b\u30bf\u30f3\u30d1\u30af\u8cea\u539f\u5b50\u3092\u6c42\u3081\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\u3002\u30bf\u30f3\u30d1\u30af\u8cea\u3092\u69cb\u6210\u3059\u308b\u539f\u5b50\u3068\u30ea\u30ac\u30f3\u30c9\u3092\u69cb\u6210\u3059\u308b\u539f\u5b50\u306e\u8ddd\u96e2\u304c4.0\u00c5\u672a\u6e80\uff08\u6c34\u5206\u5b50\u304c\u5165\u308a\u8fbc\u3081\u306a\u3044\u8ddd\u96e2\uff09\u306e\u5834\u5408\u306b\u305d\u308c\u3089\u306e\u539f\u5b50\u306f\u63a5\u89e6\u3057\u3066\u3044\u308b\u3068\u898b\u306a\u3057\u3001\u63a5\u89e6\u3057\u3066\u3044\u308b\u539f\u5b50\u30da\u30a2\u3092\u30ea\u30b9\u30c8\u30a2\u30c3\u30d7\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u5fc5\u8981\u306a\u3053\u3068\u306f\u3001<\/p>\n<ul>\n<li>PDB\u306e\u5ea7\u6a19\u30c7\u30fc\u30bf\u304b\u3089\u30bf\u30f3\u30d1\u30af\u8cea\u306e\u539f\u5b50\u5ea7\u6a19\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080\u3002<\/li>\n<li>PDB\u306e\u5ea7\u6a19\u30c7\u30fc\u30bf\u304b\u3089\u30ea\u30ac\u30f3\u30c9\u306e\u539f\u5b50\u5ea7\u6a19\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080\u3002<\/li>\n<li>\u30bf\u30f3\u30d1\u30af\u8cea\u539f\u5b50\u3068\u30ea\u30ac\u30f3\u30c9\u539f\u5b50\u306e\u8ddd\u96e2\u3092\u8a08\u7b97\u3059\u308b\u3002<\/li>\n<li>\u539f\u5b50\u9593\u8ddd\u96e2\u304c4.0\u00c5\u672a\u6e80\u306e\u539f\u5b50\u30da\u30a2\u3092\u51fa\u529b\u3059\u308b\u3002<\/li>\n<\/ul>\n<p>\u306e\uff14\u3064\u306e\u884c\u7a0b\u3067\u3059\u3002<\/p>\n<p>\u3053\u306e\u3046\u3061\u3001\u539f\u5b50\u5ea7\u6a19\u306e\u30c7\u30fc\u30bf\u3067\u3059\u304c\u3001\u7d14\u7c8b\u306b\u8ddd\u96e2\u3060\u3051\u3092\u8a08\u7b97\u3059\u308b\u3060\u3051\u3067\u3042\u308c\u3070xyz\u5ea7\u6a19\u3060\u3051\u3092\u8aad\u307f\u8fbc\u3081\u3070\u5341\u5206\u3067\u3059\u3002\u3057\u304b\u3057\u3001\u4eca\u56de\u4f5c\u308a\u305f\u3044\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u306f\u6700\u5f8c\u306b\u3069\u306e\u539f\u5b50\u30da\u30a2\u304c\u63a5\u89e6\u3057\u3066\u3044\u308b\u304b\u3092\u51fa\u529b\u3059\u308b\u306e\u3067\u3001xyz\u5ea7\u6a19\u304c\u3069\u306e\u539f\u5b50\u306e\u3082\u306e\u306a\u306e\u304b\u3082\u8a18\u9332\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u4e00\u756a\u5358\u7d14\u306b\u306fxyz\u5ea7\u6a19\u3068\u539f\u5b50\u540d\u3001\u30a2\u30df\u30ce\u9178\u6b8b\u57fa\u540d\u306a\u3069\u3092\u8a18\u61b6\u3059\u308b\u5909\u6570\u3092\u5225\u3005\u306b\u4f5c\u6210\u3059\u308b\u65b9\u6cd5\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u305d\u308c\u3067\u306f\u3044\u308d\u3044\u308d\u3068\u7ba1\u7406\u304c\u9762\u5012\u3067\u3059\u3002\u4eca\u56de\u306e\u4f8b\u306e\u3088\u3046\u306axyz\u5ea7\u6a19\u3068\u539f\u5b50\u540d\u306a\u3069\u306e\u7570\u8cea\u306a\u30c7\u30fc\u30bf\u3092\u4e00\u5ea6\u306b\u7ba1\u7406\u3059\u308b\u4ed5\u7d44\u307f\u304c\uff23\u8a00\u8a9e\u306b\u306f\u3042\u308a\u3001\u69cb\u9020\u4f53\u3068\u547c\u3070\u308c\u307e\u3059\u3002\u69cb\u9020\u4f53\u306f\u3001<\/p>\n<pre class=\"brush: cpp; light: true; title: ; notranslate\" title=\"\">\r\nstruct HOGE {\r\n     int   member1;\r\n     char  member2&#x5B;5];\r\n     float member3;\r\n} hoge;\r\n<\/pre>\n<p>\u3068\u3044\u3046\u5f62\u3067\u5ba3\u8a00\u3055\u308c\u308b\u3053\u3068\u304c\u57fa\u672c\u3068\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u5ba3\u8a00\u306e\u5834\u5408\u3001\u30e1\u30f3\u30d0\u30fc\u3068\u3057\u3066int\u578b\u306e\u5909\u6570member1\u3068char\u578b\u306e\u914d\u5217member2[5]\u3001float\u578b\u306e\u5909\u6570member3\u304c\u542b\u307e\u308c\u3066\u3044\u308bHOGE\u3068\u3044\u3046\u69cb\u9020\u4f53\u3068\u3057\u3066hoge\u304c\u4f5c\u3089\u308c\u307e\u3059\u3002\u305d\u308c\u305e\u308c\u306e\u30e1\u30f3\u30d0\u30fc\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u5834\u5408\u306f\u3001\u4f8b\u3048\u3070\u3001<\/p>\n<pre class=\"brush: cpp; light: true; title: ; notranslate\" title=\"\">\r\nprintf(&quot;%d %s %f\\n&quot;, hoge.member1, hoge.member2, hoge.member3);\r\n<\/pre>\n<p>\u306e\u3088\u3046\u306b\u306a\u308a\u3001\u69cb\u9020\u4f53\u306e\u540d\u524d\u3068\u30e1\u30f3\u30d0\u30fc\u306e\u540d\u524d\u3092\".\"\uff08\u30d4\u30ea\u30aa\u30c9\uff09\u3067\u3064\u306a\u304e\u307e\u3059\u3002<\/p>\n<p>\u306a\u304a\u3001\u69cb\u9020\u4f53\u306e\u5ba3\u8a00\u3067\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u308b\u65b9\u6cd5\u3068\u3057\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; light: true; title: ; notranslate\" title=\"\">\r\ntypedef struct HOGE {\r\n     int   member1;\r\n     char  member2&#x5B;5];\r\n     float member3;\r\n} hoge_t;\r\n<\/pre>\n<p>\u8a73\u3057\u3044\u8aac\u660e\u306f\u7701\u304d\u307e\u3059\u304c\u3001\u3053\u306e\u3088\u3046\u306b\u5ba3\u8a00\u3059\u308b\u3053\u3068\u3067\"hoge_t\"\u3068\u3044\u3046\u6587\u5b57\u5217\u306bint\u3084char\u3068\u540c\u3058\u3088\u3046\u306a\u5f79\u76ee\u3092\u6301\u305f\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u3053\u306e\u5ba3\u8a00\u306e\u5f8c\u306b<\/p>\n<pre class=\"brush: cpp; light: true; title: ; notranslate\" title=\"\">\r\nhoge_t hoge;\r\n<\/pre>\n<p>\u3068\u3055\u3089\u306b\u5ba3\u8a00\u3059\u308b\u3068\u3001HOGE\u69cb\u9020\u4f53\u3067\u3042\u308bhoge\u304c\u5ba3\u8a00\u3067\u304d\u307e\u3059\u3002\u3044\u3063\u3066\u3057\u307e\u3048\u3070\u3001hoge_t\u578b\u3068\u3044\u3046\u5909\u6570\u304c\u3067\u304d\u305f\u3088\u3046\u306a\u3082\u306e\u3067\u3059\u3002<\/p>\n<p>\u3067\u306f\u3001\u3053\u306e\u69cb\u9020\u4f53\u306e\u8a71\u3092\u3075\u307e\u3048\u3066\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4e2d\u8eab\u3092\u8003\u3048\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>main()\u95a2\u6570<\/h3>\n<p>\u307e\u305a\u3001\u5404\u7a2e\u306e\u6e96\u5099\u3068main()\u95a2\u6570\u306e\u4e2d\u8eab\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u306f\u3001\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u306e\u5f15\u6570\u304b\u3089PDB\u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d\u3092\u53d7\u3051\u53d6\u308b\u3088\u3046\u306b\u8a2d\u8a08\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;stdio.h&gt;\r\n#include &lt;string.h&gt;\r\n#include &lt;stdlib.h&gt;\r\n#include &lt;math.h&gt;\r\n    \r\n#define MAXCHR      128\r\n#define MAXATOM     5000\r\n#define MAXHET      200\r\n\r\ntypedef struct PDB { \r\n    char  atomName&#x5B;5];\r\n    char  resName&#x5B;4];\r\n    char  ch;\r\n    char  resNum&#x5B;5];\r\n    float e&#x5B;3];\r\n} pdb_t;\r\n\r\nint main(int argc, char *argv&#x5B;])\r\n{\r\n    int     atomNum;\r\n    int     hetNum;\r\n    pdb_t   atom&#x5B;MAXATOM];\r\n    pdb_t   hetatm&#x5B;MAXHET];\r\n    float   dis&#x5B;MAXATOM]&#x5B;MAXHET];\r\n    FILE   *fp;\r\n\r\n    int    ReadPDB(FILE *, pdb_t &#x5B;], char *);\r\n    void   CalcDis(int, int, pdb_t &#x5B;], pdb_t &#x5B;], float &#x5B;]&#x5B;MAXHET]);\r\n    void   ShowContact(int, int, pdb_t &#x5B;], pdb_t &#x5B;], float &#x5B;]&#x5B;MAXHET]);\r\n   \r\n    if (argc != 2) {\r\n        fprintf(stderr, &quot;%s  PDBFILE\\n&quot;, argv&#x5B;0]);\r\n        exit(1);\r\n    }\r\n\r\n    if ((fp = fopen( argv&#x5B;1], &quot;r&quot;)) == NULL) {\r\n        fprintf(stderr, &quot;main(): Cannot open file %s\\n&quot;, argv&#x5B;1]);\r\n        exit(1);\r\n    }\r\n\r\n    atomNum = ReadPDB(fp, atom, &quot;ATOM  &quot;);\r\n    rewind(fp);\r\n    hetNum = ReadPDB(fp, hetatm, &quot;HETATM&quot;);\r\n    CalcDis(atomNum, hetNum, atom, hetatm, dis);\r\n    ShowContact(atomNum, hetNum, atom, hetatm, dis);\r\n    return 0;\r\n}\r\n<\/pre>\n<p>10\u884c\u76ee\u304b\u308916\u884c\u76ee\u306b\u5148\u307b\u3069\u8aac\u660e\u3057\u305f\u69cb\u9020\u4f53\u306e\u5ba3\u8a00\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u5ba3\u8a00\u3092\u3053\u306e\u5834\u6240\u3067\u3059\u308b\u3053\u3068\u3067\u3001\u3053\u308c\u4ee5\u964d\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3067\u306f\"pdb_t\"\u3068\u3044\u3046\u6587\u5b57\u5217\u304c\u3042\u308c\u3070\u3001atomName[5], resName[4], ch, resNum[5], float[3]\u306e\u30e1\u30f3\u30d0\u30fc\u3092\u6301\u3064\u69cb\u9020\u4f53\u578b\u3092\u793a\u3057\u307e\u3059\u3002\u4e00\u822c\u306b\u306f\u3001typedef\u306b\u3088\u308b\u69cb\u9020\u4f53\u306e\u5ba3\u8a00\u306f\u3001\u95a2\u6570\u306e\u5916\u3067\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u6700\u521d\u306b\u307e\u3068\u3081\u3066\u884c\u3044\u307e\u3059\u3002<\/p>\n<p>22\u884c\u76ee\u306823\u884c\u76ee\u3067pdb_t\u578b\u306e\u69cb\u9020\u4f53\u3092\u5ba3\u8a00\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u308c\u305e\u308c\u3001\u30bf\u30f3\u30d1\u30af\u8cea\u3092\u69cb\u6210\u3059\u308b\u539f\u5b50\uff08\u4ee5\u964d\u3001atom\u539f\u5b50\u3068\u3057\u307e\u3059\uff09\u306e\u30c7\u30fc\u30bf\u3092\u3057\u307e\u3046pdb[]\u3068\u30ea\u30ac\u30f3\u30c9\u3092\u69cb\u6210\u3059\u308b\u539f\u5b50\uff08\u4ee5\u964d\u3001hetatm\u539f\u5b50\u3068\u3057\u307e\u3059\uff09\u306e\u30c7\u30fc\u30bf\u3092\u3057\u307e\u3046\u69cb\u9020\u4f53\u3067\u3059\u3002<\/p>\n<p>27\u884c\u76ee\u304b\u308929\u884c\u76ee\u3067\u4f7f\u3046\u95a2\u6570\u306e\u5ba3\u8a00\u3092\u3057\u3066\u3044\u307e\u3059\u304c\u5c11\u3057\u6ce8\u610f\u70b9\u304c\u3042\u308a\u307e\u3059\u3002CalcDis()\u95a2\u6570\u304a\u3088\u3073ShowContact()\u95a2\u6570\u306b\u6e21\u3059\u5f15\u6570\u306e\u6700\u5f8c\u306b\"float [][MAXHET]\"\u3068\u3044\u3046\u8a18\u8ff0\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u3001\uff12\u6b21\u5143\u306e\u914d\u5217\u3092\u5f15\u6570\u3068\u3057\u3066\u6e21\u3059\u3053\u3068\u3092\u5ba3\u8a00\u3059\u308b\u5834\u5408\u306f\u3001\u6700\u5f8c\u306e\u6b21\u5143\u306e\u5927\u304d\u3055\u3092\u5fc5\u305a\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u305f\u3081\u3067\u3059\u3002<\/p>\n<p>atom\u539f\u5b50\u3068hetatm\u539f\u5b50\u306e\u30c7\u30fc\u30bf\u306f41\u884c\u76ee\u306843\u884c\u76ee\u306eReadPDB()\u95a2\u6570\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002PDB\u306e\u30c7\u30fc\u30bf\u3092\u601d\u3044\u51fa\u3057\u3066\u3082\u3089\u3046\u3068\u308f\u304b\u308a\u307e\u3059\u304c\u3001\u30bf\u30f3\u30d1\u30af\u8cea\u306e\u539f\u5b50\u5ea7\u6a19\u306e\u6587\u982d\u306f\"ATOM \"\u3067\u3042\u308a\u3001\u30ea\u30ac\u30f3\u30c9\u306e\u539f\u5b50\u5ea7\u6a19\u306e\u6587\u982d\u306f\"HETATM\"\u3067\u3042\u308b\u4ee5\u5916\u306f\u57fa\u672c\u7684\u306b\u540c\u3058\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3067\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001\"ATOM \"\u304b\u3089\u59cb\u307e\u308b\u884c\u3092\u8aad\u3080\u304b\"HETATM\"\u304b\u3089\u59cb\u307e\u308b\u884c\u3092\u8aad\u3080\u304b\u3092ReadPDB()\u95a2\u6570\u306b\u6e21\u3057\u3066\u3084\u308b\u3053\u3068\u3067\u3001atom\u539f\u5b50\u3068hetatm\u539f\u5b50\u306e\u3069\u3061\u3089\u306e\u30c7\u30fc\u30bf\u3067\u3082\u540c\u3058\u95a2\u6570\u3067\u8aad\u307f\u8fbc\u3081\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u65b0\u3057\u3044\u8981\u7d20\u3068\u3057\u3066\u300142\u884c\u76ee\u306erewind()\u95a2\u6570\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u95a2\u6570\u306f\u6700\u5f8c\u307e\u3067\u8aad\u307f\u8fbc\u307f\u7d42\u3048\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u307e\u305f\u6700\u521d\u304b\u3089\u8aad\u307f\u8fbc\u3080\u3088\u3046\u306b\u3059\u308b\u95a2\u6570\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001ReadPDB()\u95a2\u6570\u3067atom\u539f\u5b50\u3092\u8aad\u3080\u969b\u306b\u6700\u5f8c\u307e\u3067\u8aad\u307f\u7d42\u3048\u3066\u3057\u307e\u3063\u305fPDB\u306e\u30c7\u30fc\u30bf\u304c\u5165\u3063\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u3001\u3082\u3046\u4e00\u5ea6\u6700\u521d\u304b\u3089\u8aad\u3081\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<h3>ReadPDB()\u95a2\u6570<\/h3>\n<p>\u6b21\u306f\u3001PDB\u306e\u5ea7\u6a19\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080\u305f\u3081\u306e\u95a2\u6570\u3001ReadPDB()\u95a2\u6570\u3067\u3059\u3002<\/p>\n<p>ReadPDB()\u95a2\u6570\u306f\u3001PDB\u30d5\u30a1\u30a4\u30eb\u306e\u30dd\u30a4\u30f3\u30bf\u3001\u5ea7\u6a19\u30c7\u30fc\u30bf\u3092\u5165\u308c\u308b\u69cb\u9020\u4f53\u30c7\u30fc\u30bf\u3001\u3069\u306e\u884c\u3092\u8aad\u307f\u8fbc\u3080\u304b\u3092\u5224\u65ad\u3059\u308b\u30bf\u30b0\u306e\uff13\u3064\u3092\u5f15\u6570\u3068\u3057\u307e\u3059\u3002\u8fd4\u308a\u5024\u306f\u3001\u8aad\u307f\u8fbc\u3093\u3060\u539f\u5b50\u306e\u6570\u3067\u3059\u3002<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nint  ReadPDB(FILE *fp, pdb_t pdb&#x5B;], char *str)\r\n{\r\n    int   num = 0;\r\n    char  line&#x5B;MAXCHR];\r\n\r\n    while (fgets(line, MAXCHR, fp) != NULL) {\r\n        if (strncmp(line, str, 6) == 0) {\r\n            strncpy(pdb&#x5B;num].atomName, &amp;line&#x5B;12], 4);\r\n            pdb&#x5B;num].atomName&#x5B;4] = '&#92;&#48;';\r\n            strncpy(pdb&#x5B;num].resName, &amp;line&#x5B;17], 3);\r\n            pdb&#x5B;num].resName&#x5B;3] = '&#92;&#48;';\r\n            pdb&#x5B;num].ch = line&#x5B;21];\r\n            strncpy(pdb&#x5B;num].resNum, &amp;line&#x5B;22], 4);\r\n            pdb&#x5B;num].resNum&#x5B;4] = '&#92;&#48;';\r\n            pdb&#x5B;num].e&#x5B;0] = atof(&amp;line&#x5B;30]);\r\n            pdb&#x5B;num].e&#x5B;1] = atof(&amp;line&#x5B;38]);\r\n            pdb&#x5B;num].e&#x5B;2] = atof(&amp;line&#x5B;46]);\r\n\r\n            num++;\r\n        }\r\n    }\r\n    return num;\r\n}\r\n<\/pre>\n<p>6\u884c\u76ee\u306f\u3053\u308c\u307e\u3067\u306b\u3082\u51fa\u3066\u304d\u305f\u3088\u3046\u306b\u3001\u30d5\u30a1\u30a4\u30ebfp\u304b\u3089\uff11\u884c\u8aad\u307f\u8fbc\u307f\u3001MAXCHR\u306e\u6570\u3060\u3051\u6587\u5b57\u5217line\u306b\u4ee3\u5165\u3057\u307e\u3059\u3002<\/p>\n<p>7\u884c\u76ee\u3067\u306f\u6587\u5b57\u5217line\u306e\u5148\u982d\u304b\u3089\uff16\u6587\u5b57\u3068str\u306e\u4e2d\u8eab\u3092\u6bd4\u8f03\u3057\u307e\u3059\u3002str\u306f\"ATOM \"\u3082\u3057\u304f\u306f\"HETATM\"\u306a\u306e\u3067\u3001\"ATOM \"\u306e\u5834\u5408\u306fPDB\u306eatom\u539f\u5b50\u306e\u5ea7\u6a19\u30c7\u30fc\u30bf\u304c\u66f8\u3044\u3066\u3042\u308b\u884c\u3068\u30de\u30c3\u30c1\u3057\u3001\"HETATM\"\u306e\u5834\u5408\u306fPDB\u306ehetatm\u539f\u5b50\u306e\u5ea7\u6a19\u30c7\u30fc\u30bf\u304c\u66f8\u3044\u3066\u3042\u308b\u884c\u3068\u30de\u30c3\u30c1\u3057\u307e\u3059\u3002<\/p>\n<p>8\u884c\u76ee\u304b\u308919\u884c\u76ee\u306f\u3054\u3061\u3083\u3054\u3061\u3083\u3068\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u304c\u3001pdb_t\u578b\u306e\u69cb\u9020\u4f53\u306b\u5ea7\u6a19\u30c7\u30fc\u30bf\u3092\u4ee3\u5165\u3057\u3066\u3044\u308b\u90e8\u5206\u3067\u3059\u30028\u884c\u76ee\u306f\u3001\u6587\u5b57\u5217line\u306e13\u6587\u5b57\u76ee\u304b\u30894\u6587\u5b57\u5206\u3092num\u756a\u76ee\u306e\u69cb\u9020\u4f53pdb\u306eatomName\u3068\u3044\u3046\u6587\u5b57\u5217\u30e1\u30f3\u30d0\u30fc\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\u30029\u884c\u76ee\u306fatomName\u306b\u4ee3\u5165\u3057\u305f\u6587\u5b57\u5217\u306e\u6700\u5f8c\u3092\u660e\u793a\u3059\u308b\u305f\u3081\u306e\u547d\u4ee4\u3067\u3059\u3002\u3053\u306e\u884c\u306f\u5fd8\u308c\u3084\u3059\u3044\u306e\u3067\u6ce8\u610f\u3057\u3066\u4e0b\u3055\u3044\u300212\u884c\u76ee\u3092\u9664\u304f10\u884c\u76ee\u304b\u308914\u884c\u76ee\u306f\u540c\u3058\u3088\u3046\u306a\u5185\u5bb9\u3067\u3059\u300215\u884c\u76ee\u306f\u6587\u5b57\u5217line\u306e31\u6587\u5b57\u76ee\u304b\u3089\u5b58\u5728\u3059\u308b\u6570\u5b57\uff08\u3053\u308c\u306fx\u5ea7\u6a19\u306b\u306a\u308a\u307e\u3059\uff09\u3092float\u578b\u306e\u5909\u6570\u306b\u5909\u63db\u3057\u3066num\u756a\u76ee\u306e\u69cb\u9020\u4f53pdb\u306ee[0]\u30e1\u30f3\u30d0\u30fc\u306b\u4ee3\u5165\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3>CalcDis()\u95a2\u6570<\/h3>\n<p>\u6b21\u306f\u3001atom\u539f\u5b50\u3068hetatm\u539f\u5b50\u306e\u3059\u3079\u3066\u306e\u30da\u30a2\u306b\u3064\u3044\u3066\u539f\u5b50\u9593\u8ddd\u96e2\u3092\u8a08\u7b97\u3059\u308b\u305f\u3081\u306e\u95a2\u6570\u3001CalcDis()\u95a2\u6570\u3067\u3059\u3002<\/p>\n<p>CalcDis()\u95a2\u6570\u306f\u3001atom\u539f\u5b50\u306e\u6570\u3001hetatm\u539f\u5b50\u306e\u6570\u3001atom\u539f\u5b50\u306e\u69cb\u9020\u4f53\u30c7\u30fc\u30bf\u3001hetatm\u539f\u5b50\u306e\u69cb\u9020\u4f53\u30c7\u30fc\u30bf\u3001\u539f\u5b50\u9593\u8ddd\u96e2\u3092\u5165\u308c\u308b\u4e8c\u6b21\u5143\u914d\u5217\u3092\u5f15\u6570\u3068\u3057\u3066\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002\u3053\u306e\u95a2\u6570\u3067\u306f\u7279\u306b\u8fd4\u308a\u5024\u306f\u3082\u3046\u3051\u307e\u305b\u3093\u3002<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nvoid  CalcDis(int atomNum, int hetNum, pdb_t atom&#x5B;], pdb_t het&#x5B;], float dis&#x5B;]&#x5B;MAXHET])\r\n{\r\n    int   i, j;\r\n\r\n    float Distance(float &#x5B;], float &#x5B;]);\r\n\r\n    for (i = 0; i &lt; atomNum; i++) {\r\n        for (j = 0; j &lt; hetNum; j++) {\r\n            dis&#x5B;i]&#x5B;j] = Distance(atom&#x5B;i].e, het&#x5B;j].e);\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>5\u884c\u76ee\u3067\u5b9f\u969b\u306e\u8ddd\u96e2\u8a08\u7b97\u3092\u884c\u3046\u95a2\u6570Distance()\u306e\u5ba3\u8a00\u3092\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>7\u884c\u76ee\u304b\u308911\u884c\u76ee\u3067\u3001\u3059\u3079\u3066\u306eatom\u539f\u5b50\u3068\u3059\u3079\u3066\u306ehetatm\u539f\u5b50\u306e\u9593\u306e\u8ddd\u96e2\u3092\u3001Distance()\u95a2\u6570\u306b\u305d\u308c\u305e\u308c\u306e\u5ea7\u6a19\u30c7\u30fc\u30bf\u3092\u6e21\u3059\u3053\u3068\u3067\u8a08\u7b97\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3>Distance()\u95a2\u6570<\/h3>\n<p>\u6b21\u306f\u3001\uff13\u6b21\u5143\u5ea7\u6a19\u304b\u3089\u8ddd\u96e2\u3092\u8a08\u7b97\u3059\u308b\u305f\u3081\u306e\u95a2\u6570\u3001Distance()\u95a2\u6570\u3067\u3059\u3002<\/p>\n<p>Distance()\u95a2\u6570\u306f\u3001\u5f15\u6570\u3068\u3057\u3066\uff13\u3064\u306e\u8981\u7d20\u304b\u3089\u306a\u308bfloat\u914d\u5217\u3092\uff12\u500b\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002\uff13\u3064\u306e\u8981\u7d20\u306f\u3001\u305d\u308c\u305e\u308c\u539f\u5b50\u306exyz\u5ea7\u6a19\u304c\u5165\u308a\u307e\u3059\u3002\u3053\u306e\u95a2\u6570\u304c\u8fd4\u3059\u8fd4\u308a\u5024\u306f\u8a08\u7b97\u3057\u305f\u8ddd\u96e2\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nfloat  Distance(float e1&#x5B;3], float e2&#x5B;3])\r\n{\r\n    float  dis;\r\n\r\n    dis = pow(e1&#x5B;0]-e2&#x5B;0], 2.0) +\r\n          pow(e1&#x5B;1]-e2&#x5B;1], 2.0) +\r\n          pow(e1&#x5B;2]-e2&#x5B;2], 2.0);\r\n\r\n    return sqrt(dis);\r\n}\r\n<\/pre>\n<p>(x1, y1, z1)\u3068(x2, y2, z2)\u306e\u8ddd\u96e2d\u306f(x1-x2)<sup>2<\/sup>+(y1-y2)<sup>2<\/sup>+(z1-z2)<sup>2<\/sup>\u306e\u5e73\u65b9\u6839\u3092\u53d6\u3063\u305f\u3082\u306e\u306a\u306e\u3067\u3001\u307e\u305a\u306f\uff15\u884c\u76ee\u304b\u3089\uff17\u884c\u76ee\u306b\u3042\u308b\u3088\u3046\u306a\u5f0f\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002pow()\u95a2\u6570\u306f\u3001double\u578b\u306e\u5f15\u6570\u3092\uff12\u3064\u53d6\u308a\u3001\uff11\u3064\u76ee\u306e\u5f15\u6570\u3092\uff12\u3064\u76ee\u306e\u5f15\u6570\u4e57\u3059\u308b\u95a2\u6570\u3067\u3059\u3002\u306a\u304a\u3001pow()\u95a2\u6570\u3092\u4f7f\u3046\u306b\u306fmath.h\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n<h3>ShowContact()\u95a2\u6570<\/h3>\n<p>\u6b21\u306f\u3001\u539f\u5b50\u9593\u8ddd\u96e2\u306e\u30c7\u30fc\u30bf\u304b\u3089\u63a5\u89e6\u539f\u5b50\u30da\u30a2\u3092\u51fa\u529b\u3059\u308b\u305f\u3081\u306e\u95a2\u6570\u3001ShowContact()\u95a2\u6570\u3067\u3059\u3002<\/p>\n<p>ShowContact()\u95a2\u6570\u306f\u3001atom\u539f\u5b50\u306e\u6570\u3001hetatm\u539f\u5b50\u306e\u6570\u3001atom\u539f\u5b50\u306e\u69cb\u9020\u4f53\u30c7\u30fc\u30bf\u3001hetatm\u539f\u5b50\u306e\u69cb\u9020\u4f53\u30c7\u30fc\u30bf\u3001\u539f\u5b50\u9593\u8ddd\u96e2\u304c\u5165\u3063\u305f\u4e8c\u6b21\u5143\u914d\u5217\u3092\u5f15\u6570\u3068\u3057\u3066\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nvoid  ShowContact(int atomNum, int hetNum, pdb_t atom&#x5B;], pdb_t het&#x5B;], float dis&#x5B;]&#x5B;MAXHET])\r\n{\r\n    int   i, j;\r\n\r\n    for (i = 0; i &lt; atomNum; i++) {\r\n        for (j = 0; j &lt; hetNum; j++) {\r\n            if (dis&#x5B;i]&#x5B;j] &lt; 4.0) {\r\n                printf(&quot;%3s %c %4s %5s  - %3s %c %4s %5s %6.2f\\n&quot;,\r\n                        atom&#x5B;i].resName, atom&#x5B;i].ch,\r\n                        atom&#x5B;i].resNum, atom&#x5B;i].atomName,\r\n                        het&#x5B;j].resName, het&#x5B;j].ch,\r\n                        het&#x5B;j].resNum, het&#x5B;j].atomName,\r\n                        dis&#x5B;i]&#x5B;j]);\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>\u3053\u306e\u95a2\u6570\u3067\u306f\u7279\u306b\u65b0\u3057\u3044\u3053\u3068\u306f\u3084\u3063\u3066\u3044\u307e\u305b\u3093\u3002i\u756a\u76ee\u306eatom\u539f\u5b50\u3068j\u756a\u76ee\u306ehetatm\u539f\u5b50\u306e\u539f\u5b50\u9593\u8ddd\u96e2\u304c4.0\u00c5\u3067\u3042\u308c\u3070\u3001i\u756a\u76ee\u306eatom\u539f\u5b50\u306e\u30c7\u30fc\u30bf\uff08\u539f\u5b50\u540d\u3084\u6b8b\u57fa\u540d\u306a\u3069\uff09\u3068j\u756a\u76ee\u306ehetatm\u539f\u5b50\u306e\u30c7\u30fc\u30bf\u3092\u51fa\u529b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u307e\u3067\u306b\u6bd4\u3079\u3066\u5927\u5206\u91cd\u305f\u3044\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306b\u306a\u308a\u307e\u3057\u305f\u304c\u3001\u4ee5\u4e0a\u3067\u89e3\u8aac\u306f\u7d42\u308f\u308a\u3067\u3059\u3002\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306bcontact.c\u3068\u540d\u524d\u3092\u4ed8\u3051\u3066\u4fdd\u5b58\u3057\u307e\u3057\u3087\u3046\u3002\u6b21\u306b\u3001<\/p>\n<pre>\r\ncc -o contact contact.c -lm\r\n<\/pre>\n<p>\u3068\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u307e\u3059\u3002pow()\u95a2\u6570\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067-lm\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u3066\u4e0b\u3055\u3044\u3002<\/p>\n<p>\u6b21\u306bPDB\u304b\u3089\u9069\u5f53\u306a\u30d5\u30a1\u30a4\u30eb\uff08\u4f8b\u3048\u3070PDB ID\u304c1mbs\uff09\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5b9f\u884c\u3057\u3066\u307f\u3066\u4e0b\u3055\u3044\u3002\u3046\u307e\u304f\u7d50\u679c\u304c\u51fa\u529b\u3055\u308c\u305f\u3067\u3057\u3087\u3046\u304b\uff1fsegmentation fault\u306a\u3069\u306b\u306a\u3063\u305f\u3089\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u3082\u3046\u4e00\u5ea6\u898b\u76f4\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u306a\u304a\u3001\u4eca\u56de\u4f5c\u6210\u3057\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3001\u3059\u3079\u3066\u306ePDB\u30c7\u30fc\u30bf\u306b\u5bfe\u5fdc\u3067\u304d\u308b\u3088\u3046\u306b\u306f\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3002\u4f8b\u3048\u3070\u3001atom\u539f\u5b50\u306e\u6570\u304c5000\u3092\u8d85\u3048\u308b\u30bf\u30f3\u30d1\u30af\u8cea\u306e\u8a08\u7b97\u3057\u3088\u3046\u3068\u3059\u308b\u3068segmentation fault\u306b\u306a\u3063\u3066\u3057\u307e\u3046\u3067\u3057\u3087\u3046\u3002\u3053\u308c\u306f\u3001\u5fc5\u8981\u306a\u30e1\u30e2\u30ea\u3092\u5272\u308a\u5f53\u3066\u308b\u95a2\u6570\u3067\u3042\u308bmalloc()\u95a2\u6570\u3092\u4f7f\u3046\u3068\u89e3\u6c7a\u3067\u304d\u307e\u3059\u3002<\/p>\n<h2>\u7df4\u7fd2\u554f\u984c<\/h2>\n<ol>\n<li>\u4eca\u56de\u4f5c\u6210\u3057\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3001\u6c34\u306e\u539f\u5b50\u3068\u63a5\u89e6\u3059\u308b\u30bf\u30f3\u30d1\u30af\u8cea\u539f\u5b50\u3082\u30ea\u30b9\u30c8\u30a2\u30c3\u30d7\u3059\u308b\u3002\u3057\u304b\u3057\u3001\u6c34\u306e\u539f\u5b50\u30c7\u30fc\u30bf\u306fPDB\u30d5\u30a1\u30a4\u30eb\u4e2d\u306b\u5927\u91cf\u306b\u5165\u3063\u3066\u3044\u308b\u5834\u5408\u304c\u3042\u308a\u3001\u7d50\u679c\u304c\u7169\u96d1\u3068\u306a\u3063\u3066\u3057\u307e\u3046\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u6539\u5909\u3057\u3066\u3001\u6c34\u306e\u539f\u5b50\u3068\u306e\u63a5\u89e6\u306f\u51fa\u529b\u3057\u306a\u3044\u3088\u3046\u306b\u3057\u306a\u3055\u3044\u3002<\/li>\n<li>\uff12\u3064\u306e\u30b5\u30d6\u30e6\u30cb\u30c3\u30c8\u306e\u9593\u3067\u63a5\u89e6\u3057\u3066\u3044\u308b\u539f\u5b50\u3092\u6c42\u3081\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u6210\u3057\u306a\u3055\u3044\u3002<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>\u63a5\u89e6\u539f\u5b50\u306e\u8a08\u7b97 \u4eca\u56de\u306f\u30bf\u30f3\u30d1\u30af\u8cea\u306e\u7acb\u4f53\u69cb\u9020\u5ea7\u6a19\u3092\u4f7f\u3063\u305f\u8a08\u7b97\u3092\u884c\u3046\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u308a\u307e\u3059\u3002\u5177\u4f53\u7684\u306b\u306f\u3001\u30ea\u30ac\u30f3\u30c9\u3068\u306e\u7d50\u5408\u306b\u95a2\u308f\u308b\u30bf\u30f3\u30d1\u30af\u8cea\u539f\u5b50\u3092\u6c42\u3081\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\u3002\u30bf\u30f3\u30d1\u30af\u8cea\u3092\u69cb\u6210\u3059\u308b\u539f\u5b50\u3068\u30ea\u30ac\u30f3\u30c9\u3092\u69cb\u6210\u3059\u308b\u539f\u5b50\u306e\u8ddd\u96e2\u304c4. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":96,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"","meta":{"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","vkExUnit_sitemap":"","_veu_custom_css":"","veu_display_promotion_alert":"","_exclude_from_list_pages":"","vkexunit_cta_each_option":"","vkExUnit_childPageIndex":"","vkExUnit_pageList_ancestor":"","vkExUnit_contact_enable":"","_lightning_design_setting":[],"footnotes":""},"class_list":["post-160","page","type-page","status-publish","hentry"],"veu_head_title_object":{"title":"","add_site_title":""},"_links":{"self":[{"href":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/index.php?rest_route=\/wp\/v2\/pages\/160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=160"}],"version-history":[{"count":9,"href":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/index.php?rest_route=\/wp\/v2\/pages\/160\/revisions"}],"predecessor-version":[{"id":191,"href":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/index.php?rest_route=\/wp\/v2\/pages\/160\/revisions\/191"}],"up":[{"embeddable":true,"href":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/index.php?rest_route=\/wp\/v2\/pages\/96"}],"wp:attachment":[{"href":"https:\/\/b-lab.nagahama-i-bio.ac.jp\/~m_shionyu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}