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 */ 021package org.biojava.nbio.structure.align.seq; 022 023 024import org.biojava.nbio.structure.align.StructureAlignment; 025import org.biojava.nbio.structure.align.ce.AbstractUserArgumentProcessor; 026import org.biojava.nbio.structure.align.ce.StartupParameters; 027 028 029 030public class SmithWatermanUserArgumentProcessor extends AbstractUserArgumentProcessor{ 031 032 033 protected static class SmithWatermanStartupParams extends StartupParameters { 034 private short gapOpen; 035 private short gapExtend; 036 037 public SmithWatermanStartupParams() { 038 super(); 039 } 040 041 public short getGapOpen() { 042 return gapOpen; 043 } 044 045 public void setGapOpen(short gapOpen) { 046 this.gapOpen = gapOpen; 047 } 048 049 public short getGapExtend() { 050 return gapExtend; 051 } 052 053 public void setGapExtend(short gapExtend) { 054 this.gapExtend = gapExtend; 055 } 056 057 @Override 058 public String toString() { 059 StringBuilder builder = new StringBuilder(); 060 builder.append("SmithWatermanStartupParams [gapOpen=") 061 .append(gapOpen).append(", gapExtend=").append(gapExtend) 062 .append("]"); 063 return builder.toString(); 064 } 065 } 066 067 068 @Override 069 public StructureAlignment getAlgorithm() { 070 return new SmithWaterman3Daligner(); 071 } 072 073 074 075 @Override 076 public Object getParameters() { 077 StructureAlignment alignment = getAlgorithm(); 078 079 SmithWaterman3DParameters p = (SmithWaterman3DParameters) alignment.getParameters(); 080 SmithWatermanStartupParams startup = (SmithWatermanStartupParams)params; 081 082 if ( p == null) 083 p = new SmithWaterman3DParameters(); 084 085 p.setGapExtend(startup.getGapExtend()); 086 p.setGapOpen(startup.getGapOpen()); 087 088 return p; 089 } 090 091 @Override 092 public String getDbSearchLegend(){ 093 String legend = "# name1\tname2\tscore\tz-score\trmsd\tlen1\tlen2\tsim1\tsim2\t " ; 094 return legend; 095 } 096 097 098 099 @Override 100 protected StartupParameters getStartupParametersInstance() { 101 return new SmithWatermanStartupParams(); 102 } 103 104 105 106}