Difference between revisions of "TLSMD"

From Christoph's Personal Wiki
Jump to: navigation, search
Line 5: Line 5:
  
 
===LAPACK===
 
===LAPACK===
 +
''Note: See [http://www.netlib.org/lapack/lawn41/index.html Installation Guide for LAPACK] for detailed information.''
 
*Download LAPACK (grab latest version of full package):
 
*Download LAPACK (grab latest version of full package):
 
  wget <nowiki>http://www.netlib.org/lapack/lapack-3.1.1.tgz</nowiki>
 
  wget <nowiki>http://www.netlib.org/lapack/lapack-3.1.1.tgz</nowiki>
Line 11: Line 12:
 
*Enter <code>SRC/</code> directory and
 
*Enter <code>SRC/</code> directory and
 
  make
 
  make
The default build will produce <code>lapack_LINUX.a</code>. However,  
+
The default build will produce <code>lapack_LINUX.a</code>. However, we want a shared object (i.e., <code>lapack_LINUX.so</code>).
  
 
  nm blas_LINUX.a|more
 
  nm blas_LINUX.a|more
Line 32: Line 33:
 
  ldd lapack_LINUX.so
 
  ldd lapack_LINUX.so
 
  cp lapack_LINUX.so /home/tlsmd/tlsmd/src/
 
  cp lapack_LINUX.so /home/tlsmd/tlsmd/src/
 +
 +
===ranlib===
 +
ranlib generates an index to the contents of an archive and stores it in the archive. The index lists each symbol defined by a member of an archive that is a relocatable object file.
 +
 +
You may use <tt>nm -s</tt> or <tt>nm --print-armap</tt> to list this index.
 +
 +
An archive with such an index speeds up linking to the library and allows routines in the library to call each  other without regard to their placement in the archive.
 +
 +
The GNU ranlib program is another form of GNU ar; running ranlib is completely equivalent to executing <tt>ar -s</tt>.
 +
 +
===Resources===
 +
;SONAME : a soname is a field of data in a shared object file. The soname provides version backwards-compatibility information to the system. For instance, if a program requests to use version 1.0 of a shared object but the system only includes version 2.0 of that shared object, the soname field of the shared object tells the system whether it is usable in the place of version 1.0.
 +
 +
*[http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html Shared Libraries]
 +
*[http://wiki.linuxquestions.org/wiki/Library-related_Commands_and_Files Library-related Commands and Files]
  
 
==Keywords==
 
==Keywords==
Line 38: Line 54:
 
==See also==
 
==See also==
 
*[[Python Macromolecular Library]] (mmLib)
 
*[[Python Macromolecular Library]] (mmLib)
 +
*[[ar]] &mdash; create, modify, and extract from archives.
 +
*[[nm]] &mdash; list symbols from object files.
 +
*[[ranlib]] &mdash; generate index to archive.
  
 
==References==
 
==References==

Revision as of 01:52, 28 August 2007

TLS Motion Determination (TLSMD) analyzes a protein crystal structure for evidence of flexibility, e.g. local or inter-domain motions.[1][2] It does this by partitioning the protein chains into multiple segments that are modeled as rigid bodies undergoing TLS (Translation/Libration/Screw) vibrational motion. It generates all possible partitions up to a specified maximum number of TLS groups. Each trial partition is evaluated by how well it predicts the observed atomic displacement parameters (ADPs, "thermal parameters") that came out of crystallographic refinement.

Installation

Note: This section will cover the install of pymmlib, including tlsmd, on a 64-bit system running Mandriva Linux 2007.1. However, most of it should work for 32-bit systems and any other Linux distribution.

LAPACK

Note: See Installation Guide for LAPACK for detailed information.

  • Download LAPACK (grab latest version of full package):
wget http://www.netlib.org/lapack/lapack-3.1.1.tgz
  • Modify make.inc file for your system.
  • Enter SRC/ directory and
make

The default build will produce lapack_LINUX.a. However, we want a shared object (i.e., lapack_LINUX.so).

nm blas_LINUX.a|more
nm blas_LINUX.a|grep gfortran_concat_string
nm blas_LINUX.a|grep gfortran
cd BLAS/
cd SRC/
vi Makefile
cd /home/tlsmd/src/other/lapack-3.1.1/
mkdir tmp_blas
cp blas_LINUX.a tmp_blas/
cd tmp_blas/
ar -x blas_LINUX.a
gcc -fPIC -lgfortran -shared *.o -Wl,-soname,blas_LINUX.so -o blas_LINUX.so
objdump -p blas_LINUX.so |grep SONAME
ldd blas_LINUX.so
cp blas_LINUX.so /home/tlsmd/tlsmd/src/
gcc -fPIC -lgfortran -shared *.o -Wl,-soname,lapack_LINUX.so -o lapack_LINUX.so
objdump -p lapack_LINUX.so |grep SONAME
ldd lapack_LINUX.so
cp lapack_LINUX.so /home/tlsmd/tlsmd/src/

ranlib

ranlib generates an index to the contents of an archive and stores it in the archive. The index lists each symbol defined by a member of an archive that is a relocatable object file.

You may use nm -s or nm --print-armap to list this index.

An archive with such an index speeds up linking to the library and allows routines in the library to call each other without regard to their placement in the archive.

The GNU ranlib program is another form of GNU ar; running ranlib is completely equivalent to executing ar -s.

Resources

SONAME 
a soname is a field of data in a shared object file. The soname provides version backwards-compatibility information to the system. For instance, if a program requests to use version 1.0 of a shared object but the system only includes version 2.0 of that shared object, the soname field of the shared object tells the system whether it is usable in the place of version 1.0.

Keywords

TLSMD; TLS motion; web server; computer programs; TLS, translation libration screw; macromolecular crystallography; protein crystallography.

See also

References

  1. Painter J, Merritt EA (2006). "Optimal description of a protein structure in terms of multiple groups undergoing TLS motion". Acta Cryst, D62(4):439-450. DOI:10.1107/S0907444906005270 .
  2. Painter J, Merritt EA (2006). "TLSMD web server for the generation of multi-group TLS models". J Appl Cryst, 39(1):109-111. DOI:10.1107/S0021889805038987

External links