INSTALLATION AND IMPLEMENTATION OF DEMO-EM SUITE
   (Copyright 2021 by Zhang Lab, University of Michigan, All rights reserved)
                    (Version 1.0, 2021/07/26)

1. What is DEMO-EM Suite?
   
   The DEMO-EM Suite is a composite package of programs for protein
   structure modeling from cryo-EM denisty maps. The Suite
   includes the following programs:

   a) DEMO-EM: A hierarchical program for protein structure aseembly using experimental or predicted domain models
   b) FUpred: A deep-learning based program for domain boundary prediction
   c) ThreaDom: A threading template based program for domain boundary prediction
   d) DomainDist: A deep residual neural-network algorithm for inter-domain distance prediction
   e) I-TASSER: A deep-learning based program for single-domain protein structure modeling
   f) DeepMSA: A program for multiple sequence alignmnet generation
   g) SPICKER: A clustering program for structure decoy selection
   h) FASPR: A program for protein side-chain packing
   i) LOMETS2: A meta-approach included in I-TASSER for threading templates identification 
   j) ModRefiner: Construct and refine atomic model from C-alpha traces
   k) NWalign: Protein sequence alignments by Needleman-Wunsch algorithm
   l) PSSpred: A program for Protein Secondary Structure PREDiction

   
2. How to install the DEMO-EM Suite?

   a) download the DEMO-EM Suite 'DEMO-EM-1.0.tar.gz' from
      https://zhanggroup.org/DEMO-EM/standalone_package/
      and unpack 'DEMO-EM-1.0.tar.gz by
      > tar -zxvf DEMO-EM-1.0.tar.gz
      The root path of this package is called $pkgdir, e.g. 
      /home/yourname/DEMO-EM-1.0. You should have all the programs under this 
      directory. You can install the package at any location on your computer.
   
   b) Download DEMO-EM library files from
      https://zhanggroup.org/DEMO-EM/standalone_package/
      A script 'download_lib.pl' is provided in the package for automated
      library download and update of the libraries.
	  The library needs about 150GB of the disk space.
      We recommend putting the library files under the path /home/yourname/ITLIB.

   c) Third-party software installation:

      While the majority of programs in the package 'DEMO-EM-1.0.tar.gz' are
      developed in the Zhang Lab herein the permission of use is released,
      there are some programs and databases (including blast, nr, uniclust30,
	  uniref90 and metaclust) which were developed by third-party groups. 
      A default version of blast and nr are included in the package. It is user's obligation to obtain
      license permission from the developers for all the third-party software 
      before using them. In addition, your system needs to have Java, python2, 
      python3 (which supports pytorch >1.1.0) installed.

      To use DeepMSA, you need download uniclust30, uniref90 and metaclust from 
      http://gwdu111.gwdg.de/~compbiol/uniclust/2017_04/uniclust30_2017_04_hhsuite.tar.gz ,      
      ftp://ftp.uniprot.org/pub/databases/uniprot/uniref/uniref90/uniref90.fasta.gz ,
      and https://metaclust.mmseqs.org/2017_05/metaclust_2017_05.fasta.gz. after you unpack them,
      put the entire folder to the DEMO-EM library folder, (i.e. where the folder you put your PDB, MTX, DEP folders).
      Then rename the folder uniclust30_xxx_xxx to uniclust30, uniref90_xxx to uniref90, metaclust_xxx to metaclust.
      Then use $pkgdir/contact/DeepMSA/bin/esl-sfetch to create .ssi index for uniref90 and metaclust, here 
      $pkgdir means the path where you put the DEMO-EM suite package.
      For example, if the uniref90 database in uniref90 folder is named as uniref90.fasta,
      then go to uniref90 folder, run $pkgdir/contact/DeepMSA/bin/esl-sfetch --index uniref90.fasta, you will find
      a new file named as uniref90.fasta.ssi after the command done. Then do the same thing to metaclust database.
      If you use different version of uniclust30, uniref90 or metaclust, please go to $pkgdir/run_DEMO-EM.py,
      change the variables:
	  
      $hhbdbdir = "$libdir/uniclust30";
      $jacdbdir = "$libdir/uniref90";
      $hmsdbdir = "$libdir/metaclust";

      $hhbdb    = "$libdir/uniclust30/uniclust30_2017_04";
      $jacdb    = "$libdir/uniref90/uniref90.fasta";
      $hmsdb    = "$libdir/metaclust/metaclust.fasta";

     
