Home Linus Helper Programs Examples File Descriptions Index

Helper Programs








Main Menu



ribosome.py is a program to construct coordinates for a peptide/protein from the amino acid sequence.

Usage: python $LINUS/utils/ribosome.py -p $LINUS/utils/ribosome.dat < [filename].rib > [filename].pdb

where ribosome.dat, is a residue descriptor file. Each residue is described in a Z-matrix style.

All options to the program are passed through a command file [filename].rib. Each command must be given on a separate line. Keywords are case insensitive. All whitespace and tab characters are ignored. All blank lines and lines beginning with a "#" character are ignored. Sample residue descriptor files are given in the Examples section.


fasta2rib.py creates an input file for ribosome.py from an amino acid sequence in FASTA format.

Usage: python $LINUS/utils/fasta2rib.py [filename].fasta

where [filename].fasta is the file containing the sequence in FASTA format. If the file has multiple sequences, only the first sequence is processed.

The output is in a file called [filename].rib.


pdbATOM2fasta.py creates a FASTA formatted amino acid sequence file from the ATOM records in a PDB structure file.

pdbSEQRES2fasta.py creates a FASTA formatted amino acid sequence file from the SEQRES records in a PDB structure file.

python $LINUS/utils/pdbATOM2fasta.py [filename].pdb

python $LINUS/utils/pdbSEQRES2fasta.py [filename].pdb

where [filename].pdb is a PDB structure file.

The output is [filename].fasta containing the sequence in FASTA format.


viewout.py allows one to cycle through the saved structures in the LINUS output file, [filename].out using the molecular graphics program RASMOL.

1. In a separate shell window launch RASMOL,
2. Then in the LINUS output directory, enter the command:
python $LINUS/utils/viewout.py [filename].out
3. A menu window will appear that provides choices for the display of the consecutive structures.


torsion.py calculates the φ, ψ, ω and all chi angles for a protein structure from a PDB file.

python $LINUS/utils/torsion.py pdb[code].ent

The resulting output file, angles.dat, looks like the following:

          SS MS    phi      psi     omega     chi1     chi2     chi3     chi4
    1 MET  C ??   999.99   149.63   178.31    80.37  -172.15   177.50   999.99
    2 GLN  P Dk   -91.02   138.26   173.36   165.96   177.99  -107.41   999.99
    3 ILE  E Cl  -131.10   163.05   179.57    60.27   162.40   999.99   999.99
    4 PHE  E Ck  -115.99   140.23   175.79   -60.67    97.94   999.99   999.99
    5 VAL  E Cj  -118.03   114.22  -178.12  -179.79   999.99   999.99   999.99
    6 LYS  P Dk   -95.23   127.54   179.95  -175.56   176.20  -172.04  -174.23
    7 THR  P Dl   -99.58   170.75  -177.98    76.71   999.99   999.99   999.99
    8 LEU  T Ef   -73.43    -6.94   179.94   -68.17  -165.84   999.99   999.99
    9 THR  T Dg  -101.40    14.93   179.80    70.71   999.99   999.99   999.99

with chi angle values extending out as far as necessary to describe a complete side chain conformation.

The SS column indicates the secondary structure using the common H,E,T,C designations for HELIX, EXTENDED, TURN and COIL.

The MS column indicates the mesostate code which is described here.


concnt.py processes the structures written out during a LINUS simulation and lists for each pair of residues the fraction of the structures in which they were in contact. Residues which were never in contact are not listed. The output is written to stdout and consists of 3 columns:

Column 1 - Residue Number
Column 2 - Residue Number
Column 3 - Fraction of structures in which the pair of residues are in contact

python $LINUS/utils/concnt.py [filename].pdb [filename].out winmin winmax probe

[filename].pdb = name of pdb file that was input to LINUS simulation
[filename].out = name of file to which sampled structures were written during the course of the simulation
winmin = minimum sequence separation between pairs of residues that are allowed to be in contact
winmax = maximum sequence separation between pairs of residues that are allowed to be in contact
probe = maximum distance between atom surfaces that defines a contact

The resulting output looks like the following:

   4    9 0.030
   4   10 0.010
   9   12 0.060
   9   13 0.040
  10   12 0.090
  10   13 0.050
  10   18 0.020
  12   17 0.060
  12   18 0.010
  13   17 0.090
  13   18 0.010
  17   19 0.260