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.quaternary;
022
023/**
024 * The parameter bean for the {@link QsAlign} algorithm.
025 * 
026 * @author Aleix Lafita
027 * @since 5.0.0
028 *
029 */
030public class QsAlignParameters {
031
032        private double dCutoff = 10.0;
033        private double maxRmsd = 10.0;
034        private double maxOrientationAngle = Math.PI / 6; // 30 degree
035
036        /**
037         * The maximum allowed distance between the centroids of two equivalent
038         * Subunits, in A.
039         * 
040         * @return dCutoff
041         */
042        public double getdCutoff() {
043                return dCutoff;
044        }
045
046        /**
047         * The maximum allowed distance between the centroids of two equivalent
048         * Subunits, in A.
049         * 
050         * @param dCutoff
051         */
052        public void setdCutoff(double dCutoff) {
053                this.dCutoff = dCutoff;
054        }
055
056        /**
057         * The maximum allowed RMSD of the alignment, in A.
058         * 
059         * @return maxRmsd
060         */
061        public double getMaxRmsd() {
062                return maxRmsd;
063        }
064
065        /**
066         * The maximum allowed RMSD of the alignment, in A.
067         * 
068         * @param maxRmsd
069         */
070        public void setMaxRmsd(double maxRmsd) {
071                this.maxRmsd = maxRmsd;
072        }
073
074        /**
075         * The maximum orientation angle between two equivalent Subunits, in
076         * radians. Range [0, Pi].
077         * 
078         * @return the maximum orientation angle
079         */
080        public double getMaxOrientationAngle() {
081                return maxOrientationAngle;
082        }
083
084        /**
085         * The maximum orientation angle between two equivalent Subunits, in
086         * radians. Range [0, Pi].
087         * 
088         * @param maxOrientationAngle
089         *            maximum orientation angle
090         */
091        public void setMaxOrientationAngle(double maxOrientationAngle) {
092                this.maxOrientationAngle = maxOrientationAngle;
093        }
094
095}