modele
Class OriginAlgorithmsStefan

java.lang.Object
  extended by modele.OriginAlgorithmsStefan

public class OriginAlgorithmsStefan
extends java.lang.Object

This class to concentrate most part of algorithms and computing, as Stefan Eneglen implement them. Some conversion to new model and taken considerations of how works Stefan's implementation : ADN1cible are unaligned sequences, ADN1test are aligned sequences...
Conversion tested and work well as use in Black Box.
Better understanding after questions and answer with him.
Parameters in instance to permit MultiThreads : differents instances and computing.
Aim of this class is to have algorithms' implementation in the same place and not in modelization (but justification of being in these classes could be considered as "it is method of using instances of these classes"...).
Just use the constructor and the launch procedure. After that, use getResults() or getResultsHTML().

Since:
August 28, 2008
Author:
Gabriel Chandesris (2008), Stefan Engelen (2006)
See Also:
Algorithms, AlgorithmsStefan, OriginAlgoStefanConverter, origincomment, ProcessusNew, OtherAlgorithmsStefan.calcul_Resultat(Sequence, Sequence[], int, boolean, boolean), OtherAlgorithmsStefan.recherche_Palindrome(Sequence, int, int, int, Sequence[], int, int, boolean, int), OtherAlgorithmsStefan.diviser_regner(Palindrome[], Sequence, Sequence[], int, int, int, int, boolean, int), OtherAlgorithmsStefan.recherche_Pseudonoeud(Sequence, Base[], Sequence[], boolean, int, int), OtherAlgorithmsStefan.traitement_Incompatibilite(Palindrome[], boolean, double, int, int), OtherAlgorithmsStefan.incompatibilite_plusieurs_choix(PalindromeListeListe, int, int, int, double, boolean, int), OtherAlgorithmsStefan.incompatibilite_un_choix(Palindrome[], int, int), OtherAlgorithmsStefan.resultat_commun(PalindromeListeListe), OtherAlgorithmsStefan.verifier_Conservation_Alignement(Sequence, Palindrome, Palindrome, double, Sequence[]), OtherAlgorithmsStefan.verifier_Conservation_Commune(Sequence, Palindrome, Palindrome, double, double, int, Sequence[]), AlgorithmsStefan.calcul_Resultat(Sequence, Sequence[], int, boolean, boolean), AlgorithmsStefan.recherche_Palindrome(Sequence, int, int, int, Sequence[], int, int, boolean, int), AlgorithmsStefan.diviser_regner(Palindrome[], Sequence, Sequence[], int, int, int, int, boolean, int), AlgorithmsStefan.recherche_Pseudonoeud(Sequence, Base[], Sequence[], boolean, int, int), AlgorithmsStefan.traitement_Incompatibilite(Palindrome[], boolean, double, int, int), AlgorithmsStefan.incompatibilite_plusieurs_choix(PalindromeListeListe, int, int, int, double, boolean, int), AlgorithmsStefan.incompatibilite_un_choix(Palindrome[], int, int), AlgorithmsStefan.resultat_commun(PalindromeListeListe), AlgorithmsStefan.verifier_Conservation_Alignement(Sequence, Palindrome, Palindrome, double, Sequence[]), AlgorithmsStefan.verifier_Conservation_Commune(Sequence, Palindrome, Palindrome, double, double, int, Sequence[]), calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean), recherche_Palindrome(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int), diviser_regner(Palindrome1cible[], ADN1cible, ADN1test[], int, int, int, int, boolean, int), recherche_Pseudonoeud(ADN1cible, Base[], ADN1test[], boolean, int, int), traitement_Incompatibilite(Palindrome1cible[], boolean, double, int, int), incompatibilite_plusieurs_choix(Vector, int, int, int, double, boolean, int), incompatibilite_un_choix(Palindrome1cible[], int, int), resultat_commun(Vector), verifier_Conservation_Alignement(ADN1cible, Palindrome1cible, Palindrome1test, double, ADN1test[]), verifier_Conservation_Commune(ADN1cible, Palindrome1cible, Palindrome1test, double, double, int, ADN1test[])

Field Summary
static int ALIGNEMENTHELICE
          "Global attributes of work"
Helix alignment is 3.
static int ARN_MESSAGER
          "Global attributes of work"
Messenger RNA is 2.
static int ARN_STRUCTURAL
          "Global attributes of work"
Structural RNA is 1.
private  java.lang.String bracketFile
          To get the result brackets File.
private  boolean chercher_pk
          "Global attribute with signification.
private  int decalage
          "Global attribute with signification.
private  double incertitude
          "Global attribute with signification.
static int LONG_MUT
          "Global attributes of work"
Mutation length is 2.
private  boolean more_predictions
          Searching much structures or not
private  int nb_prediction_max
          "Global attribute with signification.