3. Bug report:

   Please report and post bugs and suggestions at the message board: 
   http://zhanglab.dcmb.med.umich.edu/forum


   #######################################################
   #                                                     #
   #  4. Installation and implementation of DEMO-EM      #
   #                                                     #
   #######################################################
   
4.1. Introduction of DEMO-EM
   
	DEMO-EM is a hierarchical method to assemble multi-domain protein structures from cryo-EM density maps. 
	It starts with query sequence and cryo-EM density maps, with individual domain structure constructed 
	with FUpred, ThreaDom and I-TASSER. Next, the multi-domain complex structure is constructed by a progressive 
	rigid-body domain assembly and atomic-level flexible structural refinement process under the guidance 
	of cryo-EM density maps and deep-learning distance profiles. Large-scale benchmark tests have shown 
	significant advantage of DEMO-EM over traditional homologous template based approaches for high-accuracy
	multi-domain protein structure modeling, especially for the case with medium-to-low resolution denisty
	maps and without homologous full-length structures.

4.2. How to run DEMO-EM?
   
   a) Main script for running DEMO-EM is $pkgdir/run_DEMO-EM.py, where "$pkgdir" is the
	  location of run_DEMO-EM.py script.
      Run it directly without arguments will output the help information.

   b) The following arguments must be set (mandatory arguments). One example is: 

      "$pkgdir/run_DEMO-EM.py protein_name input_dir sequence density_map_path resolution [Options]"
	
	  protein_name  	is the name of the folder containg the protein sequence and cryo-EM density map
	  input_dir     	is the directory which contains the query folder
	  sequence			is the directory of your query sequence
	  density_map_path	is the directory of your cryo-EM density map
	  resolution		is the resolution of the cryo-EM density map

   c) Other arguments are optional whose default values have been set.
      User can reset one or more of them. One example of command line is: 

      "$pkgdir/run_DEMO-EM.py protein_name input_dir sequence density_map_path resolution -libdir libdir"
	  
	  -template   [no, yes], flag of using analogous templates to guide the assembly.
				  The default value is  "no".
      -deepdist   [no, yes], flag of predicted distance by DomainDist to guide the assembly. 
				  The default value is "yes". 
      -fullmodel  [no, yes], flag of using initial full-length model generated by LOMETS
				  to guide the assembly. The default value is "no". Modeller is required if
				  it is set to "yes".
      -expdom     Provide the experimental domain information including domain definition 
				  and PDB of domain models if some experimental domain models are available.
				  See the websever or the following explanation of the format.
      -quick      [no, yes], flag of LOMETS-based quick domain modeling. The default value is "no". 
				  Modeller is required if it is set to"yes".
	  -light      [no, yes], (default: no) this option runs quick modeling of I-TASSER
	  -libdir  	  means the path of the template libraries for I-TASSER.
				  The default directory is "$pkgdir/ITLIB". You must use this option
				  to change the path if you did not put it in the default directory.
      -java_home  means the path contains the java executable "bin/java"
                  (your system needs to have Java installed)
      -runstyle   default value is "serial" which means running I-TASSER
                  simulation sequentially.
                  "parallel" means running parallel simulation jobs in the
                  cluster using PBS/torque job scheduling system.
                  "gnuparallel" means running parallel simulation jobs on
                  one computer with multiple cores using GNU parallel
      -run        [real, benchmark], "real" will use all templates, "benchmark"
                  will exclude homologous templates with sequence identify >0.3    
      -python2    path to python 2, for example /usr/bin/python 
      -python3    path to python 3 for distance prediction, need to support pytorch 1.1.0, 
				  for example /usr/bin/python3
				  
   d) Where are the final predicted results?
   	  The following results are included in "/input_dir/protein_name":

      "fmodel*.pdb"  the final model created by DEMO-EM
	  "dom*.pdb"     the domain model predicted by I-TASSER
	  "score.txt"    inclides the correlation coefficient (CC) score, the itegrated integrated 
					 Fourier Shell Correlation (iFSC), and the estimated TM-score
	  "CC_score.txt" the CC score of each residue in the final model
	  "FUpred.info"  the predicted domain boundary
	  "seq.ss"       the secondary structure predicted by PSSpred

   NOTE:
   a) Outline of steps for running DEMO-EM by 'run_DEMO-EM.py':
      a1) Prase user provided information
      a2) run 'LOMETS2' to determine the protein type and generate a initial full-length
		  model according to the threading templates		  
      a3) run 'ThreaDom' or 'FUpred' to predict the domain boundary
      a4) run 'I-TASSER' to predict the model of each domain. If the protein is
		  predicted as a single-domain protein, the full-length model will be directly
		  generated by I-TASSER.
      a5) run 'assembly' to assemble all domain models into a full-length model and 
		  perform the flexible refinement. If the protein is predicted as a single-domain
		  protein, only the flexible refinement will be performed.
   b) 'seq.fasta' is the query sequence file in FASTA format, which is the
      only needed input file except for the cryo-EM density map. This file should be
      put in "./input_dir/protein_name" before running this job.
   c) If working on a cluster with multiple nodes, it is recommended to set 
      $runstyle="parallel". You need have PBS server installed in your system. 
      Parallel jobs will run faster since jobs are distributed among different 
      nodes. The default setting $runstyle="serial" will run all the jobs on a 
      single computer.
   d) If the job has been executed partially and encounter some error, you can 
      rerun the main script without modification. It will check the existing 
      files and start from the correct position.
   e) If you set "-fullmodel" or "-quick" to "yes", you need to download the Modeller
	  from https://salilab.org/modeller/ and install it in "$pkgdir/modeller".
	  Instead of using this option, you can set "-light" to "yes" to use the fast
	  I-TASSER for domain modeling.
   f) If you want to provide the experimental models for some domains, please prepare the
	  file in the following format:
	  The file starts with the domain definition of the query sequence in the first line.
	  The experimental domain information starts from the second line with the residue index
	  range of the domain wirten in the first line. See the detailed explanation and example
	  at https://zhanggroup.org/DEMO-EM/explanation_expdom.html	  

