Setting up the JSON project file

Note

You can find a ready-to-use JSON file named

elongator.json

in the tutorial directory and skip directly to the next step.

Add modeling information to the project file

  1. Open elongator.json in a text editor

    Note

    The project file is in so-called JSON format

    While it may look difficult to edit at the first time, it is actually quite OK with a proper editor (and a bit of practice ;-)

    We recommend to use a good editor such as:

    At this point, the JSON has the following format:

    {
        "data": [
            {
                "some xlink definition 1"
            },
            {
                "some xlink definition 2"
            },
            {
                "sequence file definition"
            }
        ],
        "subunits": [
                "subunit definitions"
        ],
        "xlinkanalyzerVersion": "..."
    }
    
  2. Add symmetry

    1. First, specify the series of symmetry related molecules. Here, each of the three subunits is in two symmetrical copies, so we add series as below:

      {
          "series": [
              {
                  "name": "2fold",
                  "subunit": "Elp1",
                  "mode": "input",
                  "cell_count": 2,
                  "tr3d": "2fold",
                  "inipos": "input"
              },
              {
                  "name": "2fold",
                  "subunit": "Elp2",
                  "mode": "auto",
                  "cell_count": 2,
                  "tr3d": "2fold",
                  "inipos": "input"
              },
              {
                  "name": "2fold",
                  "subunit": "Elp3",
                  "mode": "auto",
                  "cell_count": 2,
                  "tr3d": "2fold",
                  "inipos": "input"
              }
          ]
          "data": [
              {
                  "some xlink definition 1"
              },
              {
                  "some xlink definition 2"
              },
              {
                  "sequence file definition"
              }
          ],
          "subunits": [
                  "subunit definitions"
          ],
          "xlinkanalyzerVersion": "..."
      }
      
    2. Second, define the coordinates of the symmetry axis:

      {
          "symmetry": {
              "sym_tr3ds": [
      
                  {
                      "name": "2fold",
                      "axis": [0, 0, -1],
                      "center": [246.39112398, 246.41114644, 248.600000],
                      "type": "C2"
      
                  }
      
              ]
          },
          "series": [
              "the series"
          ],
          "data": [
              {
                  "some xlink definition 1"
              },
              {
                  "some xlink definition 2"
              },
              {
                  "sequence file definition"
              }
          ],
          "subunits": [
                  "subunit definitions"
          ],
          "xlinkanalyzerVersion": "..."
      }
      
  3. Add specification of input PDB files

    The input structures for the tutorial are in the in_pdbs/ directory:

    Elp1.CTD.on5cqs.5cqr.model_ElNemo_mode7.pdb
    Elp1_NTD_1st_propeller.pdb
    Elp1_NTD_2nd_propeller.pdb
    Elp2.pdb
    

    Add them to the JSON like this:

    {
        "symmetry": {
            "symmetry axis definition"
        },
        "series": [
            "the series"
        ],
        "data": [
            {
                "type": "pdb_files",
                "name": "pdb_files",
                "data": [
                            {
                                "foreach_serie": true,
                                "foreach_copy": true,
                                "components": [
                                    { "name": "Elp1",
                                    "subunit": "Elp1",
                                    "domain": "propeller1",
                                    "filename": "in_pdbs/Elp1_NTD_1st_propeller.pdb"
                                    }
                                ]
                            },
                            {
                                "foreach_serie": true,
                                "foreach_copy": true,
                                "components": [
                                    { "name": "Elp1",
                                    "subunit": "Elp1",
                                    "domain": "propeller2",
                                    "filename": "in_pdbs/Elp1_NTD_2nd_propeller.pdb"
                                    }
                                ]
                            },
                            {
                                "components": [
                                    { "name": "Elp1",
                                    "subunit": "Elp1",
                                    "serie": "2fold",
                                    "copies": [0],
                                    "chain_id": "G",
                                    "domain": "CTD",
                                    "filename": "in_pdbs/Elp1.CTD.on5cqs.5cqr.model_ElNemo_mode7.pdb"},
    
                                    { "name": "Elp1",
                                    "subunit": "Elp1",
                                    "serie": "2fold",
                                    "copies": [1],
                                    "chain_id": "H",
                                    "domain": "CTD",
                                    "filename": "in_pdbs/Elp1.CTD.on5cqs.5cqr.model_ElNemo_mode7.pdb"}
                                ]
                            },
                            {
                                "foreach_serie": true,
                                "foreach_copy": true,
                                "components": [
                                    { "name": "Elp2",
                                    "subunit": "Elp2",
                                    "filename": "in_pdbs/Elp2.pdb"}
                                ]
                            },
                            {
                                "foreach_serie": true,
                                "foreach_copy": true,
                                "components": [
                                    { "name": "Elp3",
                                    "subunit": "Elp3",
                                    "filename": "in_pdbs/Elp3.mono.pdb"}
                                ]
                            }
    
                    ]
    
            },
    
            {
                "some xlink definition 1"
            },
            {
                "some xlink definition 2"
            },
            {
                "sequence file definition"
            }
        ],
        "subunits": [
                "subunit definitions"
        ],
        "xlinkanalyzerVersion": "..."
    }
    

    The foreach_serie and foreach_copy indicate the given PDB file specification will be applied to each serie with this subunit and for each copy within the series.

    All PDB selections within the same components block will be grouped into a rigid body, unless a separate rigid_bodies block is specified and add_rbs_from_pdbs is set to False in Setting up the parameter file

  4. Add pointers to fit libraries

    {
        "symmetry": {
            "symmetry axis definition"
        },
        "series": [
            "the series"
        ],
        "data": [
            {
                "type": "pdb_files",
                "name": "pdb_files",
                "data": [
                            {
                                "foreach_serie": true,
                                "foreach_copy": true,
                                "components": [
                                    { "name": "Elp1",
                                    "subunit": "Elp1",
                                    "domain": "propeller1",
                                    "filename": "in_pdbs/Elp1_NTD_1st_propeller.pdb"
                                    }
                                ],
                                "positions": "fits/search100000_metric_cam_inside0.6/emd_4151_binned.mrc/Elp1_NTD_1st_propeller.pdb/solutions_pvalues.csv",
                                "positions_type": "chimera",
                                "max_positions": 10000
                            },
                            {
                                "foreach_serie": true,
                                "foreach_copy": true,
                                "components": [
                                    { "name": "Elp1",
                                    "subunit": "Elp1",
                                    "domain": "propeller2",
                                    "filename": "in_pdbs/Elp1_NTD_2nd_propeller.pdb"
                                    }
                                ],
                                "positions": "fits/search100000_metric_cam_inside0.6/emd_4151_binned.mrc/Elp1_NTD_2nd_propeller.pdb/solutions_pvalues.csv",
                                "positions_type": "chimera",
                                "max_positions": 10000
                            },
                            {
                                "components": [
                                    { "name": "Elp1",
                                    "subunit": "Elp1",
                                    "serie": "2fold",
                                    "copies": [0],
                                    "chain_id": "G",
                                    "domain": "CTD",
                                    "filename": "in_pdbs/Elp1.CTD.on5cqs.5cqr.model_ElNemo_mode7.pdb"},
    
                                    { "name": "Elp1",
                                    "subunit": "Elp1",
                                    "serie": "2fold",
                                    "copies": [1],
                                    "chain_id": "H",
                                    "domain": "CTD",
                                    "filename": "in_pdbs/Elp1.CTD.on5cqs.5cqr.model_ElNemo_mode7.pdb"}
                                ],
                                "positions": "fits/search100000_metric_cam_inside0.6/emd_4151_binned.mrc/Elp1.CTD.on5cqs.5cqr.model_ElNemo_mode7.pdb/solutions_pvalues.csv",
                                "positions_type": "chimera",
                                "max_positions": 1
                            },
                            {
                                "foreach_serie": true,
                                "foreach_copy": true,
                                "components": [
                                    { "name": "Elp2",
                                    "subunit": "Elp2",
                                    "filename": "in_pdbs/Elp2.pdb"}
                                ],
                                "positions": "fits/search100000_metric_cam_inside0.6/emd_4151_binned.mrc/Elp2.pdb/solutions_pvalues.csv",
                                "positions_type": "chimera",
                                "max_positions": 10000
                            },
                            {
                                "foreach_serie": true,
                                "foreach_copy": true,
                                "components": [
                                    { "name": "Elp3",
                                    "subunit": "Elp3",
                                    "filename": "in_pdbs/Elp3.mono.pdb"}
                                ],
                                "positions": "fits/search100000_metric_cam_inside0.6/emd_4151_binned.mrc/Elp3.mono.pdb/solutions_pvalues.csv",
                                "positions_type": "chimera",
                                "max_positions": 10000
                            }
    
                    ]
    
            },
    
            {
                "some xlink definition 1"
            },
            {
                "some xlink definition 2"
            },
            {
                "sequence file definition"
            }
        ],
        "subunits": [
                "subunit definitions"
        ],
        "xlinkanalyzerVersion": "..."
    }
    

And that’s it!