static int PROFILHELICE
          "Global attributes of work"
Helix profile is 2.
private  int pseudonoeud
          "Global attributes of work"
Current complexity of searching pseudoknots.
private  java.lang.String results
          To get the results of current computing (plain text).
private  java.lang.String resultsHTML
          To get the results of current computing (HTML to include).
private  java.lang.String rnavizFile
          To get the result RnaViz File.
static int STRUCTURECOMMUNE
          "Global attributes of work"
Common structure is 1.
private  ADN1test[] tableauInitial
          "Global attribute with signification.
private  ArbrePalindrome tableauPalindrome
          "Global attribute with signification.
private  int taille_boucle_min
          "Global attribute with signification.
private  int taille_pal_min
          "Global attribute with signification.
static int TAUX_MUT
          "Global attributes of work"
Mutation rate is 1.
private  boolean trouvePseudonoeud
          "Global attributes of work"
Have pseudoknots been found in current step...
private  int typeARN
          "Global attribute with signification.
private  int typeCritere
          "Global attribute with signification.
private  int typeRecherche
          "Global attribute with signification.
private  PalindromeListe userPalindromesTable
          To get the palindromes given by user and known.
private  boolean userPalindromeToUse
          To know if given known palindromes are to be used in current execution.
 
Constructor Summary
OriginAlgorithmsStefan()
          Default constructor.
OriginAlgorithmsStefan(int maximumPredictions, boolean morePredictions, boolean searchingPseudoknots)
          Constructor with given maximal number of structures, if searching much structures and searching pseudoknots.
 
Method Summary
private  void calcul_Resultat(ADN1cible target, ADN1test[] tableauSequences, int typeRecherche, boolean plusieurs_resultats, boolean chercher_pk)
          MAIN COMPUTING RESULTS
"This method to launch search and compute all wanted results"
 void computing(java.util.Vector tabsadn, ADN1cible target, boolean morePrediction, boolean searchPseudoknots)
          Computing the main algorithm made by Stefan Engelen.
private  void diviser_regner(Palindrome1cible[] tabPal, ADN1cible target, ADN1test[] tableauSequences, int debut, int fin, int erreur, int etape, boolean plusieurs_resultats, int nb_prediction)
          COMPATIBLE PALINDROME SEARCH
Divide and Conquer procedure...
private static boolean est_Compatible(Palindrome1cible pal1, Palindrome1cible pal2)
          Deprecated. converted and put into PalindromeCible : PalindromeCible.est_Compatible(PalindromeCible, PalindromeCible)
 java.lang.String getBracketFile()
           
 int getDecalage()
           
 double getIncertitude()
           
 int getNb_prediction_max()
           
 Palindrome1cible getPalindrome(int pos_struct, int pos_pal)
          To get a specific palindrome in a specific structure.
 int getPseudonoeud()
           
private  PalindromeListeListe getRecordingStructures(ADN1cible target)
          To get the recording structure in a good conversion format.
 PalindromeListeListe getRecordingStructures(Sequence target)
          To get the recording structure in a good conversion format.
 java.lang.String getResults()
           
 java.lang.String getResultsHTML()
           
 java.lang.String getRnavizFile()
           
 Palindrome1cible[] getStructure(int pos)
          To get a specific structure.
 java.util.Vector getStructures()
          To get structures from algorithm tree.
 ADN1test[] getTableauInitial()
           
 ArbrePalindrome getTableauPalindrome()
           
 int getTaille_boucle_min()
           
 int getTaille_pal_min()
           
 int getTypeARN()
           
 int getTypeCritere()
           
 int getTypeRecherche()
           
private static void incompatibilite_plusieurs_choix(java.util.Vector listeTabPal, int pos_tab, int i, int j, double incertitude, boolean plusieurs_resultats, int nb_prediction_max)
          "Following methods sorted by use order in ADN1 Class". (2)
Much choices to treat incompatibility.
private static Palindrome1cible[] incompatibilite_un_choix(Palindrome1cible[] tabPalCibleTrier, int i, int j)
          "Following methods sorted by use order in ADN1 Class". (3)
One choice in incompatibility to structure.
private  void initialiser()
          Initialization of algorithm.
 boolean isChercher_pk()
           
 boolean isMore_predictions()
           
 boolean isTrouvePseudonoeud()
           
 void launch(Sequence target, SequenceListe[] listes, boolean optimal)
          To launch the computing (target is automatically treated in the set).
 void mettre_etoile(ADN1cible target, int pos_struct)
          Deprecated. converted and put into SequenceCible : SequenceCible.mettre_etoile(PalindromeCible[])
private static Palindrome1cible[][] palindromes_communs(Palindrome1cible[] tabPal1, Palindrome1cible[] tabPal2, boolean struc_com)
          RESULT TREAMENT