4.3 System requirement:

   a) x86_64 machine, Linux kernel OS, Free disk space of more than 150G.
   b) Perl, python, and java interpreters should be installed. 
   c) Basic compress and decompress package should be installed to support: 
      tar and bunzip2.
   d) If you are using computer clusters, job management software PBS server should 
      support 'qsub' and 'qstat'. If using other job management software, such as 
      SGE and Slurm, some changes should be made following the instructions at:
      http://zhanglab.dcmb.med.umich.edu/bbs/?q=node/3561

4.4. How to cite DEMO-EM and DEMO-EM Suite?

      Xiaogen Zhou, Yang Li, Chengxin Zhang, Wei Zheng, Guijun Zhang, and Yang Zhang. Progressive and accurate 
      assembly of multi-domain protein structures from cryo-EM density maps. Submitted, 2021.


   #######################################################
   #                                                     #
   #  5. Installation and implementation of FUpred       #
   #                                                     #
   #######################################################
   
5.1. Introduction of FUpred
   
   FUpred is a contact map-based domain prediction method which utilizes a recursion strategy
   to detect domain boundary based on predicted contact-map and secondary structure information.
   Large scale benchmark analysis shows that FUpred has significantly better ability of domain 
   boundary prediction than threading-based method and machine learning-based methods. 
   Particularly, our method has obviously excellent performance in detecting discontinuous
   domain boundary than current methods.

