Typical case for building custom residue in CYANA
TABLE OF CONTENTS
IntroductionSearch 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:
- CentOS 7 - The Linux OS which is free
- Cyana3.98 - The latest version of CYANA as of 9/2020.
- Cylib2.2 - The CYLIB version I had used. Please contact Guentert lab for a copy if needed.
- Avogadro2 - Molecular viewing software. Avogadro2 installs OpenBabel as well for data format conversion.
- 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)
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 usernameNote that the "$" is the command line prompt in the terminal.
$ ssh -Y -l username 131.193.196.29Login 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/usernamels (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 peopleAt 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
$ pwdAnd the directories and files located here are:
/home/andyn/people/tutorials/cylib_examples
$ 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 ./test6. 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 readmeNext 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 formatOK great as it is in the database. Now download the mmCIF file:
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 fileAs 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 etcLets 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 readUsing 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:
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 scriptThe 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:
Lets have a closer look at the CALC.cya file
$ gedit CALC.cya
and is annotated below:
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 libraryBefore 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
And the resulting view is:
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:
InitAllYes Delete Everything
PathNamesAnd define the ResLib path like below. Only need to do this once and can skip next you update the ResLib.
ReadLibAnd 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.
Appendix Files:
All of the files for the tutorial are available here:AIB_tut.zip