"Previous method variation [comparaison_palindrome] to find common palindromes between two predictions.
private  void recherche_Palindrome(ADN1cible target, int debut, int fin, int taille, ADN1test[] tableauSequences, int erreur, int etape, boolean plusieurs_resultats, int nb_prediction)
          COMPATIBLE PALINDROME SEARCH
"Methode qui recherche des palindromes dans une sequence d'ADN"
"This method search palindromes in a DNA sequence
private  Palindrome1cible[] recherche_Point_Ancrage(ADN1cible target, int debut, int fin, int taille, double lmin, ADN1test[] tableauSequences, int erreur)
          COMPATIBLE PALINDROME SEARCH
"R=This method search anchor points at step i from palindrome search (on the subsequence i on starting sequence).
private  void recherche_Pseudonoeud(ADN1cible target, Base[] sequencepseudonoeud, ADN1test[] tableauSequences, boolean plusieurs_resultats, int pos_struct, int nb_prediction)
          PSEUDOKNOTS SEARCH
"This method for pseudoknots search : we launch search on each internal sequence of palindromes (form more external to more internal) as selection criteria decrease"
private  void resultat_commun(java.util.Vector vec)
          RESULT TREAMENT
"This method compute a common result from vector of tab of palindromes"
 void setChercher_pk(boolean chercher_pk)
           
 void setDecalage(int decalage)
           
 void setIncertitude(double incertitude)
           
 void setMore_Predictions(boolean more_predictions)
           
 void setNb_prediction_max(int nb_prediction_max)
           
 void setPseudonoeud(int pseudonoeud)
           
 void setPseudonoeudPlusPlus()
           
 void setTableauInitial(ADN1test[] tableauInitial)
           
 void setTableauPalindrome(ArbrePalindrome tableauPalindrome)
           
 void setTaille_boucle_min(int taille_boucle_min)
           
 void setTaille_pal_min(int taille_pal_min)
           
 void setTrouvePseudonoeud(boolean trouvePseudonoeud)
           
 void setTypeARN(int typeARN)
           
 void setTypeCritere(int typeCritere)
           
 void setTypeRecherche(int typeRecherche)
           
 void setUserPalindromesTable(PalindromeListe userPalindromesTable)
          To set the given known palindromes by user.
private  void setValues(boolean optimal, int maximumPredictions, boolean morePredictions, boolean searchingPseudoknots)
          To be sure that good values are set as parameters...
static void setValues(OriginAlgorithmsStefan computing, boolean optimal, int maximumPredictions, boolean morePredictions, boolean searchingPseudoknots)
          To be sure that good values are set as parameters...
private static java.util.Vector traitement_Incompatibilite(Palindrome1cible[] tabPalCible, boolean plusieurs_resultats, double incertitude, int nb_prediction, int nb_prediction_max)
          "Following methods sorted by use order in ADN1 Class". (1)
"This method is about incompatibility between palindromes of same sequence, sorting palindromes by relevance (single and double mutations) then removing every palindrome incompatible with previous more relevant.
private  void traitement_Zone_Variable(ADN1cible target, int debut, int fin, int taille, ADN1test[] tableauSequences, int erreur, int etape, boolean plusieurs_resultats, int nb_prediction)
          COMPATIBLE PALINDROME SEARCH
"This method to search anchors points in a highly varible part of sequence"
private static Palindrome1cible[] trier_Palindrome_Comp(Palindrome1cible[] tabPal)
          "Following methods sorted by use order in ADN1 Class". (4)
"This method sort palindromes found at step i of target sequence from their relevance
This method is used by the method that search compatible palindromes
private  boolean verifier_Conservation_Alignement(ADN1cible target, Palindrome1cible palCourantReel, Palindrome1test palCourantFaux, double lmin, ADN1test[] tableauSequences)
          COMPATIBLE PALINDROME SEARCH
"this method compare palindromes found on each step of palindrome search to know if there are palindromes at the same place but they can be different (it is in that case they are relevant)This method compute in the same time the number of singles and compensatory (double) mutations.
private static boolean verifier_Conservation_Commune(ADN1cible target, Palindrome1cible palCourantReel, Palindrome1test palCourantFaux, double decalage, double lmin, int erreur, ADN1test[] tableauSequences)
          COMPATIBLE PALINDROME SEARCH
"this method compare palindromes found on each step of palindrome search to know if there are palindromes at the same place but they can be different (it is in that case they are relevant)This method compute in the same time the number of singles and compensatory (double) mutations.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tableauPalindrome

private ArbrePalindrome tableauPalindrome
"Global attribute with signification. "
A Palindrome Tree use in algorithm.

See Also:
ArbrePalindrome, getTableauPalindrome(), getStructures(), getStructure(int), getPalindrome(int, int)

typeRecherche