5.2. How to install FUpred program?

   When you unpack the DEMO-EM Suite, the FUpred program is already installed in 
   $pkgdir/FUpredmod. 

5.3. How to run FUpred program?

   Usage: $pkgdir/FUpredmod/run_FUpred.pl protein_name input_dir
	
   To run FUpred, you need to prepare following input files:
	   'protein_name'--Mandatory, the name of the folder containg the sequence and density map
	   'input_dir'-----Mandatory, the directory which contains the query folder

   Output files of FUpred include:
       'FUpred.info'---The predicted domain boundary
	   'FUpred.2c'-----The FUscore for continuous domain detection
	   'FUpred.2d'-----The FUscore for discontinuous domain detection

   A detailed readme file can be found at
   https://zhanglab.dcmb.med.umich.edu/FUpred/download/FUpred/readme.txt   
   
5.4. How to cite FUpred?

   If you are using the FUpred program, you can cite:

   Wei Zheng, Xiaogen Zhou, Qiqige Wuyun, Robin Pearce, Yang Li and Yang Zhang. 
   FUpred: Detecting protein domains through deep-learning based contact map 
   prediction. Bioinformatics, 36: 3749–3757, 2020.
   
   
   #######################################################
   #                                                     #
   #  6. Installation and implementation of ThreaDom     #
   #                                                     #
   #######################################################
   
6.1. Introduction of ThreaDom
   
   ThreaDom (Threading-based Protein Domain Prediction) is a template-based algorithm for 
   protein domain boundary prediction. Given a protein sequence, ThreaDom first threads the
   target through the PDB library to identify protein template that have similar structure 
   fold. A domain conservation score (DCS) will be calculated for each residue which combines
   information from template domain structure, terminal and internal gaps and insertions. 
   Finally, the domain boundary information is derived from the DCS profile distributions. 
   ThreaDom is designed to predict both continuous and discontinuous domains.

6.2. How to install ThreaDom program?

   When you unpack the DEMO-EM Suite, the ThreaDom program is already installed in 
   $pkgdir/ThreaDommod. 

6.3. How to run ThreaDom program?
   
    Usage: $pkgdir/ThreaDommod/runThreaDom.pl protein_name input_dir -libdir libdir
	
	To run ThreaDom, you need to prepare following input files:	   
	   'protein_name'--Mandatory, the name of the folder containg the sequence and density map
	   'input_dir'-----Mandatory, the directory which contains the query folder
	   'libdir'--------Mandatory, the path of the template libraries

   Output file of ThreaDom include:
       'protein_name.sd'---The predicted domain boundary

   A detailed readme can be found in th package.
   
6.4. How to cite ThreaDom?

   If you are using the ThreaDom program, you can cite:

   Yan wang, Jian Wang, Qiang Shi, Ruiming Li,Zhidong Xue, Yang Zhang. ThreaDomEx: a unified
   platform for predicting continuous and discontinuous protein domains by multiple-threading 
   and segment assembly. Nucleic acids research. 45: W400-407, 2017.
   
   
   #######################################################
   #                                                     #
   #  7. Installation and implementation of I-TASSER     #
   #                                                     #
   #######################################################
   
7.1. Introduction of I-TASSER
   
   I-TASSER (Iterative Threading ASSEmbly Refinement) is a method for high-accuracy protein 
   structure and function prediction. Starting from a query sequence, I-TASSER first generates
   inter-residue restraints by multiple deep neural-network predictors. It then identifies 
   structural templates from the PDB by multiple threading approach LOMETS2, with full-length
   atomic models assembled by contact-map guided replica-exchange Monte Carlo simulations.

7.2. How to install I-TASSER program?

   When you unpack the DEMO-EM Suite, the I-TASSER program is already installed in 
   $pkgdir/I-TASSERmod. 

7.3. How to run I-TASSER program?

   The I-TASSER main script is $pkgdir/I-TASSERmod/runI-TASSER.pl. The running 
   option of this program is similar to run_DEMO-EM.py. By running
   the program without argument, you can print all the running options.
   A detailed readme can be found in th package.
   
