001/* 002 * BioJava development code 003 * 004 * This code may be freely distributed and modified under the 005 * terms of the GNU Lesser General Public Licence. This should 006 * be distributed with the code. If you do not have a copy, 007 * see: 008 * 009 * http://www.gnu.org/copyleft/lesser.html 010 * 011 * Copyright for this code is held jointly by the individual 012 * authors. These should be listed in @author doc comments. 013 * 014 * For more information on the BioJava project and its aims, 015 * or to join the biojava-l mailing list, visit the home page 016 * at: 017 * 018 * http://www.biojava.org/ 019 * 020 * Created on Jun 7, 2010 021 * Author: ap3 022 * 023 */ 024 025package org.biojava.nbio.structure.align.seq; 026 027import org.biojava.nbio.structure.align.ce.ConfigStrucAligParams; 028 029import java.util.ArrayList; 030import java.util.List; 031 032public class SmithWaterman3DParameters implements ConfigStrucAligParams { 033 034 private short gapOpen; // gap opening penalty for sequence alignment 035 private short gapExtend; // gap extension penalty for sequence alignment 036 private double maxRmsd; // maximum RMSD of superposition allowed 037 private int minLen; // minimum alignment length allowed 038 039 public SmithWaterman3DParameters() { 040 reset(); 041 } 042 043 @Override 044 public List<String> getUserConfigHelp() { 045 List<String> params = new ArrayList<String>(); 046 params.add("The Gap open penalty"); 047 params.add("The Gap extension penalty"); 048 params.add("The maximum RMSD of superposition allowed"); 049 params.add("The minimum alignment length allowed"); 050 051 // TODO Auto-generated method stub 052 return params; 053 } 054 055 @Override 056 public List<String> getUserConfigParameterNames() { 057 List<String> params = new ArrayList<String>(); 058 params.add("Gap Open"); 059 params.add("Gap Extension"); 060 params.add("Maximum RMSD"); 061 params.add("Minimum Alignment Length"); 062 063 return params; 064 } 065 066 @Override 067 public List<String> getUserConfigParameters() { 068 List<String> params = new ArrayList<String>(); 069 params.add("GapOpen"); 070 params.add("GapExtend"); 071 params.add("MaxRmsd"); 072 params.add("MinLen"); 073 074 return params; 075 } 076 077 @Override 078 @SuppressWarnings("rawtypes") 079 public List<Class> getUserConfigTypes() { 080 List<Class> params = new ArrayList<Class>(); 081 params.add(Short.class); 082 params.add(Short.class); 083 params.add(Double.class); 084 params.add(Integer.class); 085 086 return params; 087 } 088 089 @Override 090 public void reset() { 091 gapOpen = (short) 8; 092 gapExtend = (short) 1; 093 maxRmsd = 99; 094 minLen = 30; 095 096 } 097 098 public Short getGapExtend() { 099 return gapExtend; 100 } 101 102 public void setGapExtend(Short gapExtend) { 103 this.gapExtend = gapExtend; 104 } 105 106 public Short getGapOpen() { 107 return gapOpen; 108 } 109 110 public void setGapOpen(Short gapOpen) { 111 this.gapOpen = gapOpen; 112 } 113 114 public Double getMaxRmsd() { 115 return maxRmsd; 116 } 117 118 public void setMaxRmsd(Double maxRmsd) { 119 this.maxRmsd = maxRmsd; 120 } 121 122 public Integer getMinLen() { 123 return minLen; 124 } 125 126 public void setMinLen(Integer minLen) { 127 this.minLen = minLen; 128 } 129 130}