private int typeRecherche
"Global attribute with signification. "
Search type (default is ALIGNEMENTHELICE / 3).

See Also:
ALIGNEMENTHELICE, PROFILHELICE, STRUCTURECOMMUNE, calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean)

chercher_pk

private boolean chercher_pk
"Global attribute with signification. "
Searching pseudoknots or not (default is true).

See Also:
calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean)

more_predictions

private boolean more_predictions
Searching much structures or not


typeCritere

private int typeCritere
"Global attribute with signification. "
Criteria type (defaul is TAUX_MUT : 2).

See Also:
TAUX_MUT, LONG_MUT, calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean)

typeARN

private int typeARN
"Global attribute with signification. "
RNA type (default is ARN_STRUCTURAL : 1).

See Also:
ARN_STRUCTURAL, ARN_MESSAGER, calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean)

incertitude

private double incertitude
"Global attribute with signification. "
(default is 0.0).

See Also:
calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean)

decalage

private int decalage
"Global attribute with signification. "
(default is 0).

See Also:
calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean)

taille_boucle_min

private int taille_boucle_min
"Global attribute with signification. "
Minimal length of loop (default is 4).

See Also:
calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean)

taille_pal_min

private int taille_pal_min
"Global attribute with signification. "
Minimal length of palindromes (default is 3).

See Also:
calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean)

nb_prediction_max

private int nb_prediction_max
"Global attribute with signification. "
Maximal number of predictions (default is 1).

See Also:
calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean)

tableauInitial

private ADN1test[] tableauInitial
"Global attribute with signification. "
Recording sequence tests used (default is null).

See Also:
ADN1cible.les_sequences_tests()

pseudonoeud

private int pseudonoeud
"Global attributes of work"
Current complexity of searching pseudoknots. Start at 0.


trouvePseudonoeud

private boolean trouvePseudonoeud
"Global attributes of work"
Have pseudoknots been found in current step... Start at false.


ARN_STRUCTURAL

public static final int ARN_STRUCTURAL
"Global attributes of work"
Structural RNA is 1.

See Also:
Constant Field Values

ARN_MESSAGER

public static final int ARN_MESSAGER
"Global attributes of work"
Messenger RNA is 2.

See Also:
Constant Field Values

TAUX_MUT

public static final int TAUX_MUT
"Global attributes of work"
Mutation rate is 1.

See Also:
Constant Field Values

LONG_MUT

public static final int LONG_MUT
"Global attributes of work"
Mutation length is 2.

See Also:
Constant Field Values

STRUCTURECOMMUNE

public static final int STRUCTURECOMMUNE
"Global attributes of work"
Common structure is 1.

See Also:
Constant Field Values

PROFILHELICE

public static final int PROFILHELICE
"Global attributes of work"
Helix profile is 2.

See Also:
Constant Field Values

ALIGNEMENTHELICE

public static final int ALIGNEMENTHELICE
"Global attributes of work"
Helix alignment is 3.

See Also:
Constant Field Values

rnavizFile

private java.lang.String rnavizFile
To get the result RnaViz File.


bracketFile

private java.lang.String bracketFile
To get the result brackets File.


results

private java.lang.String results
To get the results of current computing (plain text).


resultsHTML

private java.lang.String resultsHTML
To get the results of current computing (HTML to include).


userPalindromesTable

private PalindromeListe userPalindromesTable
To get the palindromes given by user and known.

Since:
September 8, 2008
See Also:
setUserPalindromesTable(PalindromeListe), recherche_Palindrome(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int)

userPalindromeToUse

private boolean userPalindromeToUse
To know if given known palindromes are to be used in current execution.

See Also:
userPalindromesTable, recherche_Palindrome(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int)
Constructor Detail

OriginAlgorithmsStefan

public OriginAlgorithmsStefan()
Default constructor.
Initialization, optimal is false, one structure, only one structures to find, searching pseudoknots.


OriginAlgorithmsStefan

public OriginAlgorithmsStefan(int maximumPredictions,
                              boolean morePredictions,
                              boolean searchingPseudoknots)
Constructor with given maximal number of structures, if searching much structures and searching pseudoknots.

Parameters:
maximumPredictions - (int) default is 1
morePredictions - (boolean) defult is false
searchingPseudoknots - (boolean) default is true
Method Detail

isChercher_pk

public boolean isChercher_pk()

isMore_predictions

public boolean isMore_predictions()

getDecalage

public int getDecalage()

getIncertitude

public double getIncertitude()

getNb_prediction_max

public int getNb_prediction_max()

getPseudonoeud

public int getPseudonoeud()

getTableauInitial

public ADN1test[] getTableauInitial()

getTableauPalindrome

public ArbrePalindrome getTableauPalindrome()

getTaille_boucle_min

public int getTaille_boucle_min()

getTaille_pal_min

