AIB Residue within CYLIB

Typical case for building custom residue in CYANA
By Dan M.

aib_pic

TABLE OF CONTENTS

Introduction
Search for the MMCIF file
Convert to CYANA Library using CYLIB
CYANA test of new library
Viewing in MOLMOL
Configure MOLMOL to CYANA Library
Appendix

Introduction

This tutorial is designed to provide an introduction to building a custom residue for use within the CYANA program. We will rely on the CYLIB to create the library file required. The goal is to have everything needed such that the peptide and its bound ligand can have its "NOEs" assigned within CYANA. Here we build the common residue AIB alpha-aminoisobutyric acid.

Reference pages:

The CYANA/CYLIB general links are available here:

CYANA_wiki - Wiki site with many links, tutorials, formats etc
CYLIB_manuscript - The manuscript to read
CLYLIB_ligand - CYLIB Library already created. Mostly ligands and not residues.
PDBeChem_search - Use this to find your Ligand, preferably in mmCIF or .mol2 format

On our 8 CPU workstation we have the following settings:
  1. CentOS 7 - The Linux OS which is free
  2. Cyana3.98 - The latest version of CYANA as of 9/2020.
  3. Cylib2.2 - The CYLIB version I had used. Please contact Guentert lab for a copy if needed.
  4. Avogadro2 - Molecular viewing software. Avogadro2 installs OpenBabel as well for data format conversion.
  5. Molmol - Molecular viewing software which is a bit older but very useful. Molmol is another program from the Wuthrich as is DYANA/CYANA. consequently the 2 programs work well together and even use the same library files for defining the residue types and ligands. Molmol also has a number of functions which are friendly to NMR users (NOE viewing etc)
Here we'll assume the user is largely familiar with using command lines in shells within the Linux environment. If you are just starting out please see the tutorial linked here:

Code_academy - Learn line commands and BASH scripting.

We will also assume you have read the manuscript above and have some working knowledge of how to run basic CYANA routines as shown in the tutorials from the above link as well.

Login

ssh (secure shell)

1. Use the ssh command to remote login to our workstation. -Y means portforward -l means username
Note that the "$" is the command line prompt in the terminal.

$ ssh -Y -l username 131.193.196.29

Login in as if you are sitting at the computer. You might need to run VPN client to access UIC as well before using ssh. Most of the work for this tutorial will be done mainly through the terminal.

List files and make a directory (folder) to store your files in

When you first log in and start a terminal, your current working directory (or folder) is your home directory. It has the same name as your username, and it is where your files and directories are stored. In most cases, this is /home/username

ls (list)

2. Use the ls command to list what is in your current directory.
Note that the "$" is the command line prompt in the terminal.

$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  articles  bin
molmol  orig  people
        

At this point there will probably be some files and directories in your home directory that are created automatically with your account. Above is for our system. As a quick sidenote I store all the software for users in the /opt/ directory as seen here:

$ ls /opt/
amber14  bin  cyana-3.98.13 molmol pdbstat 
        

cd (change directory)

At this point, you'll want to move into your Tutorial directory so that you can save all of your working files there.

3. Use the cd command to change to different directory.

$ cd people 
$ ls andy_cyclic francis molmol_library peptide_bond sabari sherrie thuc tutorials $ cd tutorials
$ ls amber_build backup.tar cyana_examples cylib_examples $ cd cylib_examples
$ ls cylib_aib cylib_bpy_lig cylib_buildsar_fromdmg cylib_orn cylib_sar cylib_sar_babel cylib_tpa_lig pdbs test

OK where are we now? Use:

pwd (print working directory)

Pathnames describe what directory you are relative to the entire computer's filesystem. We started from /home/username/

4. Print the working directory pathname of your current directory with pwd

$ pwd
/home/andyn/people/tutorials/cylib_examples

And the directories and files located here are:

$ ls
cylib_aib  cylib_bpy_lig  cylib_buildsar_fromdmg  cylib_orn  cylib_sar  cylib_sar_babel
cylib_tpa_lig  pdbs  test
	

We can see there are a number of directories for diffent ligands and residue types already built. For example cylib_aib is the residue AIB we are going to repeat. Lets first copy it over to another directory called test.

rm (remove) and cp (copy)

5. Use the rm command to remove a directory.

$ rm -rf ./test 

6. Now use cp -r command to copy a directory.

$ cp -r cylib_aib test

$ cd test
$ ls
AIB.cif  AIB.lib  CALC.cya  README.txt  clean  demo.pdb  demo.seq  go_cat  
go_cyana  go_cylib  orig  readme

Next we will find the AIB.cif file again. We search a database of crystal structures deposited in the PDBeChem repository.

Search for your ligand in PDBeChem

PDBeChem_search - Use this to find your Ligand, preferably in mmCIF or PDB format

cif1

OK great as it is in the database. Now download the mmCIF file:

cif1

Lets try and covert the file into CYANA format now using the program CYLIB.

Convert to CYANA Library Format with CYLIB

AIB.cif - Copy of the AIB.cif file

As you can see it is rather complicated compared to the PDB files. So you've copied this into your ./test directory and run the command ls to see if it is there:

