/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.12
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package ur_rna.RNAstructure.backend;

public class Dynalign_object extends TwoRNA {
  private transient long swigCPtr;

  protected Dynalign_object(long cPtr, boolean cMemoryOwn) {
    super(RNABackendJNI.Dynalign_object_SWIGUpcast(cPtr), cMemoryOwn);
    swigCPtr = cPtr;
  }

  protected static long getCPtr(Dynalign_object obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        RNABackendJNI.delete_Dynalign_object(swigCPtr);
      }
      swigCPtr = 0;
    }
    super.delete();
  }

  public Dynalign_object() {
    this(RNABackendJNI.new_Dynalign_object__SWIG_0(), true);
  }

  public Dynalign_object(String sequence1, String sequence2, boolean IsRNA) {
    this(RNABackendJNI.new_Dynalign_object__SWIG_1(sequence1, sequence2, IsRNA), true);
  }

  public Dynalign_object(String sequence1, String sequence2) {
    this(RNABackendJNI.new_Dynalign_object__SWIG_2(sequence1, sequence2), true);
  }

  public Dynalign_object(String filename1, int type1, String filename2, int type2, boolean IsRNA) {
    this(RNABackendJNI.new_Dynalign_object__SWIG_3(filename1, type1, filename2, type2, IsRNA), true);
  }

  public Dynalign_object(String filename1, int type1, String filename2, int type2) {
    this(RNABackendJNI.new_Dynalign_object__SWIG_4(filename1, type1, filename2, type2), true);
  }

  public Dynalign_object(String filename1, int type1, String filename2, int type2, Thermodynamics thermo1) {
    this(RNABackendJNI.new_Dynalign_object__SWIG_5(filename1, type1, filename2, type2, Thermodynamics.getCPtr(thermo1), thermo1), true);
  }

  public Dynalign_object(String filename) {
    this(RNABackendJNI.new_Dynalign_object__SWIG_6(filename), true);
  }

  public Dynalign_object(String filename, short maxtrace, short bpwin, short awin, short percent) {
    this(RNABackendJNI.new_Dynalign_object__SWIG_7(filename, maxtrace, bpwin, awin, percent), true);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent, short imaxseparation, float gap, boolean singleinsert, String savefile, boolean optimalonly, short singlefold_subopt_percent, boolean local, short numProcessors, int maxpairs) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_0(swigCPtr, this, maxtrace, bpwin, awin, percent, imaxseparation, gap, singleinsert, savefile, optimalonly, singlefold_subopt_percent, local, numProcessors, maxpairs);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent, short imaxseparation, float gap, boolean singleinsert, String savefile, boolean optimalonly, short singlefold_subopt_percent, boolean local, short numProcessors) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_1(swigCPtr, this, maxtrace, bpwin, awin, percent, imaxseparation, gap, singleinsert, savefile, optimalonly, singlefold_subopt_percent, local, numProcessors);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent, short imaxseparation, float gap, boolean singleinsert, String savefile, boolean optimalonly, short singlefold_subopt_percent, boolean local) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_2(swigCPtr, this, maxtrace, bpwin, awin, percent, imaxseparation, gap, singleinsert, savefile, optimalonly, singlefold_subopt_percent, local);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent, short imaxseparation, float gap, boolean singleinsert, String savefile, boolean optimalonly, short singlefold_subopt_percent) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_3(swigCPtr, this, maxtrace, bpwin, awin, percent, imaxseparation, gap, singleinsert, savefile, optimalonly, singlefold_subopt_percent);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent, short imaxseparation, float gap, boolean singleinsert, String savefile, boolean optimalonly) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_4(swigCPtr, this, maxtrace, bpwin, awin, percent, imaxseparation, gap, singleinsert, savefile, optimalonly);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent, short imaxseparation, float gap, boolean singleinsert, String savefile) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_5(swigCPtr, this, maxtrace, bpwin, awin, percent, imaxseparation, gap, singleinsert, savefile);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent, short imaxseparation, float gap, boolean singleinsert) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_6(swigCPtr, this, maxtrace, bpwin, awin, percent, imaxseparation, gap, singleinsert);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent, short imaxseparation, float gap) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_7(swigCPtr, this, maxtrace, bpwin, awin, percent, imaxseparation, gap);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent, short imaxseparation) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_8(swigCPtr, this, maxtrace, bpwin, awin, percent, imaxseparation);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin, short percent) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_9(swigCPtr, this, maxtrace, bpwin, awin, percent);
  }

  public int Dynalign(short maxtrace, short bpwin, short awin) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_10(swigCPtr, this, maxtrace, bpwin, awin);
  }

  public int Dynalign(short maxtrace, short bpwin) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_11(swigCPtr, this, maxtrace, bpwin);
  }

  public int Dynalign(short maxtrace) {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_12(swigCPtr, this, maxtrace);
  }

  public int Dynalign() {
    return RNABackendJNI.Dynalign_object_Dynalign__SWIG_13(swigCPtr, this);
  }

  public void WriteAlignment(String filename) {
    RNABackendJNI.Dynalign_object_WriteAlignment(swigCPtr, this, filename);
  }

  public int ForceAlignment(int i, int k) {
    return RNABackendJNI.Dynalign_object_ForceAlignment(swigCPtr, this, i, k);
  }

  public int GetForcedAlignment(int i, int seq) {
    return RNABackendJNI.Dynalign_object_GetForcedAlignment(swigCPtr, this, i, seq);
  }

  public int ReadAlignmentConstraints(String filename) {
    return RNABackendJNI.Dynalign_object_ReadAlignmentConstraints(swigCPtr, this, filename);
  }

  public int Templatefromct(String ctfilename) {
    return RNABackendJNI.Dynalign_object_Templatefromct(swigCPtr, this, ctfilename);
  }

  public int Templatefromdsv(String dsvfilename, float maxdsvchange) {
    return RNABackendJNI.Dynalign_object_Templatefromdsv(swigCPtr, this, dsvfilename, maxdsvchange);
  }

  public double GetBestPairEnergy(int sequence, int i, int j) {
    return RNABackendJNI.Dynalign_object_GetBestPairEnergy(swigCPtr, this, sequence, i, j);
  }

  public double GetLowestEnergy() {
    return RNABackendJNI.Dynalign_object_GetLowestEnergy(swigCPtr, this);
  }

  public String GetErrorMessage(int error) {
    return RNABackendJNI.Dynalign_object_GetErrorMessage(swigCPtr, this, error);
  }

  public void SetProgress(ProgressHandler Progress) {
    RNABackendJNI.Dynalign_object_SetProgress(swigCPtr, this, ProgressHandler.getCPtr(Progress), Progress);
  }

  public void StopProgress() {
    RNABackendJNI.Dynalign_object_StopProgress(swigCPtr, this);
  }

}