public int getTaille_pal_min()

isTrouvePseudonoeud

public boolean isTrouvePseudonoeud()

getTypeARN

public int getTypeARN()

getTypeCritere

public int getTypeCritere()

getTypeRecherche

public int getTypeRecherche()

getRnavizFile

public java.lang.String getRnavizFile()

getBracketFile

public java.lang.String getBracketFile()

getResults

public java.lang.String getResults()

getResultsHTML

public java.lang.String getResultsHTML()

setChercher_pk

public void setChercher_pk(boolean chercher_pk)

setMore_Predictions

public void setMore_Predictions(boolean more_predictions)

setDecalage

public void setDecalage(int decalage)

setIncertitude

public void setIncertitude(double incertitude)

setNb_prediction_max

public void setNb_prediction_max(int nb_prediction_max)

setPseudonoeud

public void setPseudonoeud(int pseudonoeud)

setPseudonoeudPlusPlus

public void setPseudonoeudPlusPlus()

setTableauInitial

public void setTableauInitial(ADN1test[] tableauInitial)

setTableauPalindrome

public void setTableauPalindrome(ArbrePalindrome tableauPalindrome)

setTaille_boucle_min

public void setTaille_boucle_min(int taille_boucle_min)

setTaille_pal_min

public void setTaille_pal_min(int taille_pal_min)

setTrouvePseudonoeud

public void setTrouvePseudonoeud(boolean trouvePseudonoeud)

setTypeARN

public void setTypeARN(int typeARN)

setTypeCritere

public void setTypeCritere(int typeCritere)

setTypeRecherche

public void setTypeRecherche(int typeRecherche)

getStructures

public java.util.Vector getStructures()
To get structures from algorithm tree.

Returns:
(Vector)
See Also:
ArbrePalindrome.quellesStructures(), ADN1cible.afficher_Caracteristique(), ADN1cible.calcul_Resultat(ADN1test[], int, boolean, boolean), ADN1cible.calcul_score_structure(ADN1cible), ADN1cible.comparaison_structure(ADN1cible, ADN1cible), ADN1cible.comparaison(ADN1cible, ADN1cible), ADN1.to_File(PrintWriter)

getStructure

public Palindrome1cible[] getStructure(int pos)
To get a specific structure.

Parameters:
pos - (int)
Returns:
(Palindrome1cible[])

getPalindrome

public Palindrome1cible getPalindrome(int pos_struct,
                                      int pos_pal)
To get a specific palindrome in a specific structure.

Parameters:
pos_struct - (int) position of the structure.
pos_pal - (int) position of palindrome in structure.
Returns:
(Palindrome1cible)
See Also:
ArbrePalindrome.quelPalindrome(int, int)

setUserPalindromesTable

public void setUserPalindromesTable(PalindromeListe userPalindromesTable)
To set the given known palindromes by user.

Parameters:
userPalindromesTable - (PalindromeListe)
Since:
September 8, 2008
See Also:
userPalindromesTable, recherche_Palindrome(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int)

launch

public void launch(Sequence target,
                   SequenceListe[] listes,
                   boolean optimal)
To launch the computing (target is automatically treated in the set).

Parameters:
target - (Sequence) target sequence
listes - (SequenceListe) set of homologuous sequences without target
optimal - (boolean) if computing is optimal or not
See Also:
OriginAlgoStefanConverter

initialiser

private void initialiser()
Initialization of algorithm. Set the tree to new ; the complexity of pseudoknots to 0 and the initial tab of sequences to null.

See Also:
ADN1cible.tableauPalindrome, ADN1cible.pseudonoeud, ADN1cible.tableauInitial, OriginAlgorithmsStefan(), computing(Vector, ADN1cible, boolean, boolean)

setValues

private void setValues(boolean optimal,
                       int maximumPredictions,
                       boolean morePredictions,
                       boolean searchingPseudoknots)
To be sure that good values are set as parameters...
With current instance of computing algorithms...
Conversion and settings.

Parameters:
optimal - (boolean) if true : incertitude == 0.0 else : 0.05
maximumPredictions - (int) maximum number of predictions
morePredictions - (boolean) if wanted to found alternate structures
searchingPseudoknots - (boolean) if searching palindromes or not...
See Also:
setValues(OriginAlgorithmsStefan, boolean, int, boolean, boolean)

setValues

public static void setValues(OriginAlgorithmsStefan computing,
                             boolean optimal,
                             int maximumPredictions,
                             boolean morePredictions,
                             boolean searchingPseudoknots)
To be sure that good values are set as parameters...
Conversion and settings.

Parameters:
computing - (OriginAlgorithmsStefan)
optimal - (boolean) if true : incertitude == 0.0 else : 0.05
maximumPredictions - (int) maximum number of predictions
searchingPseudoknots - (boolean) if searching palindromes or not...
See Also:
setValues(boolean, int, boolean, boolean)