7.4. How to cite I-TASSER?

   If you are using the I-TASSER program, you can cite:

   1. Wei Zheng, Chengxin Zhang, Yang Li, Robin Pearce, Eric W. Bell, Yang Zhang.
      Folding non-homology proteins by coupling deep-learning contact maps with 
	  I-TASSER assembly simulations. Cell Reports Methods, 1: 100014 (2021).
   2. Y Zhang. I-TASSER server for protein 3D structure prediction. 
      BMC Bioinformatics, 9: 40 (2008).
   3. A Roy, A Kucukural, Y Zhang. I-TASSER: a unified platform 
      for automated protein structure and function prediction. 
      Nature Protocols, 5: 725-738 (2010).
   4. J Yang, R Yan, A Roy, D Xu, J Poisson, Y Zhang. The I-TASSER Suite: Protein structure 
      and function prediction. Nature Methods, 12: 7-8 (2015)
	
	
   #######################################################
   #                                                     #
   #  8. Installation and implementation of DeepMSA      #
   #                                                     #
   #######################################################
   
8.1. Introduction of DeepMSA
   
   DeepMSA is a new open-source method for sensitive MSA construction, 
   which has homolo- gous sequences and alignments created from multi-sources 
   of whole-genome and metagenome databases through complementary hidden 
   Markov model algorithms. 

8.2. How to install DeepMSA program?

   When you unpack the DEMO-EM Suite, DeepMSA program is already installed.

8.3. How to run DeepMSA program?

   The DeepMSA main script is $pkgdir/contact/DeepMSA/scripts/build_MSA.py. The running 
   option of this program is similar to that in runI-TASSER.pl. By running
   the program without argument, you can print all the running options.

8.4. How to cite DeepMSA?

   If you are using the DeepMSA program, you can cite:

   C Zhang, W Zheng, S M Mortuza, Y Li, Y Zhang. DeepMSA: constructing 
   deep multiple sequence alignment to improve contact prediction and 
   fold-recognition for distant-homology proteins. Bioinformatics 36: 
   2105-2112 (2020).


   #######################################################
   #                                                     #
   #  9. Installation and implementation of LOMETS2      #
   #                                                     #
   #######################################################
   
9.1. Introduction of LOMETS2
   
   LOMETS2 (Local Meta-Threading-Server) is meta-server approach to protein
   fold-recognition. It consists of 11 individual threading programs: CEthreader, 
   mCEthreader, eCEthreader, MUSTER, PPA, dPPA, dPPA2, sPPA, wPPA, wdPPA, wMUSTER.
   The mCEthreader and eCEthreader are variances of CEthreader which includes 
   different scoring functions. The last 7 programs are variances of MUSTER 
   which includes different optimized energy terms.

9.2. How to install LOMETS2 program?

   When you unpack the DEMO-EM Suite, LOMETS2 programs are already installed.

9.3. How to run LOMETS2 program?

   The LOMETS2 main script is $pkgdir/I-TASSERmod/runLOMETS.pl. The running 
   option of this program is similar to that in 'runI-TASSER.pl'. By running
   the program without argument, you can print all the running options.

9.4. How to cite LOMETS2?

   If you are using the LOMETS2 program, you can cite:

   Wei Zheng, Chengxin Zhang, Qiqige Wuyun, Robin Pearce, Yang Li, Yang Zhang. 
   LOMETS2: improved meta-threading server for fold-recognition and 
   structure-based function annotation for distant-homology proteins. 
   Nucleic Acids Research, 47: W429-W436 (2019)

   S Wu, Y Zhang. LOMETS: A local meta-threading-server for protein 
   structure prediction. Nucleic Acids Research, 35: 3375-3382 (2007). 
   
   
   #######################################################
   #                                                     #
   #  10. Installation and implementation of SPICKER     #
   #                                                     #
   #######################################################
   
10.1. Introduction of SPICKER
   
   SPICKER is a clustering algorithm to identify the near-native models 
   from a pool of protein structure decoys.

