/* ----------------------------------------------------------------------------
 * 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 RNA extends Thermodynamics {
  private transient long swigCPtr;

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

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

  protected void finalize() {
    delete();
  }

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

  public RNA(String sequence, boolean IsRNA) {
    this(RNABackendJNI.new_RNA__SWIG_0(sequence, IsRNA), true);
  }

  public RNA(String sequence) {
    this(RNABackendJNI.new_RNA__SWIG_1(sequence), true);
  }

  public RNA(String filepathOrSequence, int fileType, String alphabetName, boolean allowUnknownBases, boolean skipThermoTables) {
    this(RNABackendJNI.new_RNA__SWIG_2(filepathOrSequence, fileType, alphabetName, allowUnknownBases, skipThermoTables), true);
  }

  public RNA(String filepathOrSequence, int fileType, String alphabetName, boolean allowUnknownBases) {
    this(RNABackendJNI.new_RNA__SWIG_3(filepathOrSequence, fileType, alphabetName, allowUnknownBases), true);
  }

  public RNA(String filepathOrSequence, int fileType, String alphabetName) {
    this(RNABackendJNI.new_RNA__SWIG_4(filepathOrSequence, fileType, alphabetName), true);
  }

  public RNA(String filepathOrSequence, int fileType, Thermodynamics copyThermo) {
    this(RNABackendJNI.new_RNA__SWIG_5(filepathOrSequence, fileType, Thermodynamics.getCPtr(copyThermo), copyThermo), true);
  }

  public RNA(String filename, int fileType, boolean IsRNA) {
    this(RNABackendJNI.new_RNA__SWIG_6(filename, fileType, IsRNA), true);
  }

  public RNA(String filename, int fileType) {
    this(RNABackendJNI.new_RNA__SWIG_7(filename, fileType), true);
  }

  public RNA(boolean IsRNA) {
    this(RNABackendJNI.new_RNA__SWIG_8(IsRNA), true);
  }

  public RNA() {
    this(RNABackendJNI.new_RNA__SWIG_9(), true);
  }

  public int GetErrorCode() {
    return RNABackendJNI.RNA_GetErrorCode(swigCPtr, this);
  }

  public static String GetErrorMessage(int error) {
    return RNABackendJNI.RNA_GetErrorMessage(error);
  }

  public String GetFullErrorMessage() {
    return RNABackendJNI.RNA_GetFullErrorMessage(swigCPtr, this);
  }

  public String GetErrorDetails() {
    return RNABackendJNI.RNA_GetErrorDetails(swigCPtr, this);
  }

  public void SetErrorDetails(String details) {
    RNABackendJNI.RNA_SetErrorDetails(swigCPtr, this, details);
  }

  public void SetSequenceLabel(String label) {
    RNABackendJNI.RNA_SetSequenceLabel(swigCPtr, this, label);
  }

  public void ResetError() {
    RNABackendJNI.RNA_ResetError(swigCPtr, this);
  }

  public void EnsureStructureCapcacity(int minimumStructures) {
    RNABackendJNI.RNA_EnsureStructureCapcacity(swigCPtr, this, minimumStructures);
  }

  public int SpecifyPair(int i, int j, int structurenumber) {
    return RNABackendJNI.RNA_SpecifyPair__SWIG_0(swigCPtr, this, i, j, structurenumber);
  }

  public int SpecifyPair(int i, int j) {
    return RNABackendJNI.RNA_SpecifyPair__SWIG_1(swigCPtr, this, i, j);
  }

  public int RemovePairs(int structurenumber, boolean removeIfLastStructure) {
    return RNABackendJNI.RNA_RemovePairs__SWIG_0(swigCPtr, this, structurenumber, removeIfLastStructure);
  }

  public int RemovePairs(int structurenumber) {
    return RNABackendJNI.RNA_RemovePairs__SWIG_1(swigCPtr, this, structurenumber);
  }

  public int RemovePairs() {
    return RNABackendJNI.RNA_RemovePairs__SWIG_2(swigCPtr, this);
  }

  public int RemoveBasePair(int i, int structurenumber) {
    return RNABackendJNI.RNA_RemoveBasePair__SWIG_0(swigCPtr, this, i, structurenumber);
  }

  public int RemoveBasePair(int i) {
    return RNABackendJNI.RNA_RemoveBasePair__SWIG_1(swigCPtr, this, i);
  }

  public double CalculateFreeEnergy(int structurenumber, boolean UseSimpleMBLoopRules) {
    return RNABackendJNI.RNA_CalculateFreeEnergy__SWIG_0(swigCPtr, this, structurenumber, UseSimpleMBLoopRules);
  }

  public double CalculateFreeEnergy(int structurenumber) {
    return RNABackendJNI.RNA_CalculateFreeEnergy__SWIG_1(swigCPtr, this, structurenumber);
  }

  public double CalculateFreeEnergy() {
    return RNABackendJNI.RNA_CalculateFreeEnergy__SWIG_2(swigCPtr, this);
  }

  public double ExteriorLoopCorrection(int structurenumber, boolean UseSimpleMBLoopRules, int min_index, int max_index) {
    return RNABackendJNI.RNA_ExteriorLoopCorrection(swigCPtr, this, structurenumber, UseSimpleMBLoopRules, min_index, max_index);
  }

  public int WriteThermodynamicDetails(String filename, boolean UseSimpleMBLoopRules) {
    return RNABackendJNI.RNA_WriteThermodynamicDetails__SWIG_0(swigCPtr, this, filename, UseSimpleMBLoopRules);
  }

  public int WriteThermodynamicDetails(String filename) {
    return RNABackendJNI.RNA_WriteThermodynamicDetails__SWIG_1(swigCPtr, this, filename);
  }

  public int FoldSingleStrand(float percent, int maximumstructures, int window, String savefile, int maxinternalloopsize, boolean mfeonly, boolean simple_iloops, boolean disablecoax) {
    return RNABackendJNI.RNA_FoldSingleStrand__SWIG_0(swigCPtr, this, percent, maximumstructures, window, savefile, maxinternalloopsize, mfeonly, simple_iloops, disablecoax);
  }

  public int FoldSingleStrand(float percent, int maximumstructures, int window, String savefile, int maxinternalloopsize, boolean mfeonly, boolean simple_iloops) {
    return RNABackendJNI.RNA_FoldSingleStrand__SWIG_1(swigCPtr, this, percent, maximumstructures, window, savefile, maxinternalloopsize, mfeonly, simple_iloops);
  }

  public int FoldSingleStrand(float percent, int maximumstructures, int window, String savefile, int maxinternalloopsize, boolean mfeonly) {
    return RNABackendJNI.RNA_FoldSingleStrand__SWIG_2(swigCPtr, this, percent, maximumstructures, window, savefile, maxinternalloopsize, mfeonly);
  }

  public int FoldSingleStrand(float percent, int maximumstructures, int window, String savefile, int maxinternalloopsize) {
    return RNABackendJNI.RNA_FoldSingleStrand__SWIG_3(swigCPtr, this, percent, maximumstructures, window, savefile, maxinternalloopsize);
  }

  public int FoldSingleStrand(float percent, int maximumstructures, int window, String savefile) {
    return RNABackendJNI.RNA_FoldSingleStrand__SWIG_4(swigCPtr, this, percent, maximumstructures, window, savefile);
  }

  public int FoldSingleStrand(float percent, int maximumstructures, int window) {
    return RNABackendJNI.RNA_FoldSingleStrand__SWIG_5(swigCPtr, this, percent, maximumstructures, window);
  }

  public int FoldSingleStrand(float percent, int maximumstructures) {
    return RNABackendJNI.RNA_FoldSingleStrand__SWIG_6(swigCPtr, this, percent, maximumstructures);
  }

  public int FoldSingleStrand(float percent) {
    return RNABackendJNI.RNA_FoldSingleStrand__SWIG_7(swigCPtr, this, percent);
  }

  public int FoldSingleStrand() {
    return RNABackendJNI.RNA_FoldSingleStrand__SWIG_8(swigCPtr, this);
  }

  public int GenerateAllSuboptimalStructures(float percent, double deltaG) {
    return RNABackendJNI.RNA_GenerateAllSuboptimalStructures__SWIG_0(swigCPtr, this, percent, deltaG);
  }

  public int GenerateAllSuboptimalStructures(float percent) {
    return RNABackendJNI.RNA_GenerateAllSuboptimalStructures__SWIG_1(swigCPtr, this, percent);
  }

  public int GenerateAllSuboptimalStructures() {
    return RNABackendJNI.RNA_GenerateAllSuboptimalStructures__SWIG_2(swigCPtr, this);
  }

  public int MaximizeExpectedAccuracy(double maxPercent, int maxStructures, int window, double gamma) {
    return RNABackendJNI.RNA_MaximizeExpectedAccuracy__SWIG_0(swigCPtr, this, maxPercent, maxStructures, window, gamma);
  }

  public int MaximizeExpectedAccuracy(double maxPercent, int maxStructures, int window) {
    return RNABackendJNI.RNA_MaximizeExpectedAccuracy__SWIG_1(swigCPtr, this, maxPercent, maxStructures, window);
  }

  public int MaximizeExpectedAccuracy(double maxPercent, int maxStructures) {
    return RNABackendJNI.RNA_MaximizeExpectedAccuracy__SWIG_2(swigCPtr, this, maxPercent, maxStructures);
  }

  public int MaximizeExpectedAccuracy(double maxPercent) {
    return RNABackendJNI.RNA_MaximizeExpectedAccuracy__SWIG_3(swigCPtr, this, maxPercent);
  }

  public int MaximizeExpectedAccuracy() {
    return RNABackendJNI.RNA_MaximizeExpectedAccuracy__SWIG_4(swigCPtr, this);
  }

  public int PartitionFunction(String savefile, double temperature, boolean disablecoax, boolean restoreSHAPE) {
    return RNABackendJNI.RNA_PartitionFunction__SWIG_0(swigCPtr, this, savefile, temperature, disablecoax, restoreSHAPE);
  }

  public int PartitionFunction(String savefile, double temperature, boolean disablecoax) {
    return RNABackendJNI.RNA_PartitionFunction__SWIG_1(swigCPtr, this, savefile, temperature, disablecoax);
  }

  public int PartitionFunction(String savefile, double temperature) {
    return RNABackendJNI.RNA_PartitionFunction__SWIG_2(swigCPtr, this, savefile, temperature);
  }

  public int PartitionFunction(String savefile) {
    return RNABackendJNI.RNA_PartitionFunction__SWIG_3(swigCPtr, this, savefile);
  }

  public int PartitionFunction() {
    return RNABackendJNI.RNA_PartitionFunction__SWIG_4(swigCPtr, this);
  }

  public int PredictProbablePairs(float probability) {
    return RNABackendJNI.RNA_PredictProbablePairs__SWIG_0(swigCPtr, this, probability);
  }

  public int PredictProbablePairs() {
    return RNABackendJNI.RNA_PredictProbablePairs__SWIG_1(swigCPtr, this);
  }

  public int ProbKnot(int iterations, int MinHelixLength, double threshold) {
    return RNABackendJNI.RNA_ProbKnot__SWIG_0(swigCPtr, this, iterations, MinHelixLength, threshold);
  }

  public int ProbKnot(int iterations, int MinHelixLength) {
    return RNABackendJNI.RNA_ProbKnot__SWIG_1(swigCPtr, this, iterations, MinHelixLength);
  }

  public int ProbKnot(int iterations) {
    return RNABackendJNI.RNA_ProbKnot__SWIG_2(swigCPtr, this, iterations);
  }

  public int ProbKnot() {
    return RNABackendJNI.RNA_ProbKnot__SWIG_3(swigCPtr, this);
  }

  public int ProbKnotFromSample(int iterations, int MinHelixLength, double threshold) {
    return RNABackendJNI.RNA_ProbKnotFromSample__SWIG_0(swigCPtr, this, iterations, MinHelixLength, threshold);
  }

  public int ProbKnotFromSample(int iterations, int MinHelixLength) {
    return RNABackendJNI.RNA_ProbKnotFromSample__SWIG_1(swigCPtr, this, iterations, MinHelixLength);
  }

  public int ProbKnotFromSample(int iterations) {
    return RNABackendJNI.RNA_ProbKnotFromSample__SWIG_2(swigCPtr, this, iterations);
  }

  public int ProbKnotFromSample() {
    return RNABackendJNI.RNA_ProbKnotFromSample__SWIG_3(swigCPtr, this);
  }

  public int ReFoldSingleStrand(float percent, int maximumstructures, int window) {
    return RNABackendJNI.RNA_ReFoldSingleStrand__SWIG_0(swigCPtr, this, percent, maximumstructures, window);
  }

  public int ReFoldSingleStrand(float percent, int maximumstructures) {
    return RNABackendJNI.RNA_ReFoldSingleStrand__SWIG_1(swigCPtr, this, percent, maximumstructures);
  }

  public int ReFoldSingleStrand(float percent) {
    return RNABackendJNI.RNA_ReFoldSingleStrand__SWIG_2(swigCPtr, this, percent);
  }

  public int ReFoldSingleStrand() {
    return RNABackendJNI.RNA_ReFoldSingleStrand__SWIG_3(swigCPtr, this);
  }

  public int Stochastic(int structures, int seed) {
    return RNABackendJNI.RNA_Stochastic__SWIG_0(swigCPtr, this, structures, seed);
  }

  public int Stochastic(int structures) {
    return RNABackendJNI.RNA_Stochastic__SWIG_1(swigCPtr, this, structures);
  }

  public int Stochastic() {
    return RNABackendJNI.RNA_Stochastic__SWIG_2(swigCPtr, this);
  }

  public int ForceDoubleStranded(int i) {
    return RNABackendJNI.RNA_ForceDoubleStranded(swigCPtr, this, i);
  }

  public int ForceFMNCleavage(int i) {
    return RNABackendJNI.RNA_ForceFMNCleavage(swigCPtr, this, i);
  }

  public int ForceMaximumPairingDistance(int distance) {
    return RNABackendJNI.RNA_ForceMaximumPairingDistance(swigCPtr, this, distance);
  }

  public int ForceModification(int i) {
    return RNABackendJNI.RNA_ForceModification(swigCPtr, this, i);
  }

  public int ForcePair(int i, int j) {
    return RNABackendJNI.RNA_ForcePair(swigCPtr, this, i, j);
  }

  public int ForceProhibitPair(int i, int j) {
    return RNABackendJNI.RNA_ForceProhibitPair(swigCPtr, this, i, j);
  }

  public int ForceSingleStranded(int i) {
    return RNABackendJNI.RNA_ForceSingleStranded(swigCPtr, this, i);
  }

  public int GetForcedDoubleStranded(int constraintnumber) {
    return RNABackendJNI.RNA_GetForcedDoubleStranded(swigCPtr, this, constraintnumber);
  }

  public int GetForcedFMNCleavage(int constraintnumber) {
    return RNABackendJNI.RNA_GetForcedFMNCleavage(swigCPtr, this, constraintnumber);
  }

  public int GetForcedModification(int constraintnumber) {
    return RNABackendJNI.RNA_GetForcedModification(swigCPtr, this, constraintnumber);
  }

  public int GetForcedPair(int constraintnumber, boolean fiveprime) {
    return RNABackendJNI.RNA_GetForcedPair(swigCPtr, this, constraintnumber, fiveprime);
  }

  public int GetForcedProhibitedPair(int constraintnumber, boolean fiveprime) {
    return RNABackendJNI.RNA_GetForcedProhibitedPair(swigCPtr, this, constraintnumber, fiveprime);
  }

  public int GetForcedSingleStranded(int constraintnumber) {
    return RNABackendJNI.RNA_GetForcedSingleStranded(swigCPtr, this, constraintnumber);
  }

  public int GetMaximumPairingDistance() {
    return RNABackendJNI.RNA_GetMaximumPairingDistance(swigCPtr, this);
  }

  public int GetNumberOfForcedDoubleStranded() {
    return RNABackendJNI.RNA_GetNumberOfForcedDoubleStranded(swigCPtr, this);
  }

  public int GetNumberOfForcedFMNCleavages() {
    return RNABackendJNI.RNA_GetNumberOfForcedFMNCleavages(swigCPtr, this);
  }

  public int GetNumberOfForcedModifications() {
    return RNABackendJNI.RNA_GetNumberOfForcedModifications(swigCPtr, this);
  }

  public int GetNumberOfForcedPairs() {
    return RNABackendJNI.RNA_GetNumberOfForcedPairs(swigCPtr, this);
  }

  public int GetNumberOfForcedProhibitedPairs() {
    return RNABackendJNI.RNA_GetNumberOfForcedProhibitedPairs(swigCPtr, this);
  }

  public int GetNumberOfForcedSingleStranded() {
    return RNABackendJNI.RNA_GetNumberOfForcedSingleStranded(swigCPtr, this);
  }

  public int ReadConstraints(String filename) {
    return RNABackendJNI.RNA_ReadConstraints(swigCPtr, this, filename);
  }

  public int ReadSHAPE(String filename, double slope, double intercept, RestraintType modifier, boolean IsPseudoEnergy) {
    return RNABackendJNI.RNA_ReadSHAPE__SWIG_0(swigCPtr, this, filename, slope, intercept, modifier.swigValue(), IsPseudoEnergy);
  }

  public int ReadSHAPE(String filename, double slope, double intercept, RestraintType modifier) {
    return RNABackendJNI.RNA_ReadSHAPE__SWIG_1(swigCPtr, this, filename, slope, intercept, modifier.swigValue());
  }

  public int ReadSHAPE(String filename, double slope, double intercept) {
    return RNABackendJNI.RNA_ReadSHAPE__SWIG_2(swigCPtr, this, filename, slope, intercept);
  }

  public int ReadSHAPE(String filename, double dsSlope, double dsIntercept, double ssSlope, double ssIntercept, RestraintType modifier) {
    return RNABackendJNI.RNA_ReadSHAPE__SWIG_3(swigCPtr, this, filename, dsSlope, dsIntercept, ssSlope, ssIntercept, modifier.swigValue());
  }

  public int ReadSHAPE(String filename, double dsSlope, double dsIntercept, double ssSlope, double ssIntercept) {
    return RNABackendJNI.RNA_ReadSHAPE__SWIG_4(swigCPtr, this, filename, dsSlope, dsIntercept, ssSlope, ssIntercept);
  }

  public int ReadDMS(String filename, boolean bynt) {
    return RNABackendJNI.RNA_ReadDMS__SWIG_0(swigCPtr, this, filename, bynt);
  }

  public int ReadDMS(String filename) {
    return RNABackendJNI.RNA_ReadDMS__SWIG_1(swigCPtr, this, filename);
  }

  public int ReadDSO(String filename) {
    return RNABackendJNI.RNA_ReadDSO(swigCPtr, this, filename);
  }

  public int ReadSSO(String filename) {
    return RNABackendJNI.RNA_ReadSSO(swigCPtr, this, filename);
  }

  public int ReadExperimentalPairBonus(String filename, double experimentalOffset, double experimentalScaling) {
    return RNABackendJNI.RNA_ReadExperimentalPairBonus(swigCPtr, this, filename, experimentalOffset, experimentalScaling);
  }

  public void RemoveConstraints() {
    RNABackendJNI.RNA_RemoveConstraints(swigCPtr, this);
  }

  public void SetConstraints(CIntVector ss) {
    RNABackendJNI.RNA_SetConstraints(swigCPtr, this, CIntVector.getCPtr(ss), ss);
  }

  public int SetExtrinsic(int i, int j, double k) {
    return RNABackendJNI.RNA_SetExtrinsic(swigCPtr, this, i, j, k);
  }

  public int WriteConstraints(String filename) {
    return RNABackendJNI.RNA_WriteConstraints(swigCPtr, this, filename);
  }

  public int AddComment(String comment, int structurenumber) {
    return RNABackendJNI.RNA_AddComment__SWIG_0(swigCPtr, this, comment, structurenumber);
  }

  public int AddComment(String comment) {
    return RNABackendJNI.RNA_AddComment__SWIG_1(swigCPtr, this, comment);
  }

  public int WriteCt(String filename) {
    return RNABackendJNI.RNA_WriteCt(swigCPtr, this, filename);
  }

  public int WriteDotBracket(String filename, int structurenumber, DotBracketFormat format) {
    return RNABackendJNI.RNA_WriteDotBracket__SWIG_0(swigCPtr, this, filename, structurenumber, format.swigValue());
  }

  public int WriteDotBracket(String filename, int structurenumber) {
    return RNABackendJNI.RNA_WriteDotBracket__SWIG_1(swigCPtr, this, filename, structurenumber);
  }

  public int WriteDotBracket(String filename) {
    return RNABackendJNI.RNA_WriteDotBracket__SWIG_2(swigCPtr, this, filename);
  }

  public int BreakPseudoknot(boolean minimum_energy, int structurenumber, boolean useFastMethod) {
    return RNABackendJNI.RNA_BreakPseudoknot__SWIG_0(swigCPtr, this, minimum_energy, structurenumber, useFastMethod);
  }

  public int BreakPseudoknot(boolean minimum_energy, int structurenumber) {
    return RNABackendJNI.RNA_BreakPseudoknot__SWIG_1(swigCPtr, this, minimum_energy, structurenumber);
  }

  public int BreakPseudoknot(boolean minimum_energy) {
    return RNABackendJNI.RNA_BreakPseudoknot__SWIG_2(swigCPtr, this, minimum_energy);
  }

  public int BreakPseudoknot() {
    return RNABackendJNI.RNA_BreakPseudoknot__SWIG_3(swigCPtr, this);
  }

  public boolean ContainsPseudoknot(int structurenumber) {
    return RNABackendJNI.RNA_ContainsPseudoknot(swigCPtr, this, structurenumber);
  }

  public double GetEnsembleEnergy() {
    return RNABackendJNI.RNA_GetEnsembleEnergy(swigCPtr, this);
  }

  public double GetEnsembleDefect(int structurenumber) {
    return RNABackendJNI.RNA_GetEnsembleDefect__SWIG_0(swigCPtr, this, structurenumber);
  }

  public double GetEnsembleDefect() {
    return RNABackendJNI.RNA_GetEnsembleDefect__SWIG_1(swigCPtr, this);
  }

  public double GetFreeEnergy(int structurenumber) {
    return RNABackendJNI.RNA_GetFreeEnergy(swigCPtr, this, structurenumber);
  }

  public int GetPair(int i, int structurenumber) {
    return RNABackendJNI.RNA_GetPair__SWIG_0(swigCPtr, this, i, structurenumber);
  }

  public int GetPair(int i) {
    return RNABackendJNI.RNA_GetPair__SWIG_1(swigCPtr, this, i);
  }

  public double GetPairEnergy(int i, int j) {
    return RNABackendJNI.RNA_GetPairEnergy(swigCPtr, this, i, j);
  }

  public double GetPairProbability(int i, int j) {
    return RNABackendJNI.RNA_GetPairProbability(swigCPtr, this, i, j);
  }

  public int GetPairProbabilities(double[] arr, int size) {
    return RNABackendJNI.RNA_GetPairProbabilities(swigCPtr, this, arr, size);
  }

  public int GetStructureNumber() {
    return RNABackendJNI.RNA_GetStructureNumber(swigCPtr, this);
  }

  public int DetermineDrawingCoordinates(int height, int width, int structurenumber) {
    return RNABackendJNI.RNA_DetermineDrawingCoordinates__SWIG_0(swigCPtr, this, height, width, structurenumber);
  }

  public int DetermineDrawingCoordinates(int height, int width) {
    return RNABackendJNI.RNA_DetermineDrawingCoordinates__SWIG_1(swigCPtr, this, height, width);
  }

  public String GetCommentString(int structurenumber) {
    return RNABackendJNI.RNA_GetCommentString__SWIG_0(swigCPtr, this, structurenumber);
  }

  public String GetCommentString() {
    return RNABackendJNI.RNA_GetCommentString__SWIG_1(swigCPtr, this);
  }

  public int GetNucleotideXCoordinate(int i) {
    return RNABackendJNI.RNA_GetNucleotideXCoordinate(swigCPtr, this, i);
  }

  public int GetNucleotideYCoordinate(int i) {
    return RNABackendJNI.RNA_GetNucleotideYCoordinate(swigCPtr, this, i);
  }

  public int GetLabelXCoordinate(int i) {
    return RNABackendJNI.RNA_GetLabelXCoordinate(swigCPtr, this, i);
  }

  public int GetLabelYCoordinate(int i) {
    return RNABackendJNI.RNA_GetLabelYCoordinate(swigCPtr, this, i);
  }

  public char GetNucleotide(int i) {
    return RNABackendJNI.RNA_GetNucleotide(swigCPtr, this, i);
  }

  public int GetSequenceLength() {
    return RNABackendJNI.RNA_GetSequenceLength(swigCPtr, this);
  }

  public String GetSequence() {
    return RNABackendJNI.RNA_GetSequence__SWIG_0(swigCPtr, this);
  }

  public String GetSequence(long start, long length) {
    return RNABackendJNI.RNA_GetSequence__SWIG_1(swigCPtr, this, start, length);
  }

  public String GetSequence(long start) {
    return RNABackendJNI.RNA_GetSequence__SWIG_2(swigCPtr, this, start);
  }

  public boolean GetBackboneType() {
    return RNABackendJNI.RNA_GetBackboneType(swigCPtr, this);
  }

  public double GetVprimeQ(int i, int j) {
    return RNABackendJNI.RNA_GetVprimeQ(swigCPtr, this, i, j);
  }

  public double GetW(int i, int j) {
    return RNABackendJNI.RNA_GetW(swigCPtr, this, i, j);
  }

  public structure GetStructure() {
    long cPtr = RNABackendJNI.RNA_GetStructure(swigCPtr, this);
    return (cPtr == 0) ? null : new structure(cPtr, false);
  }

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

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

  public ProgressHandler GetProgress() {
    long cPtr = RNABackendJNI.RNA_GetProgress(swigCPtr, this);
    return (cPtr == 0) ? null : new ProgressHandler(cPtr, false);
  }

  public void CopyThermo(Thermodynamics copy) {
    RNABackendJNI.RNA_CopyThermo(swigCPtr, this, Thermodynamics.getCPtr(copy), copy);
  }

  public int getInts(int[] arr, int size) {
    return RNABackendJNI.RNA_getInts(swigCPtr, this, arr, size);
  }

  public void initInts() {
    RNABackendJNI.RNA_initInts(swigCPtr, this);
  }

  public int getIntAt(int i) {
    return RNABackendJNI.RNA_getIntAt(swigCPtr, this, i);
  }

}