calcul_Resultat

private void calcul_Resultat(ADN1cible target,
                             ADN1test[] tableauSequences,
                             int typeRecherche,
                             boolean plusieurs_resultats,
                             boolean chercher_pk)
                      throws java.lang.Exception
MAIN COMPUTING RESULTS
"This method to launch search and compute all wanted results"

Parameters:
target - (ADN1cible) target sequence
tableauSequences - (ADN1test[]) target sequence at 0 then tests sequences...
typeRecherche - (int) 3 (very good default option) ALIGNEMENTHELICE
plusieurs_resultats - (boolean) (true for maybe some structures)
chercher_pk - (boolean) true (default is better to search and find pseudoKnots)
Throws:
java.lang.Exception - e
See Also:
typeRecherche, typeCritere, chercher_pk, nb_prediction_max, incertitude, decalage, typeARN, taille_boucle_min, taille_pal_min, ADN1test.meilleur_combinaison_sequence(ADN1cible, ADN1cible, ADN1test, ADN1test[], int[], int, int, int, int, int, Resultat, boolean)

recherche_Palindrome

private void recherche_Palindrome(ADN1cible target,
                                  int debut,
                                  int fin,
                                  int taille,
                                  ADN1test[] tableauSequences,
                                  int erreur,
                                  int etape,
                                  boolean plusieurs_resultats,
                                  int nb_prediction)
COMPATIBLE PALINDROME SEARCH
"Methode qui recherche des palindromes dans une sequence d'ADN"
"This method search palindromes in a DNA sequence. "

Parameters:
target - (ADN1cible) target sequence
debut - (int) begin analysis
fin - (int) end of analysis
taille - (int) lengt of target
tableauSequences - (ADN1test[]) homologuous sequences
erreur - (int)
etape - (int) step
plusieurs_resultats - (boolean) much results
nb_prediction - (int) number of predictions
See Also:
ADN1cible.diviser_regner(Palindrome1cible[], ADN1cible, ADN1test[], int, int, int, int, boolean, int), ADN1cible.recherche_Point_Ancrage(ADN1cible, int, int, int, double, ADN1test[], int), ADN1cible.traitement_Zone_Variable(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int)

recherche_Point_Ancrage

private Palindrome1cible[] recherche_Point_Ancrage(ADN1cible target,
                                                   int debut,
                                                   int fin,
                                                   int taille,
                                                   double lmin,
                                                   ADN1test[] tableauSequences,
                                                   int erreur)
COMPATIBLE PALINDROME SEARCH
"R=This method search anchor points at step i from palindrome search (on the subsequence i on starting sequence). "

Parameters:
target - (ADN1cible) target
debut - (int) begin
fin - (int) end
taille - (int) length
lmin - (int)
tableauSequences - (ADN1test[])
erreur - (int)
Returns:
(Palindrome1cible[])
See Also:
recherche_Palindrome(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int), traitement_Zone_Variable(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int), verifier_Conservation_Commune(ADN1cible, Palindrome1cible, Palindrome1test, double, double, int, ADN1test[]), verifier_Conservation_Alignement(ADN1cible, Palindrome1cible, Palindrome1test, double, ADN1test[])

traitement_Zone_Variable

private void traitement_Zone_Variable(ADN1cible target,
                                      int debut,
                                      int fin,
                                      int taille,
                                      ADN1test[] tableauSequences,
                                      int erreur,
                                      int etape,
                                      boolean plusieurs_resultats,
                                      int nb_prediction)
COMPATIBLE PALINDROME SEARCH
"This method to search anchors points in a highly varible part of sequence"

Parameters:
target - (ADN1cible) target sequence
debut - (int) begin
fin - (int) end
taille - (int) length
tableauSequences - (ADN1test)
erreur - (int)
etape - (int) step
plusieurs_resultats - (boolean)
nb_prediction - (int)
See Also:
recherche_Palindrome(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int)

verifier_Conservation_Commune

private static boolean verifier_Conservation_Commune(ADN1cible target,
                                                     Palindrome1cible palCourantReel,
                                                     Palindrome1test palCourantFaux,
                                                     double decalage,
                                                     double lmin,
                                                     int erreur,
                                                     ADN1test[] tableauSequences)
COMPATIBLE PALINDROME SEARCH
"this method compare palindromes found on each step of palindrome search to know if there are palindromes at the same place but they can be different (it is in that case they are relevant)This method compute in the same time the number of singles and compensatory (double) mutations.
First is checking conservation in following common structure of test sequences.

Parameters:
target - (ADN1cible) target sequence
palCourantReel - (Palindrome1cible)
palCourantFaux - (Palindrome1test)
decalage - (double)
lmin - (double)
erreur - (int)
tableauSequences - (ADN1test) homologuous
Returns:
(boolean)
See Also:
ADN1cible.recherche_Point_Ancrage(ADN1cible, int, int, int, double, ADN1test[], int)