10.2. How to install SPICKER program?

   When you unpack the DEMO-EM Suite, SPICKER program is already installed
   at $pkgdir/I-TASSERmod/spicker45d

10.3. How to run SPICKER program?

   To run SPICKER, you need to prepare following input files:
       'rmsinp'---Mandatory, length of protein & piece for RMSD calculation;
       'seq.dat'--Mandatory, sequence file, for output of PDB models.
       'tra.in'---Mandatory, list of trajectory names used for clustering.
                  In the first line of 'tra.in', there are 3 parameters:
                  par1: number of decoy files
                  par2: 1, default cutoff, best for decoys from template-based 
                           modeling; 
                       -1, cutoff based on variation, best for decoys from 
                           ab initio modeling.
                  par3: 1, closc from all decoys; -1, closc clustered decoys
                  From second lines are file names which contain coordinates
                  of 3D structure decoys. All these files are mandatory. See 
                  attached 'rep1.tra1' for the format of decoys.
       'CA'-------Optional, native structure, for comparison to native.

     Output files of SPICKER include:
       'str.txt'-----list of structure in cluster;
       'combo*.pdb'--PDB format of cluster centroids;
       'closc*.pdb'--PDB format of structures closest to centroids;
       'rst.dat'-----summary of clustering results;

    A detailed readme file can be found at
    http://zhanglab.dcmb.med.umich.edu/SPICKER/readme

10.4. How to cite SPICKER?

   If you are using the SPICKER program, you can cite:

   Y Zhang, J Skolnick, SPICKER: Approach to clustering protein structures 
   for near-native model selection, Journal of Computational Chemistry, 
   25: 865-871 (2004).
   
   
   #######################################################
   #                                                     #
   #  11. Installation and implementation of FASPR       #
   #                                                     #
   #######################################################
   
11.1. Introduction of FASPR
   
   FASPR is a method for structural modeling of protein side-chain conformations. 
   Starting from a backbone structure, FASPR samples the side-chain rotamers for 
   each amino acid from the Dunbrack 2010 rotamer library with the atomic interaction 
   energies calculated using an optimized scoring function extended from EvoEF2, where 
   side-chain packing search is performed using a deterministic searching algorithm 
   combining self-energy checking, dead-end elimination theorems, and tree decomposition.

11.2. How to install FASPR program?

   When you unpack the DEMO-EM Suite, FASPR program is already installed
   at $pkgdir/Assbmod/bin/FASPR

11.3. How to run FASPR program?
	
   Usage: FASPR input.pdb output.pdb

   To run FASPR, you need to prepare following input files:
       'input.pdb' 	 Mandatory, input pdb file for side-chain packing.
	   '-s'			 Optional, the sequence of the input.pdb

   Output files of FASPR include:
       'output.pdb'	 output pdb file of the FASPR with side-chain packaged.

   A detailed readme file can be found in the FASPR package

11.4. How to cite FASPR?

   If you are using the FASPR program, you can cite:

   Xiaoqiang Huang, Robin Pearce, Yang Zhang. FASPR: an open-source tool for fast and accurate
   protein side-chain packing. Bioinformatics (2020) 36: 3758-3765.


   #######################################################
   #                                                     #
   #  12. Installation and implementation of ModRefiner  #
   #                                                     #
   #######################################################
   
12.1. Introduction of ModRefiner
   
   ModRefiner is a standalone program for atomic-level protein structure 
   construction and refinement. It includes two steps: (1) construct
   main-chain models from C-alpha trace; (2) build side-chain models
   and atomic-level structure refinement.

12.2. How to install ModRefiner program?

   When you unpack the DEMO-EM Suite, ModRefiner program is already installed
   at $pkgdir/I-TASSERmod/ModRefiner.pl

