<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://msl-libraries.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jedonald</id>
	<title>MSL-Libraries - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://msl-libraries.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jedonald"/>
	<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Special:Contributions/Jedonald"/>
	<updated>2026-04-09T09:34:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.6</generator>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=895</id>
		<title>Tutorial:Getting started: Compiling MSL with external libraries</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=895"/>
		<updated>2013-11-26T19:42:01Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Certain functions of MSL require the installation of some open-source external libraries.&lt;br /&gt;
&lt;br /&gt;
* '''GSL''' (GNU Scientific Library) [[http://www.gnu.org/software/gsl/]]&lt;br /&gt;
* '''BOOST''' (portable C++ source libraries) [[http://www.boost.org]] &lt;br /&gt;
* '''GLPK''' (GNU linear programming kit) [[http://www.gnu.org/software/glpk/]]&lt;br /&gt;
* '''R''' (R statistical and graphics project) [[http://www.r-project.org/]]&lt;br /&gt;
&lt;br /&gt;
=== What external libraries are really needed? ===&lt;br /&gt;
Only '''GSL''' is currently recommended and turned on by default in the Makefile&lt;br /&gt;
&lt;br /&gt;
The other external libraries are needed only to support particular object or applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to enable inclusion of the external libraries===&lt;br /&gt;
&lt;br /&gt;
By default MSL '''requires the GSL''' library and will be compiled _without_ the support of the other external libraries and some functionality won't be available.  To include the libraries, you need to set some environmental variables. &lt;br /&gt;
&lt;br /&gt;
If you use '''bash''', add the following lines to your .bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default is T)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default is F)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default is F)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default is F)&lt;br /&gt;
export MSL_GSL=T&lt;br /&gt;
export MSL_GLPK=F&lt;br /&gt;
export MSL_BOOST=F&lt;br /&gt;
export MSL_R=F&lt;br /&gt;
#export MSL_EXTERNAL_LIB_DIR=/usr/lib&lt;br /&gt;
#export MSL_EXTERNAL_INCLUDE_DIR=/usr/include&lt;br /&gt;
#export MSL_MACOS=T&lt;br /&gt;
#export MSL_DEBUG=F&lt;br /&gt;
#export MSL_DIR=$HOME/software/mslib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use '''tcsh''', add the following lines to your .cshrc&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
setenv MSL_GSL T&lt;br /&gt;
setenv MSL_GLPK T&lt;br /&gt;
setenv MSL_BOOST T&lt;br /&gt;
setenv MSL_R T&lt;br /&gt;
#setenv MSL_EXTERNAL_LIB_DIR /usr/lib&lt;br /&gt;
#setenv MSL_EXTERNAL_INCLUDE_DIR /usr/include&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default location of the libraries is '''/usr/lib'''.  If you have installed them in a custom location (such as that used below, ~/software/mslib/ext_libs) set the $MSL_EXTERNAL_LIB_DIR environmental variable to the correct location.  You will also want to set the $MSL_EXTERNAL_LIB_INCLUDE_DIR if using a custom location (such as that used below, ~/software/mslib/ext_includes).&lt;br /&gt;
&lt;br /&gt;
=== GSL ===&lt;br /&gt;
Many functions of MSL depend on [[http://www.gnu.org/software/gsl/ GNU Scientific library (GSL)]], which is therefore highly recommended.&lt;br /&gt;
&lt;br /&gt;
For example, GSL is required by the following objects:&lt;br /&gt;
* [[MSL_Objects:RandomNumberGenerator | RandomNumberGenerator]]&lt;br /&gt;
* [[MSL_Objects:GSLMinimizer | GSLMinimizer]]&lt;br /&gt;
* [[MSL_Objects:MonteCarloOptimization| MonteCarloOptimization]]&lt;br /&gt;
* [[MSL_Objects:CCD | CCD]]&lt;br /&gt;
* [[MSL_Objects:BackRub | BackRub]]&lt;br /&gt;
* [[MSL_Objects:Quench | Quench]]&lt;br /&gt;
* [[MSL_Objects:SurfaceAreaAndVolume | SurfaceAreaAndVolume]]&lt;br /&gt;
&lt;br /&gt;
If '''GSL''' is enabled, you should see ''-D__GSL_'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====To compile GSL====&lt;br /&gt;
GSL can be installed from the software repository (in Ubuntu, libgsl0-dev) or downloaded and installed from a tar file.  For a more specific reference see the GSL homepage, but here is an example of the installation procedure:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;tar xzvf gsl-1.14.tar.gz &lt;br /&gt;
 &amp;gt;cd gsl-1.14&lt;br /&gt;
 &amp;gt;./configure --prefix=/path/to/desired/directory&lt;br /&gt;
 &amp;gt;make&lt;br /&gt;
 &amp;gt;make check&lt;br /&gt;
 &amp;gt;make install&lt;br /&gt;
 &amp;gt;cp .libs/libgsl.a ~/software/mslib/ext_libs/&lt;br /&gt;
 &amp;gt;cp cblas/.libs/libgslcblas.a ~/software/mslib/ext_libs/&lt;br /&gt;
&lt;br /&gt;
# Note the -H, this should follow the symlinks, otherwise you get copies of links with relative paths and then you get errors making MSL that say gsl/gsl_rng.h not found, when you see it there!&lt;br /&gt;
 &amp;gt; mkdir ~/software/mslib/ext_includes/gsl&lt;br /&gt;
 &amp;gt; cp -H gsl/* ~/software/mslib/ext_includes/gsl&lt;br /&gt;
&lt;br /&gt;
=== BOOST ===&lt;br /&gt;
The following libraries from the [http://www.boost.org/ Boost C++ Libraries] are used in some MSL objects and programs.  In Ubuntu, it is available in the package libboost-all-dev.&lt;br /&gt;
* Serialization, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDescriptor|EnvironmentDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Archive, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:Selectable|Selectable]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Regex, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:MslTools|MslTools]]&lt;br /&gt;
** [[MSL_Objects:RegEx|RegEx]]&lt;br /&gt;
&lt;br /&gt;
* Random, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:RandomSeqGenerator|RandomSeqGenerator]]&lt;br /&gt;
&lt;br /&gt;
Note: if boost is included, version 1.40 (???) or later is required.&lt;br /&gt;
&lt;br /&gt;
If '''BOOST''' is enabled, you should see ''-D__BOOST__ -DBOOST_DISABLE_THREADS'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
====To Compile BOOST====&lt;br /&gt;
 &amp;gt;tar xzvf boost-VERSION.tar.gz&lt;br /&gt;
 &amp;gt;cd boost-VERSION&lt;br /&gt;
 &amp;gt;./bootstrap.sh --prefix=~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt;./b2&lt;br /&gt;
 &amp;gt; cp ./stage/lib/libboost_*.a ~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt; cp -r boost ~/software/mslib/ext_includes/&lt;br /&gt;
&lt;br /&gt;
Assuming MSL library is installed in ~/software/mslib/.  You will need to make the ext_includes and ext_libs directories before copying.&lt;br /&gt;
&lt;br /&gt;
=== GLPK ===&lt;br /&gt;
The [http://www.gnu.org/software/glpk/ GNU linear programming kit] is required by the [[MSL_Objects:LinearProgrammingOptimization | LinearProgrammingOptimization]] object.&lt;br /&gt;
&lt;br /&gt;
If '''GLPK''' is enabled, you should see ''-D__GLPK__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/usr/lib --disable-dl --disable-odbc --disable-mysql --enable-static --without-gmp --without-zlib&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cp /usr/lib/libglpk.a MSLHOME/ext_libs/&lt;br /&gt;
  cp /usr/include/glpk.h MSLHOME/ext_includes/&lt;br /&gt;
&lt;br /&gt;
'''NOTE: the current libglpk in Ubuntu appears to be incompatible with MSL'''&lt;br /&gt;
&lt;br /&gt;
=== R ===&lt;br /&gt;
The [http://www.r-project.org/ R project] is used by the getDihedrals program.  In Ubuntu the package is r-base.&lt;br /&gt;
&lt;br /&gt;
If '''R''' is enabled, you should see ''-D__R__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
==== To Compile R ====&lt;br /&gt;
&lt;br /&gt;
===== Compiling R on MAC OS =====&lt;br /&gt;
Install R and copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
Download Rcpp &lt;br /&gt;
 R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the above install does not work, one can install from source here is a good resource:&lt;br /&gt;
 http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Quick-start&lt;br /&gt;
&lt;br /&gt;
===== Compiling R on LINUX OS =====&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Success using shared libraries and compiling MSL as shared lib, but static lib has not been done yet.  I will link my Makefile for shared-R compile once its cleaned up a bit&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First try using the 'apt' system in linux:&lt;br /&gt;
 sudo apt-get install r-base&lt;br /&gt;
&lt;br /&gt;
If the 'apt' version is not the latest version that you need, then install latest version of R:&lt;br /&gt;
 sudo apt-get build-dep r-base&lt;br /&gt;
 tar xvzf R-2.11.1.tar.gz&lt;br /&gt;
 cd R-2.11.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install Rcpp:&lt;br /&gt;
 sudo /usr/local/bin/R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Install RInside:&lt;br /&gt;
&lt;br /&gt;
R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Main_Page&amp;diff=894</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Main_Page&amp;diff=894"/>
		<updated>2013-11-26T19:37:28Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: /* Main development team: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=MSL: an open source C++ library for analysis, manipulation, modeling and design of macromolecules.=&lt;br /&gt;
&lt;br /&gt;
[[Image:MSL-logo.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
'''MSL''' is a open source C++ software library for molecular modeling produced in the [http://seneslab.org '''Senes Lab'''] at the University of Wisconsin-Madison, in collaboration with a team or researchers from a number of Universities and companies.&lt;br /&gt;
&lt;br /&gt;
===Philosophy===&lt;br /&gt;
The main goal is to create a set of tools that enable the computational study of macromolecules with relative ease at all levels, from simple operations (for example, load a PDB and measure a distance or edit a dihedral) to complex applications (protein modeling or design).&lt;br /&gt;
&lt;br /&gt;
The MSL library is '''not''' a program (although some applications are distributed) but a tool for scientist to code their own methods.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
Some of the features supported by the library are:&lt;br /&gt;
&lt;br /&gt;
* Support for reading and writing PDB and CRD files.&lt;br /&gt;
* The ability of storing and switching between multiple atom coordinates, for conformational changes and rotameric representation of side chain conformational freedom.&lt;br /&gt;
* For protein design, the ability to build and store multiple residue identities (i.e. LEU, ILE, ALA) at a position and switch between them.&lt;br /&gt;
* Support for rotamer libraries.&lt;br /&gt;
* Transformations such as translations, rotations, and alignments.&lt;br /&gt;
* The CHARMM force field and other energy funtions.&lt;br /&gt;
* Support for CHARMM topology and parameter files.&lt;br /&gt;
* Structure building from scratch (using internal coordinates)&lt;br /&gt;
* Search algorithms such as Monte Carlo, Dead End Elimination, and Self Consistent Mean Field Monte Carlo.&lt;br /&gt;
* Local backbone sampling.&lt;br /&gt;
* Crystal lattice generation.&lt;br /&gt;
* A '''[[PyMOL Python Interface]]''' for calling MSL code from within PyMOL.&lt;br /&gt;
* A R Interface for calling arbitrary R algorithms or plotting routines from within MSL&lt;br /&gt;
* And more...&lt;br /&gt;
&lt;br /&gt;
===Documentation===&lt;br /&gt;
The '''[[Documentation]]''' – currently still under construction – provides a description of the '''[[MSL Objects|objects]]''' and of some '''[[MSL Programs|distrubuted programs and utilites]]'''. A  step by step '''[[Tutorial|tutorial]]''' is being assembled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
Current version: 1.1, released on April 3, 2013.&lt;br /&gt;
&lt;br /&gt;
Previous versions: 1.0, released on July 8, 2012.&lt;br /&gt;
&lt;br /&gt;
===Source===&lt;br /&gt;
&lt;br /&gt;
The source code can be downloaded on SourceForge.  Go to the '''[[Tutorial:Getting_started:_Downloading_MSL|Download]]''' page.  ([[ToDo|&amp;quot;To do&amp;quot; list]]).&lt;br /&gt;
&lt;br /&gt;
===Main development team:===&lt;br /&gt;
&lt;br /&gt;
* Alessandro Senes, Sabareesh Subraminiam, Ben Mueller, Dept. of Biochemistry, U. of Wisconsin-Madison, [http://senes.biochem.wisc.edu '''Senes Lab''']&lt;br /&gt;
* Dan Kulp, IAVI, Scripps Research Institute, La Jolla CA&lt;br /&gt;
* Jason Donald, Manus Biosynthesis, Cambridge MA&lt;br /&gt;
* Brett Hannigan, U. of Pennsylvania, Genomics and Computational Biology Graduate Group&lt;br /&gt;
* Gevorg Grigoryan, James Zhang, Dept. of Computer Science, Dartmouth College, Hanover NH, [http://www.cs.dartmouth.edu/~gevorg/ '''Grigoryan Lab''']&lt;br /&gt;
&lt;br /&gt;
=== Reference === &lt;br /&gt;
Article published using MSL should cite:&lt;br /&gt;
&amp;lt;pubmed&amp;gt;22565567&amp;lt;/pubmed&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''MSL (including early versions) has been used in the following work:'''&lt;br /&gt;
&amp;lt;pubmed&amp;gt;24003111 23520975 23422424 23089864 22576292 22178759 21482808 21287621 21321234 21287621 20945900 20080739 19722646&amp;lt;/pubmed&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=864</id>
		<title>Tutorial:Getting started: Compiling MSL with external libraries</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=864"/>
		<updated>2013-08-06T21:04:51Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Certain functions of MSL require the installation of some open-source external libraries.&lt;br /&gt;
&lt;br /&gt;
* '''GSL''' (GNU Scientific Library) [[http://www.gnu.org/software/gsl/]]&lt;br /&gt;
* '''BOOST''' (portable C++ source libraries) [[http://www.boost.org]] &lt;br /&gt;
* '''GLPK''' (GNU linear programming kit) [[http://www.gnu.org/software/glpk/]]&lt;br /&gt;
* '''R''' (R statistical and graphics project) [[http://www.r-project.org/]]&lt;br /&gt;
* '''OPENMP''' (Open multi-processing) [[http://openmp.org/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to enable inclusion of the external libraries===&lt;br /&gt;
&lt;br /&gt;
By default MSL '''requires the GSL''' library and will be compiled _without_ the support of the other external libraries and some functionality won't be available.  To include the libraries, you need to set some environmental variables. &lt;br /&gt;
&lt;br /&gt;
If you use '''bash''', add the following lines to your .bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_OPENMP set to &amp;quot;T&amp;quot; if OPENMP is installed (default) or else to &amp;quot;F&amp;quot;&lt;br /&gt;
export MSL_GSL=T&lt;br /&gt;
export MSL_GLPK=T&lt;br /&gt;
export MSL_BOOST=T&lt;br /&gt;
export MSL_R=T&lt;br /&gt;
export MSL_OPENMP=T&lt;br /&gt;
#export MSL_EXTERNAL_LIB_DIR=/usr/lib&lt;br /&gt;
#export MSL_EXTERNAL_INCLUDE_DIR=/usr/include&lt;br /&gt;
#export MSL_MACOS=T&lt;br /&gt;
#export MSL_DEBUG=F&lt;br /&gt;
#export MSL_DIR=$HOME/software/mslib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use '''tcsh''', add the following lines to your .cshrc&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_OPENMP set to &amp;quot;T&amp;quot; if OPENMP is installed (default) or else to &amp;quot;F&amp;quot;&lt;br /&gt;
setenv MSL_GSL T&lt;br /&gt;
setenv MSL_GLPK T&lt;br /&gt;
setenv MSL_BOOST T&lt;br /&gt;
setenv MSL_R T&lt;br /&gt;
setenv MSL_OPENMP T&lt;br /&gt;
#setenv MSL_EXTERNAL_LIB_DIR /usr/lib&lt;br /&gt;
#setenv MSL_EXTERNAL_INCLUDE_DIR /usr/include&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default location of the libraries is '''/usr/lib'''.  If you have installed them in a custom location (such as that used below, ~/software/mslib/ext_libs) set the $MSL_EXTERNAL_LIB_DIR environmental variable to the correct location.  You will also want to set the $MSL_EXTERNAL_LIB_INCLUDE_DIR if using a custom location (such as that used below, ~/software/mslib/ext_includes).&lt;br /&gt;
&lt;br /&gt;
=== GSL ===&lt;br /&gt;
Many functions of MSL depend on [[http://www.gnu.org/software/gsl/ GNU Scientific library (GSL)]], which is therefore highly recommended.&lt;br /&gt;
&lt;br /&gt;
For example, GSL is required by the following objects:&lt;br /&gt;
* [[MSL_Objects:RandomNumberGenerator | RandomNumberGenerator]]&lt;br /&gt;
* [[MSL_Objects:GSLMinimizer | GSLMinimizer]]&lt;br /&gt;
* [[MSL_Objects:MonteCarloOptimization| MonteCarloOptimization]]&lt;br /&gt;
* [[MSL_Objects:CCD | CCD]]&lt;br /&gt;
* [[MSL_Objects:BackRub | BackRub]]&lt;br /&gt;
* [[MSL_Objects:Quench | Quench]]&lt;br /&gt;
* [[MSL_Objects:SurfaceAreaAndVolume | SurfaceAreaAndVolume]]&lt;br /&gt;
&lt;br /&gt;
If '''GSL''' is enabled, you should see ''-D__GSL_'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====To compile GSL====&lt;br /&gt;
GSL can be installed from the software repository (in Ubuntu, libgsl0-dev) or downloaded and installed from a tar file.  For a more specific reference see the GSL homepage, but here is an example of the installation procedure:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;tar xzvf gsl-1.14.tar.gz &lt;br /&gt;
 &amp;gt;cd gsl-1.14&lt;br /&gt;
 &amp;gt;./configure --prefix=/path/to/desired/directory&lt;br /&gt;
 &amp;gt;make&lt;br /&gt;
 &amp;gt;make check&lt;br /&gt;
 &amp;gt;make install&lt;br /&gt;
 &amp;gt;cp .libs/libgsl.a ~/software/mslib/ext_libs/&lt;br /&gt;
 &amp;gt;cp cblas/.libs/libgslcblas.a ~/software/mslib/ext_libs/&lt;br /&gt;
&lt;br /&gt;
# Note the -H, this should follow the symlinks, otherwise you get copies of links with relative paths and then you get errors making MSL that say gsl/gsl_rng.h not found, when you see it there!&lt;br /&gt;
 &amp;gt; mkdir ~/software/mslib/ext_includes/gsl&lt;br /&gt;
 &amp;gt; cp -H gsl/* ~/software/mslib/ext_includes/gsl&lt;br /&gt;
&lt;br /&gt;
=== BOOST ===&lt;br /&gt;
The following libraries from the [http://www.boost.org/ Boost C++ Libraries] are used in some MSL objects and programs.  In Ubuntu, it is available in the package libboost-all-dev.&lt;br /&gt;
* Serialization, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDescriptor|EnvironmentDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Archive, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:Selectable|Selectable]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Regex, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:MslTools|MslTools]]&lt;br /&gt;
** [[MSL_Objects:RegEx|RegEx]]&lt;br /&gt;
&lt;br /&gt;
* Random, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:RandomSeqGenerator|RandomSeqGenerator]]&lt;br /&gt;
&lt;br /&gt;
Note: if boost is included, version 1.40 (???) or later is required.&lt;br /&gt;
&lt;br /&gt;
If '''BOOST''' is enabled, you should see ''-D__BOOST__ -DBOOST_DISABLE_THREADS'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
====To Compile BOOST====&lt;br /&gt;
 &amp;gt;tar xzvf boost-VERSION.tar.gz&lt;br /&gt;
 &amp;gt;cd boost-VERSION&lt;br /&gt;
 &amp;gt;./bootstrap.sh --prefix=~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt;./b2&lt;br /&gt;
 &amp;gt; cp ./stage/lib/libboost_*.a ~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt; cp -r boost ~/software/mslib/ext_includes/&lt;br /&gt;
&lt;br /&gt;
Assuming MSL library is installed in ~/software/mslib/.  You will need to make the ext_includes and ext_libs directories before copying.&lt;br /&gt;
&lt;br /&gt;
=== GLPK ===&lt;br /&gt;
The [http://www.gnu.org/software/glpk/ GNU linear programming kit] is required by the [[MSL_Objects:LinearProgrammingOptimization | LinearProgrammingOptimization]] object.&lt;br /&gt;
&lt;br /&gt;
If '''GLPK''' is enabled, you should see ''-D__GLPK__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/usr/lib --disable-dl --disable-odbc --disable-mysql --enable-static --without-gmp --without-zlib&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cp /usr/lib/libglpk.a MSLHOME/ext_libs/&lt;br /&gt;
  cp /usr/include/glpk.h MSLHOME/ext_includes/&lt;br /&gt;
&lt;br /&gt;
=== R ===&lt;br /&gt;
The [http://www.r-project.org/ R project] is used by the getDihedrals program.  In Ubuntu the package is r-base.&lt;br /&gt;
&lt;br /&gt;
If '''R''' is enabled, you should see ''-D__R__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
==== To Compile R ====&lt;br /&gt;
&lt;br /&gt;
===== MAC OS =====&lt;br /&gt;
Install R and copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
Download Rcpp &lt;br /&gt;
 R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the above install does not work, one can install from source here is a good resource:&lt;br /&gt;
 http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Quick-start&lt;br /&gt;
&lt;br /&gt;
===== LINUX OS =====&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Success using shared libraries and compiling MSL as shared lib, but static lib has not been done yet.  I will link my Makefile for shared-R compile once its cleaned up a bit&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First try using the 'apt' system in linux:&lt;br /&gt;
 sudo apt-get install r-base&lt;br /&gt;
&lt;br /&gt;
If the 'apt' version is not the latest version that you need, then install latest version of R:&lt;br /&gt;
 sudo apt-get build-dep r-base&lt;br /&gt;
 tar xvzf R-2.11.1.tar.gz&lt;br /&gt;
 cd R-2.11.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install Rcpp:&lt;br /&gt;
 sudo /usr/local/bin/R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Install RInside:&lt;br /&gt;
&lt;br /&gt;
R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
=== OpenMP ===&lt;br /&gt;
[http://openmp.org OpenMP] is used by the OnTheFlyManager.  In Ubuntu the package is usually installed by default, but may be found under libgomp1.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''[[Tutorial|Back to the tutorial page]]'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=MSL_Programs::repackSideChains&amp;diff=767</id>
		<title>MSL Programs::repackSideChains</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=MSL_Programs::repackSideChains&amp;diff=767"/>
		<updated>2012-07-10T19:21:50Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==repackSideChains==&lt;br /&gt;
&lt;br /&gt;
A program to repack side chains of an input structure.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Options== &lt;br /&gt;
 --pdbfile &amp;lt;pdbfile&amp;gt;  - PDB structure to analyze. Should have PDB format and CHARMM names for all atoms.&lt;br /&gt;
&lt;br /&gt;
Optional Parameters &lt;br /&gt;
 --rotlibfile &amp;lt;rotlibfile&amp;gt; - RotamerLibrary file in MSL format (defaults to $MSL_DIR/library/EBL_11-2011_CHARMM22.txt).&lt;br /&gt;
 --charmmtopfile &amp;lt;charmmTopFile&amp;gt; - CHARMM Topology file (defaults to $MSL_DIR/toppar/charmm22.top).&lt;br /&gt;
 --charmmparfile &amp;lt;charmmParFile&amp;gt; - CHARMM parameter file (defaults to $MSL_DIR/toppar/charmm22.par).&lt;br /&gt;
 --hbondparfile &amp;lt;hbondParFile&amp;gt; - Hydrogen bond parameters file (defaults to $MSL_DIR/toppar/scwrl4hb/par_hbond_1.txt).&lt;br /&gt;
 --outputpdbfile &amp;lt;outputpdbfile&amp;gt; - Creates a pdb file with the best(lowest energy) structure obtained. Should be specified for most applications.&lt;br /&gt;
 --logfile &amp;lt;logfile&amp;gt; - The output may be written to a text file. (Does not write the structure out. Prints the original and recovered values for chi dihedrals )&lt;br /&gt;
 --verbose &amp;lt;true/false&amp;gt; - Prints additional information during the optimization process.&lt;br /&gt;
&lt;br /&gt;
Non bonded interactions - thresholds&lt;br /&gt;
 --cuton &amp;lt;nbcuton&amp;gt; defaults to 9.0&lt;br /&gt;
 --cutoff &amp;lt;nbcutoff&amp;gt; defaults to 10.0&lt;br /&gt;
 --cutnb &amp;lt;nbcutnb&amp;gt; defaults to 11.0&lt;br /&gt;
&lt;br /&gt;
No interactions between atoms that are greater than cutnb Angstroms apart.&lt;br /&gt;
All interactions at distances between cutoff and cutnb have zero energy but the interactions are maintained by the CharmmSystemBuilder.&lt;br /&gt;
All interactions between cuton and cutoff are weighted using a switching function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 --includecrystalrotamer &amp;lt;true/false&amp;gt; Specify if crystal rotamer should be considered during repack. Should be set to false(defaults to false) to evaluate sidechain recovery.&lt;br /&gt;
 --configfile &amp;lt;configfile&amp;gt; All the options may be specified in a file.&lt;br /&gt;
&lt;br /&gt;
Algorithms&lt;br /&gt;
 --rungoldsteinsingles &amp;lt;true/false&amp;gt; Defaults to true. Dead End Elimination using Goldstein Singles.&lt;br /&gt;
 --rungoldsteinpairs &amp;lt;true/false&amp;gt; Defaults to false. Dead End Elimination using Goldstein Pairs.&lt;br /&gt;
 --runscmf &amp;lt;true/false&amp;gt; Defaults to true. Runs the Self Consistent Mean Field Algorithm.&lt;br /&gt;
 --runscmfbiasedmc &amp;lt;true/false&amp;gt;  Defaults to false. Runs a Biased Monte Carlo search using the SCMF probabilities.&lt;br /&gt;
 --rununbiasedmc &amp;lt;true/false&amp;gt; Defaults to true. Runs a Monte Carlo Simulated Annealing algorithm.&lt;br /&gt;
&lt;br /&gt;
Optional MC Parameters &lt;br /&gt;
 --mcstarttemp &amp;lt;startT&amp;gt; &lt;br /&gt;
 --mcendtemp &amp;lt;endT&amp;gt; &lt;br /&gt;
 --mccycles &amp;lt;numCycles&amp;gt; &lt;br /&gt;
 --mcshape &amp;lt;CONSTANT/LINEAR/EXPONENTIAL/SIGMOIDAL/SOFT&amp;gt; &lt;br /&gt;
 --mcmaxreject &amp;lt;numReject&amp;gt; &lt;br /&gt;
 --mcdeltasteps &amp;lt;numsteps&amp;gt; &lt;br /&gt;
 --mcmindeltaenergy &amp;lt;minEnergy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--excludeenergyterm &amp;lt;term1&amp;gt; --excludeenergyterm &amp;lt;term2&amp;gt; &lt;br /&gt;
   [Terms can be CHARMM_ANGL,CHARMM_BOND,CHARMM_DIHE,CHARMM_ELEC,CHARMM_IMPR,CHARMM_U-BR,CHARMM_VDW,SCWRL4_HBOND] All terms are implemented by default &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optional - Num of rotamers per residue type (-ve or 0 means the wt rotamer alone will be used)&lt;br /&gt;
 --rotlevel &amp;lt;SL85.00&amp;gt; (See your rotamer file for available rotamer levels)&lt;br /&gt;
 --ALA &amp;lt;nALA&amp;gt;&lt;br /&gt;
 --ARG &amp;lt;nARG&amp;gt; &lt;br /&gt;
 .........&lt;br /&gt;
 --HSD &amp;lt;nHSD&amp;gt;&lt;br /&gt;
 --HSE &amp;lt;nHSD&amp;gt;&lt;br /&gt;
 --HSP &amp;lt;nHSP&amp;gt; &lt;br /&gt;
 ....... &lt;br /&gt;
 --VAL &amp;lt;nVAL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
 &lt;br /&gt;
The repack side chains program takes a pdb file and optimizes all sidechain conformations.&lt;br /&gt;
It uses discrete conformations from a rotamer library, and using state-of-the-art algorithms, repacks sidechains onto the input backbone structure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; '''./repackSideChains --pdbfile 1A2J-for-repack-mini.pdb --rotlibfile rotlib-bonded_vdw_hb.txt --charmmtopfile top_all22_prot.inp --charmmparfile par_all22_prot.inp &lt;br /&gt;
   '''--hbondparfile canonical.inp --excludeenergyterm CHARMM_ELEC --printstats true --includecrystalrotamer true --ALA=-1 --GLY=-1 --PRO=-1 --outputpdbfile 1A2J_repacked.pdb&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; '''./repackSideChains --pdbfile 1A2J-for-repack-mini.pdb&lt;br /&gt;
&lt;br /&gt;
 ....&lt;br /&gt;
&lt;br /&gt;
==Source from SourceForge==&lt;br /&gt;
&lt;br /&gt;
[http://mslib.svn.sourceforge.net/viewvc/mslib/trunk/programs/repackSideChains.h?&amp;amp;view=markup repackSideChains.h]&lt;br /&gt;
&lt;br /&gt;
[http://mslib.svn.sourceforge.net/viewvc/mslib/trunk/programs/repackSideChains.cpp?&amp;amp;view=markup repackSideChains.cpp]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Documentation|Documentation index]]&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Main_Page&amp;diff=760</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Main_Page&amp;diff=760"/>
		<updated>2012-07-05T17:18:12Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''MSL: an open source C++ library for analysis, manipulation, modeling and design of macromolecules.'''&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[Image:MSL-logo.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
===Philosophy===&lt;br /&gt;
The main goal is to create a set of tools that enable the computational study of macromolecules with relative ease at all levels, from simple operations (for example, load a PDB and measure a distance or edit a dihedral) to complex applications (protein modeling or design).&lt;br /&gt;
&lt;br /&gt;
The MSL library is '''not''' a program (although some applications are distributed) but a tool for scientist to code their own methods.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
Some of the features supported by the library are:&lt;br /&gt;
&lt;br /&gt;
* Support for reading and writing PDB files.&lt;br /&gt;
* The ability of storing and switching between multiple atom coordinates, for conformational changes and rotameric representation of side chain conformational freedom.&lt;br /&gt;
* For protein design, the ability to build and store multiple residue identities (i.e. LEU, ILE, ALA) at a position and switch between them.&lt;br /&gt;
* Transformations such as translations, rotations, and alignments.&lt;br /&gt;
* The CHARMM force field and other potential energies.&lt;br /&gt;
* Support for CHARMM topology and parameter files.&lt;br /&gt;
* Structure building from scratch (using internal coordinates)&lt;br /&gt;
* Search algorithms such as Monte Carlo, Dead End Elimination, and Self Consistent Mean Field Monte Carlo.&lt;br /&gt;
* Local backbone sampling.&lt;br /&gt;
* Crystal lattice generation.&lt;br /&gt;
* A '''[[PyMOL Python Interface]]''' for calling MSL code from within PyMOL.&lt;br /&gt;
* A R Interface for calling arbitrary R algorithms or plotting routines from within MSL&lt;br /&gt;
* And more...&lt;br /&gt;
&lt;br /&gt;
===Documentation===&lt;br /&gt;
The '''[[Documentation]]''' – currently still under construction – provides a description of the '''[[MSL Objects|objects]]''' and of some '''[[MSL Programs|distrubuted programs and utilites]]'''. A  step by step '''[[Tutorial|tutorial]]''' is being assembled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
The libraries are in an advanced alpha stage and in active development. They are suitable for production work (at your own risk, we use them for it daily), but the APIs are not set in stone so the occasional bug will surface and feature development will be ongoing.&lt;br /&gt;
&lt;br /&gt;
===Source===&lt;br /&gt;
&lt;br /&gt;
The source code can be downloaded on SourceForge.  Go to the '''[[Tutorial:Getting_started:_Downloading_MSL|Download]]''' page.  ([[ToDo|&amp;quot;To do&amp;quot; list]]).&lt;br /&gt;
&lt;br /&gt;
===Main development team:===&lt;br /&gt;
&lt;br /&gt;
* Alessandro Senes, Sabareesh Subraminiam, Ben Mueller, Dept. of Biochemistry, U. of Wisconsin-Madison, [http://senes.biochem.wisc.edu '''Senes Lab''']&lt;br /&gt;
* Dan Kulp, IAVI, Scripps Research Institute, La Jolla CA&lt;br /&gt;
* Jason Donald, Agrivida, Inc., Medford MA&lt;br /&gt;
* Brett Hannigan, U. of Pennsylvania, Genomics and Computational Biology Graduate Group&lt;br /&gt;
* Gevorg Grigoryan, Dept. of Computer Science, Dartmouth College, Hanover NH, [http://www.cs.dartmouth.edu/~gevorg/ '''Grigoryan Lab''']&lt;br /&gt;
&lt;br /&gt;
=== Reference === &lt;br /&gt;
Article published using MSL should cite:&lt;br /&gt;
&lt;br /&gt;
Kulp DW, Subramaniam S, Donald JE, Hannigan BT, Mueller BK, Grigoryan G and Senes A &lt;br /&gt;
&amp;quot;Structural informatics, modeling and design with an open-source Molecular Software Library (MSL)&amp;quot; &lt;br /&gt;
''J. Comput. Chem.'' (2012) '''33(20)''', 1645-61. DOI: 10.1002/jcc.22968&lt;br /&gt;
[http://dx.doi.org/10.1002/jcc.22968 Download]&lt;br /&gt;
&lt;br /&gt;
'''MSL has been used in the following work:'''&lt;br /&gt;
&amp;lt;pubmed&amp;gt;22178759 21482808 21321234 21287621 20945900 20080739 19722646&amp;lt;/pubmed&amp;gt;&lt;br /&gt;
&amp;lt;!-- 21287621 --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=759</id>
		<title>Tutorial:Getting started: Compiling MSL with external libraries</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=759"/>
		<updated>2012-07-04T15:35:12Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: /* How to enable inclusion of the external libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Certain functions of MSL require the installation of some open-source external libraries.&lt;br /&gt;
&lt;br /&gt;
* '''BOOST''' (portable C++ source libraries) [[http://www.boost.org]] &lt;br /&gt;
* '''GSL''' (GNU Scientific Library) [[http://www.gnu.org/software/gsl/]]&lt;br /&gt;
* '''GLPK''' (GNU linear programming kit) [[http://www.gnu.org/software/glpk/]]&lt;br /&gt;
* '''R''' (R statistical and graphics project) [[http://www.r-project.org/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to enable inclusion of the external libraries===&lt;br /&gt;
&lt;br /&gt;
By default MSL will be compiled '''without''' the support of the external libraries and some functionality won't be available.  To include the libraries, you need to set some environmental variables. &lt;br /&gt;
&lt;br /&gt;
If you use '''bash''', add the following lines to your .bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
export MSL_GSL=T&lt;br /&gt;
export MSL_GLPK=T&lt;br /&gt;
export MSL_BOOST=T&lt;br /&gt;
export MSL_R=T&lt;br /&gt;
#export MSL_EXTERNAL_LIB_DIR=/usr/lib&lt;br /&gt;
#export MSL_EXTERNAL_INCLUDE_DIR=/usr/include&lt;br /&gt;
#export MSL_MACOS=T&lt;br /&gt;
#export MSL_DEBUG=F&lt;br /&gt;
#export MSL_DIR=$HOME/software/mslib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use '''tcsh''', add the following lines to your .cshrc&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
setenv MSL_GSL T&lt;br /&gt;
setenv MSL_GLPK T&lt;br /&gt;
setenv MSL_BOOST T&lt;br /&gt;
setenv MSL_R T&lt;br /&gt;
#setenv MSL_EXTERNAL_LIB_DIR /usr/lib&lt;br /&gt;
#setenv MSL_EXTERNAL_INCLUDE_DIR /usr/include&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default location of the libraries is '''/usr/lib'''.  If you have installed them in a custom location (such as that used below, ~/software/mslib/ext_libs) set the $MSL_EXTERNAL_LIB_DIR environmental variable to the correct location.  You will also want to set the $MSL_EXTERNAL_LIB_INCLUDE_DIR if using a custom location (such as that used below, ~/software/mslib/ext_includes).&lt;br /&gt;
&lt;br /&gt;
=== BOOST ===&lt;br /&gt;
The following libraries from the [http://www.boost.org/ Boost C++ Libraries] are used in some MSL objects and programs&lt;br /&gt;
* Serialization, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDescriptor|EnvironmentDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Archive, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:Selectable|Selectable]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Regex, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:MslTools|MslTools]]&lt;br /&gt;
** [[MSL_Objects:RegEx|RegEx]]&lt;br /&gt;
&lt;br /&gt;
* Random, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:RandomSeqGenerator|RandomSeqGenerator]]&lt;br /&gt;
&lt;br /&gt;
Note: if boost is included, version 1.40 (???) or later is required.&lt;br /&gt;
&lt;br /&gt;
If '''BOOST''' is enabled, you should see ''-D__BOOST__ -DBOOST_DISABLE_THREADS'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
====To Compile BOOST====&lt;br /&gt;
 &amp;gt;tar xzvf boost-VERSION.tar.gz&lt;br /&gt;
 &amp;gt;cd boost-VERSION&lt;br /&gt;
 &amp;gt;./bootstrap.sh --prefix=~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt;./b2&lt;br /&gt;
 &amp;gt; cp ./stage/lib/libboost_*.a ~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt; cp -r boost ~/software/mslib/ext_includes/&lt;br /&gt;
&lt;br /&gt;
Assuming MSL library is installed in ~/software/mslib/.  You will need to make the ext_includes and ext_libs directories before copying.&lt;br /&gt;
&lt;br /&gt;
=== GSL ===&lt;br /&gt;
The [[http://www.gnu.org/software/gsl/ GNU Scientific library]] is required by the following objects:&lt;br /&gt;
* [[MSL_Objects:RandomNumberGenerator | RandomNumberGenerator]]&lt;br /&gt;
* [[MSL_Objects:GSLMinimizer | GSLMinimizer]]&lt;br /&gt;
* [[MSL_Objects:MonteCarloOptimization| MonteCarloOptimization]]&lt;br /&gt;
* [[MSL_Objects:CCD | CCD]]&lt;br /&gt;
* [[MSL_Objects:BackRub | BackRub]]&lt;br /&gt;
* [[MSL_Objects:Quench | Quench]]&lt;br /&gt;
* [[MSL_Objects:SurfaceAreaAndVolume | SurfaceAreaAndVolume]]&lt;br /&gt;
&lt;br /&gt;
If '''GSL''' is enabled, you should see ''-D__GSL_'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====To compile GSL====&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;tar xzvf gsl-1.14.tar.gz &lt;br /&gt;
 &amp;gt;cd gsl-1.14&lt;br /&gt;
 &amp;gt;./configure --prefix=/path/to/desired/directory&lt;br /&gt;
 &amp;gt;make&lt;br /&gt;
 &amp;gt;make check&lt;br /&gt;
 &amp;gt;make install&lt;br /&gt;
 &amp;gt;cp .libs/libgsl.a ~/software/mslib/ext_libs/&lt;br /&gt;
 &amp;gt;cp cblas/.libs/libgslcblas.a ~/software/mslib/ext_libs/&lt;br /&gt;
&lt;br /&gt;
# Note the -H, this should follow the symlinks, otherwise you get copies of links with relative paths and then you get errors making MSL that say gsl/gsl_rng.h not found, when you see it there!&lt;br /&gt;
 &amp;gt; mkdir ~/software/mslib/ext_includes/gsl&lt;br /&gt;
 &amp;gt; cp -H gsl/* ~/software/mslib/ext_includes/gsl&lt;br /&gt;
&lt;br /&gt;
=== GLPK ===&lt;br /&gt;
The [http://www.gnu.org/software/glpk/ GNU linear programming kit] is required by the [[MSL_Objects:LinearProgrammingOptimization | LinearProgrammingOptimization]] object.&lt;br /&gt;
&lt;br /&gt;
If '''GLPK''' is enabled, you should see ''-D__GLPK__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/usr/lib --disable-dl --disable-odbc --disable-mysql --enable-static --without-gmp --without-zlib&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cp /usr/lib/libglpk.a MSLHOME/ext_libs/&lt;br /&gt;
  cp /usr/include/glpk.h MSLHOME/ext_includes/&lt;br /&gt;
&lt;br /&gt;
=== R ===&lt;br /&gt;
The [http://www.r-project.org/ R project] is used by the getDihedrals program.&lt;br /&gt;
&lt;br /&gt;
If '''R''' is enabled, you should see ''-D__R__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
==== To Compile R ====&lt;br /&gt;
&lt;br /&gt;
===== MAC OS =====&lt;br /&gt;
Install R and copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
Download Rcpp &lt;br /&gt;
 R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the above install does not work, one can install from source here is a good resource:&lt;br /&gt;
 http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Quick-start&lt;br /&gt;
&lt;br /&gt;
===== LINUX OS =====&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Success using shared libraries and compiling MSL as shared lib, but static lib has not been done yet.  I will link my Makefile for shared-R compile once its cleaned up a bit&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First try using the 'apt' system in linux:&lt;br /&gt;
 sudo apt-get install r-base&lt;br /&gt;
&lt;br /&gt;
If the 'apt' version is not the latest version that you need, then install latest version of R:&lt;br /&gt;
 sudo apt-get build-dep r-base&lt;br /&gt;
 tar xvzf R-2.11.1.tar.gz&lt;br /&gt;
 cd R-2.11.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install Rcpp:&lt;br /&gt;
 sudo /usr/local/bin/R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Install RInside:&lt;br /&gt;
&lt;br /&gt;
R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''[[Tutorial|Back to the tutorial page]]'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=758</id>
		<title>Tutorial:Getting started: Compiling MSL with external libraries</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=758"/>
		<updated>2012-07-04T15:29:55Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: /* To compile GSL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Certain functions of MSL require the installation of some open-source external libraries.&lt;br /&gt;
&lt;br /&gt;
* '''BOOST''' (portable C++ source libraries) [[http://www.boost.org]] &lt;br /&gt;
* '''GSL''' (GNU Scientific Library) [[http://www.gnu.org/software/gsl/]]&lt;br /&gt;
* '''GLPK''' (GNU linear programming kit) [[http://www.gnu.org/software/glpk/]]&lt;br /&gt;
* '''R''' (R statistical and graphics project) [[http://www.r-project.org/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to enable inclusion of the external libraries===&lt;br /&gt;
&lt;br /&gt;
By default MSL will be compiled '''without''' the support of the external libraries and some functionality won't be available.  To include the libraries, you need to set some environmental variables. &lt;br /&gt;
&lt;br /&gt;
If you use '''bash''', add the following lines to your .bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
export MSL_GSL=T&lt;br /&gt;
export MSL_GLPK=T&lt;br /&gt;
export MSL_BOOST=T&lt;br /&gt;
export MSL_R=T&lt;br /&gt;
#export MSL_EXTERNAL_LIB_DIR=/usr/lib&lt;br /&gt;
#export MSL_EXTERNAL_INCLUDE_DIR=/usr/include&lt;br /&gt;
#export MSL_MACOS=T&lt;br /&gt;
#export MSL_DEBUG=F&lt;br /&gt;
#export MSL_DIR=$HOME/software/mslib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use '''tcsh''', add the following lines to your .cshrc&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
setenv MSL_GSL T&lt;br /&gt;
setenv MSL_GLPK T&lt;br /&gt;
setenv MSL_BOOST T&lt;br /&gt;
setenv MSL_R T&lt;br /&gt;
#setenv MSL_EXTERNAL_LIB_DIR /usr/lib&lt;br /&gt;
#setenv MSL_EXTERNAL_INCLUDE_DIR /usr/include&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default location of the libraries is '''/usr/lib'''.  If you have installed them in a custom location set the $EXTERNAL_LIB_DIR environmental variable to the correct location.&lt;br /&gt;
&lt;br /&gt;
=== BOOST ===&lt;br /&gt;
The following libraries from the [http://www.boost.org/ Boost C++ Libraries] are used in some MSL objects and programs&lt;br /&gt;
* Serialization, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDescriptor|EnvironmentDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Archive, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:Selectable|Selectable]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Regex, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:MslTools|MslTools]]&lt;br /&gt;
** [[MSL_Objects:RegEx|RegEx]]&lt;br /&gt;
&lt;br /&gt;
* Random, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:RandomSeqGenerator|RandomSeqGenerator]]&lt;br /&gt;
&lt;br /&gt;
Note: if boost is included, version 1.40 (???) or later is required.&lt;br /&gt;
&lt;br /&gt;
If '''BOOST''' is enabled, you should see ''-D__BOOST__ -DBOOST_DISABLE_THREADS'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
====To Compile BOOST====&lt;br /&gt;
 &amp;gt;tar xzvf boost-VERSION.tar.gz&lt;br /&gt;
 &amp;gt;cd boost-VERSION&lt;br /&gt;
 &amp;gt;./bootstrap.sh --prefix=~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt;./b2&lt;br /&gt;
 &amp;gt; cp ./stage/lib/libboost_*.a ~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt; cp -r boost ~/software/mslib/ext_includes/&lt;br /&gt;
&lt;br /&gt;
Assuming MSL library is installed in ~/software/mslib/.  You will need to make the ext_includes and ext_libs directories before copying.&lt;br /&gt;
&lt;br /&gt;
=== GSL ===&lt;br /&gt;
The [[http://www.gnu.org/software/gsl/ GNU Scientific library]] is required by the following objects:&lt;br /&gt;
* [[MSL_Objects:RandomNumberGenerator | RandomNumberGenerator]]&lt;br /&gt;
* [[MSL_Objects:GSLMinimizer | GSLMinimizer]]&lt;br /&gt;
* [[MSL_Objects:MonteCarloOptimization| MonteCarloOptimization]]&lt;br /&gt;
* [[MSL_Objects:CCD | CCD]]&lt;br /&gt;
* [[MSL_Objects:BackRub | BackRub]]&lt;br /&gt;
* [[MSL_Objects:Quench | Quench]]&lt;br /&gt;
* [[MSL_Objects:SurfaceAreaAndVolume | SurfaceAreaAndVolume]]&lt;br /&gt;
&lt;br /&gt;
If '''GSL''' is enabled, you should see ''-D__GSL_'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====To compile GSL====&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;tar xzvf gsl-1.14.tar.gz &lt;br /&gt;
 &amp;gt;cd gsl-1.14&lt;br /&gt;
 &amp;gt;./configure --prefix=/path/to/desired/directory&lt;br /&gt;
 &amp;gt;make&lt;br /&gt;
 &amp;gt;make check&lt;br /&gt;
 &amp;gt;make install&lt;br /&gt;
 &amp;gt;cp .libs/libgsl.a ~/software/mslib/ext_libs/&lt;br /&gt;
 &amp;gt;cp cblas/.libs/libgslcblas.a ~/software/mslib/ext_libs/&lt;br /&gt;
&lt;br /&gt;
# Note the -H, this should follow the symlinks, otherwise you get copies of links with relative paths and then you get errors making MSL that say gsl/gsl_rng.h not found, when you see it there!&lt;br /&gt;
 &amp;gt; mkdir ~/software/mslib/ext_includes/gsl&lt;br /&gt;
 &amp;gt; cp -H gsl/* ~/software/mslib/ext_includes/gsl&lt;br /&gt;
&lt;br /&gt;
=== GLPK ===&lt;br /&gt;
The [http://www.gnu.org/software/glpk/ GNU linear programming kit] is required by the [[MSL_Objects:LinearProgrammingOptimization | LinearProgrammingOptimization]] object.&lt;br /&gt;
&lt;br /&gt;
If '''GLPK''' is enabled, you should see ''-D__GLPK__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/usr/lib --disable-dl --disable-odbc --disable-mysql --enable-static --without-gmp --without-zlib&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cp /usr/lib/libglpk.a MSLHOME/ext_libs/&lt;br /&gt;
  cp /usr/include/glpk.h MSLHOME/ext_includes/&lt;br /&gt;
&lt;br /&gt;
=== R ===&lt;br /&gt;
The [http://www.r-project.org/ R project] is used by the getDihedrals program.&lt;br /&gt;
&lt;br /&gt;
If '''R''' is enabled, you should see ''-D__R__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
==== To Compile R ====&lt;br /&gt;
&lt;br /&gt;
===== MAC OS =====&lt;br /&gt;
Install R and copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
Download Rcpp &lt;br /&gt;
 R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the above install does not work, one can install from source here is a good resource:&lt;br /&gt;
 http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Quick-start&lt;br /&gt;
&lt;br /&gt;
===== LINUX OS =====&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Success using shared libraries and compiling MSL as shared lib, but static lib has not been done yet.  I will link my Makefile for shared-R compile once its cleaned up a bit&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First try using the 'apt' system in linux:&lt;br /&gt;
 sudo apt-get install r-base&lt;br /&gt;
&lt;br /&gt;
If the 'apt' version is not the latest version that you need, then install latest version of R:&lt;br /&gt;
 sudo apt-get build-dep r-base&lt;br /&gt;
 tar xvzf R-2.11.1.tar.gz&lt;br /&gt;
 cd R-2.11.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install Rcpp:&lt;br /&gt;
 sudo /usr/local/bin/R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Install RInside:&lt;br /&gt;
&lt;br /&gt;
R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''[[Tutorial|Back to the tutorial page]]'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=757</id>
		<title>Tutorial:Getting started: Compiling MSL with external libraries</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=757"/>
		<updated>2012-07-04T15:18:17Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: /* To Compile BOOST */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Certain functions of MSL require the installation of some open-source external libraries.&lt;br /&gt;
&lt;br /&gt;
* '''BOOST''' (portable C++ source libraries) [[http://www.boost.org]] &lt;br /&gt;
* '''GSL''' (GNU Scientific Library) [[http://www.gnu.org/software/gsl/]]&lt;br /&gt;
* '''GLPK''' (GNU linear programming kit) [[http://www.gnu.org/software/glpk/]]&lt;br /&gt;
* '''R''' (R statistical and graphics project) [[http://www.r-project.org/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to enable inclusion of the external libraries===&lt;br /&gt;
&lt;br /&gt;
By default MSL will be compiled '''without''' the support of the external libraries and some functionality won't be available.  To include the libraries, you need to set some environmental variables. &lt;br /&gt;
&lt;br /&gt;
If you use '''bash''', add the following lines to your .bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
export MSL_GSL=T&lt;br /&gt;
export MSL_GLPK=T&lt;br /&gt;
export MSL_BOOST=T&lt;br /&gt;
export MSL_R=T&lt;br /&gt;
#export MSL_EXTERNAL_LIB_DIR=/usr/lib&lt;br /&gt;
#export MSL_EXTERNAL_INCLUDE_DIR=/usr/include&lt;br /&gt;
#export MSL_MACOS=T&lt;br /&gt;
#export MSL_DEBUG=F&lt;br /&gt;
#export MSL_DIR=$HOME/software/mslib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use '''tcsh''', add the following lines to your .cshrc&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
setenv MSL_GSL T&lt;br /&gt;
setenv MSL_GLPK T&lt;br /&gt;
setenv MSL_BOOST T&lt;br /&gt;
setenv MSL_R T&lt;br /&gt;
#setenv MSL_EXTERNAL_LIB_DIR /usr/lib&lt;br /&gt;
#setenv MSL_EXTERNAL_INCLUDE_DIR /usr/include&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default location of the libraries is '''/usr/lib'''.  If you have installed them in a custom location set the $EXTERNAL_LIB_DIR environmental variable to the correct location.&lt;br /&gt;
&lt;br /&gt;
=== BOOST ===&lt;br /&gt;
The following libraries from the [http://www.boost.org/ Boost C++ Libraries] are used in some MSL objects and programs&lt;br /&gt;
* Serialization, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDescriptor|EnvironmentDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Archive, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:Selectable|Selectable]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Regex, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:MslTools|MslTools]]&lt;br /&gt;
** [[MSL_Objects:RegEx|RegEx]]&lt;br /&gt;
&lt;br /&gt;
* Random, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:RandomSeqGenerator|RandomSeqGenerator]]&lt;br /&gt;
&lt;br /&gt;
Note: if boost is included, version 1.40 (???) or later is required.&lt;br /&gt;
&lt;br /&gt;
If '''BOOST''' is enabled, you should see ''-D__BOOST__ -DBOOST_DISABLE_THREADS'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
====To Compile BOOST====&lt;br /&gt;
 &amp;gt;tar xzvf boost-VERSION.tar.gz&lt;br /&gt;
 &amp;gt;cd boost-VERSION&lt;br /&gt;
 &amp;gt;./bootstrap.sh --prefix=~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt;./b2&lt;br /&gt;
 &amp;gt; cp ./stage/lib/libboost_*.a ~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt; cp -r boost ~/software/mslib/ext_includes/&lt;br /&gt;
&lt;br /&gt;
Assuming MSL library is installed in ~/software/mslib/.  You will need to make the ext_includes and ext_libs directories before copying.&lt;br /&gt;
&lt;br /&gt;
=== GSL ===&lt;br /&gt;
The [[http://www.gnu.org/software/gsl/ GNU Scientific library]] is required by the following objects:&lt;br /&gt;
* [[MSL_Objects:RandomNumberGenerator | RandomNumberGenerator]]&lt;br /&gt;
* [[MSL_Objects:GSLMinimizer | GSLMinimizer]]&lt;br /&gt;
* [[MSL_Objects:MonteCarloOptimization| MonteCarloOptimization]]&lt;br /&gt;
* [[MSL_Objects:CCD | CCD]]&lt;br /&gt;
* [[MSL_Objects:BackRub | BackRub]]&lt;br /&gt;
* [[MSL_Objects:Quench | Quench]]&lt;br /&gt;
* [[MSL_Objects:SurfaceAreaAndVolume | SurfaceAreaAndVolume]]&lt;br /&gt;
&lt;br /&gt;
If '''GSL''' is enabled, you should see ''-D__GSL_'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====To compile GSL====&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;tar xzvf gsl-1.14.tar.gz &lt;br /&gt;
 &amp;gt;cd gsl-1.14&lt;br /&gt;
 &amp;gt;./configure --prefix=/path/to/desired/directory&lt;br /&gt;
 &amp;gt;make&lt;br /&gt;
 &amp;gt;make check&lt;br /&gt;
 &amp;gt;make install&lt;br /&gt;
 &amp;gt;cp .libs/libgsl.a ~/software/mslib/ext_libs/&lt;br /&gt;
 &amp;gt;cp cblas/.libs/libgslcblas.a ~/software/mslib/ext_libs/&lt;br /&gt;
&lt;br /&gt;
# Note the -H, this should follow the symlinks, otherwise you get copies of links with relative paths and then you get errors making MSL that say gsl/gsl_rng.h not found, when you see it there!&lt;br /&gt;
 &amp;gt; cp -r -H gsl ~/software/mslib/ext_includes/&lt;br /&gt;
&lt;br /&gt;
=== GLPK ===&lt;br /&gt;
The [http://www.gnu.org/software/glpk/ GNU linear programming kit] is required by the [[MSL_Objects:LinearProgrammingOptimization | LinearProgrammingOptimization]] object.&lt;br /&gt;
&lt;br /&gt;
If '''GLPK''' is enabled, you should see ''-D__GLPK__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/usr/lib --disable-dl --disable-odbc --disable-mysql --enable-static --without-gmp --without-zlib&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cp /usr/lib/libglpk.a MSLHOME/ext_libs/&lt;br /&gt;
  cp /usr/include/glpk.h MSLHOME/ext_includes/&lt;br /&gt;
&lt;br /&gt;
=== R ===&lt;br /&gt;
The [http://www.r-project.org/ R project] is used by the getDihedrals program.&lt;br /&gt;
&lt;br /&gt;
If '''R''' is enabled, you should see ''-D__R__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
==== To Compile R ====&lt;br /&gt;
&lt;br /&gt;
===== MAC OS =====&lt;br /&gt;
Install R and copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
Download Rcpp &lt;br /&gt;
 R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the above install does not work, one can install from source here is a good resource:&lt;br /&gt;
 http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Quick-start&lt;br /&gt;
&lt;br /&gt;
===== LINUX OS =====&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Success using shared libraries and compiling MSL as shared lib, but static lib has not been done yet.  I will link my Makefile for shared-R compile once its cleaned up a bit&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First try using the 'apt' system in linux:&lt;br /&gt;
 sudo apt-get install r-base&lt;br /&gt;
&lt;br /&gt;
If the 'apt' version is not the latest version that you need, then install latest version of R:&lt;br /&gt;
 sudo apt-get build-dep r-base&lt;br /&gt;
 tar xvzf R-2.11.1.tar.gz&lt;br /&gt;
 cd R-2.11.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install Rcpp:&lt;br /&gt;
 sudo /usr/local/bin/R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Install RInside:&lt;br /&gt;
&lt;br /&gt;
R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''[[Tutorial|Back to the tutorial page]]'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=756</id>
		<title>Tutorial:Getting started: Compiling MSL with external libraries</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL_with_external_libraries&amp;diff=756"/>
		<updated>2012-07-04T15:17:09Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: /* To Compile BOOST */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Certain functions of MSL require the installation of some open-source external libraries.&lt;br /&gt;
&lt;br /&gt;
* '''BOOST''' (portable C++ source libraries) [[http://www.boost.org]] &lt;br /&gt;
* '''GSL''' (GNU Scientific Library) [[http://www.gnu.org/software/gsl/]]&lt;br /&gt;
* '''GLPK''' (GNU linear programming kit) [[http://www.gnu.org/software/glpk/]]&lt;br /&gt;
* '''R''' (R statistical and graphics project) [[http://www.r-project.org/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to enable inclusion of the external libraries===&lt;br /&gt;
&lt;br /&gt;
By default MSL will be compiled '''without''' the support of the external libraries and some functionality won't be available.  To include the libraries, you need to set some environmental variables. &lt;br /&gt;
&lt;br /&gt;
If you use '''bash''', add the following lines to your .bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
export MSL_GSL=T&lt;br /&gt;
export MSL_GLPK=T&lt;br /&gt;
export MSL_BOOST=T&lt;br /&gt;
export MSL_R=T&lt;br /&gt;
#export MSL_EXTERNAL_LIB_DIR=/usr/lib&lt;br /&gt;
#export MSL_EXTERNAL_INCLUDE_DIR=/usr/include&lt;br /&gt;
#export MSL_MACOS=T&lt;br /&gt;
#export MSL_DEBUG=F&lt;br /&gt;
#export MSL_DIR=$HOME/software/mslib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use '''tcsh''', add the following lines to your .cshrc&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
#  $MSL_GSL    set to &amp;quot;T&amp;quot; if GSL is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_BOOST  set to &amp;quot;T&amp;quot; if BOOST is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_GLPK   set to &amp;quot;T&amp;quot; if GLPK is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
#  $MSL_R  set to &amp;quot;T&amp;quot; if R is installed or else to &amp;quot;F&amp;quot; (default)&lt;br /&gt;
setenv MSL_GSL T&lt;br /&gt;
setenv MSL_GLPK T&lt;br /&gt;
setenv MSL_BOOST T&lt;br /&gt;
setenv MSL_R T&lt;br /&gt;
#setenv MSL_EXTERNAL_LIB_DIR /usr/lib&lt;br /&gt;
#setenv MSL_EXTERNAL_INCLUDE_DIR /usr/include&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default location of the libraries is '''/usr/lib'''.  If you have installed them in a custom location set the $EXTERNAL_LIB_DIR environmental variable to the correct location.&lt;br /&gt;
&lt;br /&gt;
=== BOOST ===&lt;br /&gt;
The following libraries from the [http://www.boost.org/ Boost C++ Libraries] are used in some MSL objects and programs&lt;br /&gt;
* Serialization, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDescriptor|EnvironmentDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Archive, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:Atom|Atom]]&lt;br /&gt;
** [[MSL_Objects:AtomPointerVector|AtomPointerVector]]&lt;br /&gt;
** [[MSL_Objects:CartesianPoint|CartesianPoint]]&lt;br /&gt;
** [[MSL_Objects:EnvironmentDatabase|EnvironmentDatabase]]&lt;br /&gt;
** [[MSL_Objects:Frame|Frame]]&lt;br /&gt;
** [[MSL_Objects:IcEntry|IcEntry]]&lt;br /&gt;
** [[MSL_Objects:InterfaceResidueDescriptor|InterfaceResidueDescriptor]]&lt;br /&gt;
** [[MSL_Objects:Line|Line]]&lt;br /&gt;
** [[MSL_Objects:Matrix|Matrix]]&lt;br /&gt;
** [[MSL_Objects:MoleculeInterfaceDatabase|MoleculeInterfaceDatabase]]&lt;br /&gt;
** [[MSL_Objects:PrincipleComponentAnalysis|PrincipleComponentAnalysis]]&lt;br /&gt;
** [[MSL_Objects:Selectable|Selectable]]&lt;br /&gt;
** [[MSL_Objects:SphericalPoint|SphericalPoint]]&lt;br /&gt;
&lt;br /&gt;
* Regex, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:MslTools|MslTools]]&lt;br /&gt;
** [[MSL_Objects:RegEx|RegEx]]&lt;br /&gt;
&lt;br /&gt;
* Random, used for ... in the following objects&lt;br /&gt;
** [[MSL_Objects:RandomSeqGenerator|RandomSeqGenerator]]&lt;br /&gt;
&lt;br /&gt;
Note: if boost is included, version 1.40 (???) or later is required.&lt;br /&gt;
&lt;br /&gt;
If '''BOOST''' is enabled, you should see ''-D__BOOST__ -DBOOST_DISABLE_THREADS'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
====To Compile BOOST====&lt;br /&gt;
 &amp;gt;tar xzvf boost-VERSION.tar.gz&lt;br /&gt;
 &amp;gt;cd boost-VERSION&lt;br /&gt;
 &amp;gt;./bootstrap.sh --prefix=~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt;./b2&lt;br /&gt;
 &amp;gt; cp ./stage/lib/libboost_*.a ~/software/mslib/ext_libs&lt;br /&gt;
 &amp;gt; cp -r boost ~/software/mslib/ext_includes/&lt;br /&gt;
&lt;br /&gt;
Assuming MSL library is installed in ~/software/mslib/ext_libs.&lt;br /&gt;
&lt;br /&gt;
=== GSL ===&lt;br /&gt;
The [[http://www.gnu.org/software/gsl/ GNU Scientific library]] is required by the following objects:&lt;br /&gt;
* [[MSL_Objects:RandomNumberGenerator | RandomNumberGenerator]]&lt;br /&gt;
* [[MSL_Objects:GSLMinimizer | GSLMinimizer]]&lt;br /&gt;
* [[MSL_Objects:MonteCarloOptimization| MonteCarloOptimization]]&lt;br /&gt;
* [[MSL_Objects:CCD | CCD]]&lt;br /&gt;
* [[MSL_Objects:BackRub | BackRub]]&lt;br /&gt;
* [[MSL_Objects:Quench | Quench]]&lt;br /&gt;
* [[MSL_Objects:SurfaceAreaAndVolume | SurfaceAreaAndVolume]]&lt;br /&gt;
&lt;br /&gt;
If '''GSL''' is enabled, you should see ''-D__GSL_'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====To compile GSL====&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;tar xzvf gsl-1.14.tar.gz &lt;br /&gt;
 &amp;gt;cd gsl-1.14&lt;br /&gt;
 &amp;gt;./configure --prefix=/path/to/desired/directory&lt;br /&gt;
 &amp;gt;make&lt;br /&gt;
 &amp;gt;make check&lt;br /&gt;
 &amp;gt;make install&lt;br /&gt;
 &amp;gt;cp .libs/libgsl.a ~/software/mslib/ext_libs/&lt;br /&gt;
 &amp;gt;cp cblas/.libs/libgslcblas.a ~/software/mslib/ext_libs/&lt;br /&gt;
&lt;br /&gt;
# Note the -H, this should follow the symlinks, otherwise you get copies of links with relative paths and then you get errors making MSL that say gsl/gsl_rng.h not found, when you see it there!&lt;br /&gt;
 &amp;gt; cp -r -H gsl ~/software/mslib/ext_includes/&lt;br /&gt;
&lt;br /&gt;
=== GLPK ===&lt;br /&gt;
The [http://www.gnu.org/software/glpk/ GNU linear programming kit] is required by the [[MSL_Objects:LinearProgrammingOptimization | LinearProgrammingOptimization]] object.&lt;br /&gt;
&lt;br /&gt;
If '''GLPK''' is enabled, you should see ''-D__GLPK__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/usr/lib --disable-dl --disable-odbc --disable-mysql --enable-static --without-gmp --without-zlib&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cp /usr/lib/libglpk.a MSLHOME/ext_libs/&lt;br /&gt;
  cp /usr/include/glpk.h MSLHOME/ext_includes/&lt;br /&gt;
&lt;br /&gt;
=== R ===&lt;br /&gt;
The [http://www.r-project.org/ R project] is used by the getDihedrals program.&lt;br /&gt;
&lt;br /&gt;
If '''R''' is enabled, you should see ''-D__R__'' in the compilation command when using make.&lt;br /&gt;
&lt;br /&gt;
==== To Compile R ====&lt;br /&gt;
&lt;br /&gt;
===== MAC OS =====&lt;br /&gt;
Install R and copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
Download Rcpp &lt;br /&gt;
 R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the above install does not work, one can install from source here is a good resource:&lt;br /&gt;
 http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Quick-start&lt;br /&gt;
&lt;br /&gt;
===== LINUX OS =====&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Success using shared libraries and compiling MSL as shared lib, but static lib has not been done yet.  I will link my Makefile for shared-R compile once its cleaned up a bit&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First try using the 'apt' system in linux:&lt;br /&gt;
 sudo apt-get install r-base&lt;br /&gt;
&lt;br /&gt;
If the 'apt' version is not the latest version that you need, then install latest version of R:&lt;br /&gt;
 sudo apt-get build-dep r-base&lt;br /&gt;
 tar xvzf R-2.11.1.tar.gz&lt;br /&gt;
 cd R-2.11.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install Rcpp:&lt;br /&gt;
 sudo /usr/local/bin/R CMD INSTALL Rcpp_0.8.5.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/Rcpp/lib/x86_64/libRcpp.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/Rcpp/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Install RInside:&lt;br /&gt;
&lt;br /&gt;
R CMD INSTALL RInside_0.2.3.tar.gz&lt;br /&gt;
 cp /Library/Frameworks/R.framework/Resources/library/RInside/lib/x86_64/libRInside.a $MSL_EXTERNAL_LIB_DIR/&lt;br /&gt;
 cp -r /Library/Frameworks/R.framework/Resources/library/RInside/include $MSL_EXTERNAL_INCLUDE_DIR/&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Copy headers into MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
  cp -r /Library/Frameworks/R.framework/Resources/include/ $MSL_EXTERNAL_INCLUDE_DIR&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''[[Tutorial|Back to the tutorial page]]'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL&amp;diff=755</id>
		<title>Tutorial:Getting started: Compiling MSL</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL&amp;diff=755"/>
		<updated>2012-07-04T14:56:27Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MSL compiles using '''gcc''' (the GNU compiler) under Linux or Mac OS X.&lt;br /&gt;
&lt;br /&gt;
After downloading (and uncompressing if needed), you will find the following directory structure:&lt;br /&gt;
&lt;br /&gt;
* the '''Makefile'''&lt;br /&gt;
* the '''src/''' subdirectory contains the source of all objects&lt;br /&gt;
* the '''programs/''' subdirectory contains the source of some distributed programs&lt;br /&gt;
* the '''tests/''' subdirectory contains some test programs (at this stage the test are messy and won't necessarily work, either because broken by an API change or because the reference a file that is not distributed)&lt;br /&gt;
* the '''examples/''' subdirectory contains example programs that are described in this tutorial.&lt;br /&gt;
* the '''exampleFiles/''' subdirectory contains some files required by the example programs.&lt;br /&gt;
* the '''bin/''' subdirectory is where all compiled programs are created&lt;br /&gt;
* the '''objs/''' subdirectory is where all compiled objects are created&lt;br /&gt;
* the '''myProgs/''' subdirectory is the place where to save your own programs&lt;br /&gt;
&lt;br /&gt;
To compile MSL go into the trunk subdirectory (the one that contains the Makefile) and type&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
make objects&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will compile all objects and place them in the objs/ subdirectory.&lt;br /&gt;
&lt;br /&gt;
To compile a specific program – for example the '''example_AtomContainer_usage.cpp''' in the examples subdirectory – use the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
make bin/example_AtomPointerVector&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The program '''example_AtomPointerVector''' will be created in the bin/ subdirectory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''[[Tutorial|Back to the tutorial page]]'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL&amp;diff=754</id>
		<title>Tutorial:Getting started: Compiling MSL</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL&amp;diff=754"/>
		<updated>2012-07-04T14:56:05Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MSL compiles using '''gcc''' (the GNU compiler) under Linux or Mac OS X.&lt;br /&gt;
&lt;br /&gt;
After downloading (and uncompressing if needed), you will find the following directory structure:&lt;br /&gt;
&lt;br /&gt;
* the '''Makefile'''&lt;br /&gt;
* the '''src/''' subdirectory contains the source of all objects&lt;br /&gt;
* the '''programs/''' subdirectory contains the source of some distributed programs&lt;br /&gt;
* the '''tests/''' subdirectory contains some test programs (at this stage the test are messy and won't necessarily work, either because broken by an API change or because the reference a file that is not distributed)&lt;br /&gt;
* the '''examples/''' subdirectory contains example programs that are described in this tutorial.&lt;br /&gt;
* the '''exampleFiles/''' subdirectory contains some files required by the example programs.&lt;br /&gt;
* the '''bin/''' subdirectory is where all compiled programs are created&lt;br /&gt;
* the '''objs/''' subdirectory is where all compiled objects are created&lt;br /&gt;
* the '''myProgs/''' subdirectory is the place where to save your own programs&lt;br /&gt;
&lt;br /&gt;
To compile MSL go into the trunk subdirectory (the one that contains the Makefile) and type&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
make objects&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will compile all objects and place them in the objs/ subdirectory.&lt;br /&gt;
&lt;br /&gt;
To compile a specific program – for example the '''example_AtomContainer_usage.cpp''' in the examples subdirectory – use the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
make bin/example_AtomContainer_usage&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The program '''example_AtomPointerVector''' will be created in the bin/ subdirectory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''[[Tutorial|Back to the tutorial page]]'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
	<entry>
		<id>http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL&amp;diff=753</id>
		<title>Tutorial:Getting started: Compiling MSL</title>
		<link rel="alternate" type="text/html" href="http://msl-libraries.org/index.php?title=Tutorial:Getting_started:_Compiling_MSL&amp;diff=753"/>
		<updated>2012-07-04T14:55:21Z</updated>

		<summary type="html">&lt;p&gt;Jedonald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MSL compiles using '''gcc''' (the GNU compiler) under Linux or Mac OS X.&lt;br /&gt;
&lt;br /&gt;
After downloading (and uncompressing if needed), you will find the following directory structure:&lt;br /&gt;
&lt;br /&gt;
* the '''Makefile'''&lt;br /&gt;
* the '''src/''' subdirectory contains the source of all objects&lt;br /&gt;
* the '''programs/''' subdirectory contains the source of some distributed programs&lt;br /&gt;
* the '''tests/''' subdirectory contains some test programs (at this stage the test are messy and won't necessarily work, either because broken by an API change or because the reference a file that is not distributed)&lt;br /&gt;
* the '''examples/''' subdirectory contains example programs that are described in this tutorial.&lt;br /&gt;
* the '''exampleFiles/''' subdirectory contains some files required by the example programs.&lt;br /&gt;
* the '''bin/''' subdirectory is where all compiled programs are created&lt;br /&gt;
* the '''objs/''' subdirectory is where all compiled objects are created&lt;br /&gt;
* the '''myProgs/''' subdirectory is the place where to save your own programs&lt;br /&gt;
&lt;br /&gt;
To compile MSL go into the trunk subdirectory (the one that contains the Makefile) and type&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
make objects&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will compile all objects and place them in the objs/ subdirectory.&lt;br /&gt;
&lt;br /&gt;
To compile a specific program – for example the '''example_AtomContainer_usage.cpp''' in the examples subdirectory – use the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
make example_AtomContainer_usage&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The program '''example_AtomPointerVector''' will be created in the bin/ subdirectory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''[[Tutorial|Back to the tutorial page]]'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Jedonald</name></author>
		
	</entry>
</feed>