verifier_Conservation_Alignement

private boolean verifier_Conservation_Alignement(ADN1cible target,
                                                 Palindrome1cible palCourantReel,
                                                 Palindrome1test palCourantFaux,
                                                 double lmin,
                                                 ADN1test[] tableauSequences)
COMPATIBLE PALINDROME SEARCH
"this method compare palindromes found on each step of palindrome search to know if there are palindromes at the same place but they can be different (it is in that case they are relevant)This method compute in the same time the number of singles and compensatory (double) mutations.
Third...

Parameters:
target - (ADN1cible) target sequence
palCourantReel - (Palindrome1cible)
palCourantFaux - (Palindrome1test)
lmin - (double)
tableauSequences - (ADN1test[])
Returns:
(boolean)
See Also:
recherche_Point_Ancrage(ADN1cible, int, int, int, double, ADN1test[], int), Matrice_ALN

diviser_regner

private void diviser_regner(Palindrome1cible[] tabPal,
                            ADN1cible target,
                            ADN1test[] tableauSequences,
                            int debut,
                            int fin,
                            int erreur,
                            int etape,
                            boolean plusieurs_resultats,
                            int nb_prediction)
COMPATIBLE PALINDROME SEARCH
Divide and Conquer procedure...

Parameters:
tabPal - (Palindrome1cible[])
target - (ADN1cible) target sequence
tableauSequences - (ADN1test[]) homologuous
debut - (int) begin
fin - (int) end
erreur - (int)
etape - (int) step
plusieurs_resultats - (boolean)
nb_prediction - (int)
See Also:
recherche_Palindrome(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int), Palindrome1cible.trier_Palindrome_Fin(Palindrome1cible[]), ADN1cible.calcul_Taille(Palindrome1cible)

recherche_Pseudonoeud

private void recherche_Pseudonoeud(ADN1cible target,
                                   Base[] sequencepseudonoeud,
                                   ADN1test[] tableauSequences,
                                   boolean plusieurs_resultats,
                                   int pos_struct,
                                   int nb_prediction)
PSEUDOKNOTS SEARCH
"This method for pseudoknots search : we launch search on each internal sequence of palindromes (form more external to more internal) as selection criteria decrease"

Parameters:
target - (ADN1cible) target sequence
sequencepseudonoeud - (Base[])
tableauSequences - (ADN1test[])
plusieurs_resultats - (boolean)
pos_struct - (int)
nb_prediction - (int)
See Also:
ADN1cible.calcul_Resultat(ADN1test[], int, boolean, boolean)

resultat_commun

private void resultat_commun(java.util.Vector vec)
RESULT TREAMENT
"This method compute a common result from vector of tab of palindromes"

Parameters:
vec - (Vector)

palindromes_communs

private static Palindrome1cible[][] palindromes_communs(Palindrome1cible[] tabPal1,
                                                        Palindrome1cible[] tabPal2,
                                                        boolean struc_com)
RESULT TREAMENT
"Previous method variation [comparaison_palindrome] to find common palindromes between two predictions. Two palindromes are common as they are included one in the other"

Parameters:
tabPal1 - (Palindrome1cible[])
tabPal2 - (Palindrome1cible[])
struc_com - (boolean)
Returns:
(Palindrome1cible[][])
See Also:
ADN1cible.comparaison_palindrome(Palindrome1cible[], Palindrome1cible[]), ADN1cible.resultat_commun(Vector)

traitement_Incompatibilite

private static java.util.Vector traitement_Incompatibilite(Palindrome1cible[] tabPalCible,
                                                           boolean plusieurs_resultats,
                                                           double incertitude,
                                                           int nb_prediction,
                                                           int nb_prediction_max)
"Following methods sorted by use order in ADN1 Class". (1)
"This method is about incompatibility between palindromes of same sequence, sorting palindromes by relevance (single and double mutations) then removing every palindrome incompatible with previous more relevant.
This method return a table of palindromes compatibles together.
notice problem when AAAAAAAAAAAUUUUUUUUUUUU as incompatibvility remove palindromes 2 by 2. "
The number of choices is important for the number of structures to get...

Parameters:
tabPalCible - (Palindrome1cible[])
plusieurs_resultats - (boolean) much results
incertitude - (double) lack of precision
nb_prediction - (int) number of predictions
nb_prediction_max - (int) maximum number of predictions
Returns:
(Vector) vector of tables of palindromes (structure = table)
See Also:
recherche_Palindrome(ADN1cible, int, int, int, ADN1test[], int, int, boolean, int)

incompatibilite_plusieurs_choix