$ ls 
AIB.cif  AIB.lib  CALC.cya  README.txt  clean  demo.pdb  demo.seq  go_cat  
go_cyana  go_cylib  orig  readme 

I'm going to make a copy in the dir called orig just in case it gets corrupted somehow.

$ cp AIB.cif ./orig/

We have a Readme.txt file so have a look at its contents. This file is from the CYLIB help section giving a brief rundown of the commands.

README.txt - CYLIB commands etc

Lets try one of the line commands for the amino acid build:

$ /opt/cyana-3.98.13/cylib-2.2/cylib -aa -fba N -lba C -f AIB.cif
 CYANA library file AIB.lib written.

The program executes fine and writes out a cyana library file AIB.lib. Unfortunately it isn't correct and you'll get overlap atom errors when running CYANA. The problem has to do with the overlap atom definition as we need a HXT atom but have instead HO2 See Figure 1 and Figure 4 here:

CYLIB_manuscript - The manuscript to read

Using a "PERL" one-liner we substitute all HO2 with HXT throughout the file AIB.ciff and rerun the CYLIB

$ perl -pi -e 's|HO2|HXT|g' AIB.cif
$ /opt/cyana-3.98.13/cylib-2.2/cylib -aa -fba N -lba C -f AIB.cif
 CYANA library file AIB.lib written.

Here is the difference:

cif1

OK now the format on the right looks correct. Amino acids should have the symmetry of CON/CON at the top and bottom of the file. In this regard AA are a bit more complicated to prepare compared to ligands which do not have these requirements. Anyway, we are basically done and can build structures from scratch now in CYANA.

CYANA test of new library

I often like to run programs using BASH scripts. This way everything is in one place and is portable. For example you can see we have one called go_cylib in the directory and another go_cyana.

go_cylib - Copy of the go_cylib script
go_cyana - Copy of the go_cylib BASH script

The go_cylib is just plugging everything we typed in line-by-line above into one file so we can just run it instead. eg):

$ ./go_cylib 
 CYANA library file AIB.lib written.

The go_cyana BASH script is a bit more involved and can be opened up for viewing by using gedit or vi.

$ gedit go_cyana 

and is annotated below:

cif1

Lets have a closer look at the CALC.cya file

$ gedit CALC.cya 

and is annotated below:

cif1

Now we'll run the go_cyana and observe the results and input files

$ ./go_cyana
CYANA 3.98.13 (linux64-intel)
 
Copyright (c) 2002-20 Peter Guentert. All rights reserved.
___________________________________________________________________
 
    Academic license for Dr. Daniel McElheny, University of Illinois Chicago, USA.
 
    Library file "/opt/cyana-3.98.13/lib/cyana.lib" read, 47 residue types.
    Sequence file "demo.seq" read, 3 residues.
cyana>     Library file "/opt/cyana-3.98.13/lib/cyana.lib" read, 47 residue types.
cyana>     Library file "./AIB.lib" read, 0 residue types.
cyana>     Sequence file "demo.seq" read, 3 residues.
cyana>     Random structure generated with seed 3771.
cyana>        2    0   0    0   0   129    2   0   0   3.31 6.5E-4 2.3E-6   6   17 gradtl
cyana>     PDB coordinate file "demo.pdb" written.
 

Looking at the printout above we see that the program ran fine and read the library and sequence file without error and wrote a pdb demo.pdb. Lastly we would like to view the structure in whatever software you choose. I'll use MOLMOL for now.

demo.seq - Sequence file tried
demo.pdb - PDB generated
AIB.lib - Our custom residue AIB
cyana.lib - CYANA standard library

Before moving on it is worth mentioning that we used the ALA-AIB-ALA sequence to be sure the residue AIB is connecting OK. If there were problems we would have gotten errors above.

Viewing in MOLMOL

Read in the pdb file in MOLMOL

$ molmol demo.pdb

cif1

And the resulting view is:

cif1

Configure MOLMOL to CYANA Library

Warning:
Here we change the standard library file of CYANA. Be sure to back up everything before hand.
Many may even skip this part.

Once I'm confident a Residue Library file is working correctly I like to append it to the standard CYANA file. This keeps everything in one place for easy use in the future. First backup the existing file:

$ cp /opt/cyana-3.98.13/lib/cyana.lib /opt/cyana-3.98.13/lib/cyana.lib.bu 

Then catenate/append your new Residue to the cyana.lib file

$ cat ./AIB.lib >> /opt/cyana-3.98.13/lib/cyana.lib 

and that is it. Now you can drop the read lib ./AIB.lib append line from the CALC.cya input file.

Next we need to read the /opt/cyana-3.98.13/lib/cyana.lib file into MOLMOL.

$ molmol 

And in the molmol command line type:

InitAll 

Yes Delete Everything

PathNames 

And define the ResLib path like below. Only need to do this once and can skip next you update the ResLib.

ReadLib 

And Molmol will now share the same library file as CYANA. We do this so it builds the bonding patterns in correctly for custom residues/ligands.

cif1

Appendix Files:

All of the files for the tutorial are available here:
AIB_tut.zip