12.3. How to use ModRefiner program?

   ModRefiner supports following four options:
   
   a) add side-chain heavy atoms to main-chain model without refinement
      > ModRefiner.pl 1 ID MD IM ON

   b) build main-chain model from C-alpha trace model
      > ModRefiner.pl 2 ID MD IM RM ON

   c) build full-atomic model from main-chain model
      > ModRefiner.pl 3 ID MD IM RM ON

   d) build full-atomic model from C-alpha trace model
      > ModRefiner.pl 4 ID MD IM RM ON

   ID: the path of the DEMO-EM package, e.g. '/home/yourname/DEMO-EM-1.0'
   MD: directory which contains the initial model, e.g. '/home/yourname/DEMO-EM/5.0/example'
   IM: the initial model to be refined, e.g. 'mode1.pdb'
   RM: reference model that refined model is driven to, e.g. 'combo1.pdb'.
       Only CA trace is needed and the length can be not full which will make 
       the refinement of the missing region flexible. If you don't have the
       reference model, use the name of IM instead.
   ON: the output name of the refined model, e.g. 'model1_ref.pdb'

   By running the program without argument, you can print a brief description
   of how to use the program.
   
12.4. How to cite ModRefiner?

   If you are using the ModRefiner program, you can cite:

   D Xu, Y Zhang. Improving the Physical Realism and Structural Accuracy of 
   Protein Models by a Two-step Atomic-level Energy Minimization. 
   Biophysical Journal, 101: 2525-2534 (2011)


   #######################################################
   #                                                     #
   #  13. Installation and implementation of NWalign     #
   #                                                     #
   #######################################################
   
13.1. Introduction of NWalign
   
   NW-align is simple and robust alignment program for protein 
   sequence-to-sequence alignments based on the standard Needleman-Wunsch 
   dynamic programming algorithm. The mutation matrix is from BLOSUM62 
   with gap opening penalty=-11 and gap extension penalty=-1. 

13.2. How to install NWalign program?

   When you unpack the DEMO-EM Suite, NWalign program is already installed
   at $pkgdir/bin/align.

13.3. How to use NWalign program?
   
   > align F1.fasta F2.fasta (align two sequences in fasta file)
   > align F1.pdb F2.pdb 1   (align two sequences in PDB file)
   > align F1.fasta F2.pdb 2 (align Sequence 1 in fasta and 2 in pdb)
   > align GKDGL EVADELVSE 3 (align sequences typed by keyboard)
   > align GKDGL F.fasta 4   (align Seq-1 by keyboard and 2 in fasta)
   > align GKDGL F.pdb 5     (align Seq-1 by keyboard and 2 in pdb)

   By running the program itself, it will print out the usage options of
   the program.

13.4. How to cite NWalign?

   There is no published paper associated with this program. If you are using
   the NWalign program, you can cite it as 

   Y Zhang, http://zhanglab.dcmb.med.umich.edu/NW-align


   #######################################################
   #                                                     #
   #  14. Installation and implementation of PSSpred     #
   #                                                     #
   #######################################################
   
14.1 Introduction of PSSpred

   PSSpred (Protein Secondary Structure PREDiction) is a simple neural network 
   training algorithm for accurate protein secondary structure prediction. It first 
   collects multiple sequence alignments using PSI-BLAST. Amino-acid frequency and 
   log-odds data with Henikoff weights are then used to train secondary structure, 
   separately, based on the Rumelhart error back propagation method. The final 
   secondary structure prediction result is a combination of 7 neural network 
   predictors from different profile data and parameters.

14.2 How to install PSSpred program?

   When you unpack the DEMO-EM Suite, NWalign program is already installed
   at $pkgdir/PSSpred
   
14.3 How to use PSSpred program?   

   $pkgdir/PSSpred/mPSSpred.pl seq.txt $pkgdir $libdir

   Please note that 'seq.txt' should be in current directory and the script will
   generate two files 'seq.dat' and 'seq.dat.ss' in the current folder. Here, 
   $pkgdir is the root path of DEMO-EM package.
 
14.4 How to cite PSSpred?

   If you are using the PSSpred program, you can cite:
   http://zhanglab.dcmb.med.umich.edu/PSSpred