private static void incompatibilite_plusieurs_choix(java.util.Vector listeTabPal,
                                                    int pos_tab,
                                                    int i,
                                                    int j,
                                                    double incertitude,
                                                    boolean plusieurs_resultats,
                                                    int nb_prediction_max)
"Following methods sorted by use order in ADN1 Class". (2)
Much choices to treat incompatibility.

Parameters:
listeTabPal - (Vector)
pos_tab - (int) position in table
i - (int)
j - (int)
incertitude - (double)
plusieurs_resultats - (boolean)
nb_prediction_max - (int) maximum number of predictions
See Also:
traitement_Incompatibilite(Palindrome1cible[], boolean, double, int, int)

incompatibilite_un_choix

private static Palindrome1cible[] incompatibilite_un_choix(Palindrome1cible[] tabPalCibleTrier,
                                                           int i,
                                                           int j)
"Following methods sorted by use order in ADN1 Class". (3)
One choice in incompatibility to structure.

Parameters:
tabPalCibleTrier - (Palindrome1cible[])
i - (int)
j - (int)
Returns:
(Vector) vector of tables of palindromes (structure = table)
See Also:
Palindrome1cible.traitement_Incompatibilite(Palindrome1cible[], boolean, double, int, int), Palindrome1cible.incompatibilite_plusieurs_choix(Vector, int, int, int, double, boolean, int)

trier_Palindrome_Comp

private static Palindrome1cible[] trier_Palindrome_Comp(Palindrome1cible[] tabPal)
"Following methods sorted by use order in ADN1 Class". (4)
"This method sort palindromes found at step i of target sequence from their relevance
This method is used by the method that search compatible palindromes. "

Parameters:
tabPal - (Palindrome1cible[])
Returns:
(Palindrome1cible[])
See Also:
traitement_Incompatibilite(Palindrome1cible[], boolean, double, int, int)

est_Compatible

private static boolean est_Compatible(Palindrome1cible pal1,
                                      Palindrome1cible pal2)
Deprecated. converted and put into PalindromeCible : PalindromeCible.est_Compatible(PalindromeCible, PalindromeCible)

"Following methods sorted by use order in ADN1 Class". (5)
"To know if two palindromes are compatibles"
After reading the code, not sure that fully correct...

Parameters:
pal1 - (Palindrome1cible)
pal2 - (Palindrome1cible)
Returns:
(boolean) compatible or not
See Also:
incompatibilite_plusieurs_choix(Vector, int, int, int, double, boolean, int), incompatibilite_un_choix(Palindrome1cible[], int, int)

mettre_etoile

public void mettre_etoile(ADN1cible target,
                          int pos_struct)
Deprecated. converted and put into SequenceCible : SequenceCible.mettre_etoile(PalindromeCible[])

PSEUDOKNOTS SEARCH
"This method to put stars (*) in found palindromes in aim to find pseudoknots)"

Parameters:
target - (ADN1cible)
pos_struct - (int)
See Also:
recherche_Pseudonoeud(ADN1cible, Base[], ADN1test[], boolean, int, int), calcul_Resultat(ADN1cible, ADN1test[], int, boolean, boolean), Interface5.setInterface(ADN1cible, ADN1test[], int, int, int, int, int)

getRecordingStructures

public PalindromeListeListe getRecordingStructures(Sequence target)
To get the recording structure in a good conversion format.
Conversion and settings.

Parameters:
target - (Sequence) To compute Lmin from length and set main sequence.
Returns:
(PalindromeListeListe)
See Also:
getRecordingStructures(ADN1cible), AloneProcessus.avance()

getRecordingStructures

private PalindromeListeListe getRecordingStructures(ADN1cible target)
To get the recording structure in a good conversion format.
Conversion and settings.

Parameters:
target - (ADN1cible) To compute Lmin from length
Returns:
(PalindromeListeListe)
See Also:
getRecordingStructures(Sequence)

computing

public void computing(java.util.Vector tabsadn,
                      ADN1cible target,
                      boolean morePrediction,
                      boolean searchPseudoknots)
Computing the main algorithm made by Stefan Engelen.
Result is structures contained by adncible.
Not static because of need of some parameters in Processsus.
Conversion and settings.

Parameters:
tabsadn - (Vector) Vector of tabs of ADN1tests, target at position 0 !
target - (ADN1cible) target sequence
morePrediction - (boolean) if more than one structure as result or not
searchPseudoknots - (boolean) Searching pseudoknots or not
See Also:
OriginAlgoStefanConverter.conversionFrom(SequenceListe[]), getRecordingStructures(ADN1cible), OriginAlgoStefanConverter.getScreenToSee(Vector, ADN1cible, OriginAlgorithmsStefan, boolean), OriginAlgoStefanConverter.getScreenToSeeHTML(Vector, ADN1cible, OriginAlgorithmsStefan, boolean)