firstRNA1stBaseSecondRNA1stBaseFirstRNA2ndBaseSecondRNA2ndBase [...]
- * AAC-GUAGA--UGG
- * @param struct
- * - The super-structure
- * @param basesOwn
- * - The RNA owning bases array (each index will be:0 when common
- * base, 1 when first RNA alignment base, 2 when second RNA
- * alignment base)
- * @throws ExceptionUnmatchedClosingParentheses
- * @throws ExceptionFileFormatOrSyntax
- */
- public void setRNA(String seq, String struct, ArrayListnum
, -1
of no such base model exists.
- */
-
- public int getIndexFromBaseNumber(int num) {
- for (int i = 0; i < this._listeBases.size(); i++) {
- if (_listeBases.get(i).getBaseNumber() == num) {
- return i;
- }
- }
- return -1;
- }
-
- /**
- * Adds a base pair to this RNA's structure. Tries to add it to the
- * secondary structure first, eventually adding it to the 'tertiary'
- * interactions if it clashes with the current secondary structure.
- *
- * @param baseNumber5
- * - Base number of the origin of this base pair
- * @param baseNumber3
- * - Base number of the destination of this base pair
- */
-
- public void addBPToStructureUsingNumbers(int baseNumber5, int baseNumber3) {
- int i = getIndexFromBaseNumber(baseNumber5);
- int j = getIndexFromBaseNumber(baseNumber3);
- addBP(i, j);
- }
-
- /**
- * Adds a base pair to this RNA's structure. Tries to add it to the
- * secondary structure first, possibly adding it to the 'tertiary'
- * interactions if it clashes with the current secondary structure.
- *
- * @param number5
- * - Base number of the origin of this base pair
- * @param number3
- * - Base number of the destination of this base pair
- */
-
- public void addBPToStructureUsingNumbers(int number5, int number3,
- ModeleBP msbp) {
- addBP(getIndexFromBaseNumber(number5), getIndexFromBaseNumber(number3),
- msbp);
- }
-
- public void addBP(int index5, int index3) {
- int i = index5;
- int j = index3;
- ModeleBase part5 = _listeBases.get(i);
- ModeleBase part3 = _listeBases.get(j);
- ModeleBP msbp = new ModeleBP(part5, part3);
- addBP(i, j, msbp);
- }
-
- public void addBP(int index5, int index3, ModeleBP msbp) {
- int i = index5;
- int j = index3;
-
- if (j < i) {
- int k = j;
- j = i;
- i = k;
- }
- if (i != -1) {
- for (int k = i; k <= j; k++) {
- ModeleBase tmp = _listeBases.get(k);
- int l = tmp.getElementStructure();
- if (l != -1) {
- if ((l <= i) || (l >= j)) {
- addBPAux(i, j, msbp);
- return;
- }
- }
- }
- addBPnow(i, j, msbp);
- }
- }
-
- public void removeBP(ModeleBP ms) {
- if (_structureAux.contains(ms)) {
- _structureAux.remove(ms);
- } else {
- ModeleBase m5 = ms.getPartner5();
- ModeleBase m3 = ms.getPartner3();
- int i = m5.getIndex();
- int j = m3.getIndex();
- if ((m5.getElementStructure() == m3.getIndex())
- && (m3.getElementStructure() == m5.getIndex())) {
- m5.removeElementStructure();
- m3.removeElementStructure();
- }
- }
- }
-
- /**
- * Register base-pair, no question asked. More precisely, this function will
- * not try to determine if the base-pairs crosses any other.
- *
- * @param i
- * @param j
- * @param msbp
- */
- private void addBPNow(int i, int j) {
- if (j < i) {
- int k = j;
- j = i;
- i = k;
- }
-
- ModeleBase part5 = _listeBases.get(i);
- ModeleBase part3 = _listeBases.get(j);
- ModeleBP msbp = new ModeleBP(part5, part3);
- addBPnow(i, j, msbp);
- }
-
- /**
- * Register base-pair, no question asked. More precisely, this function will
- * not try to determine if the base-pairs crosses any other.
- *
- * @param i
- * @param j
- * @param msbp
- */
- private void addBPnow(int i, int j, ModeleBP msbp) {
- if (j < i) {
- int k = j;
- j = i;
- i = k;
- }
- ModeleBase part5 = _listeBases.get(i);
- ModeleBase part3 = _listeBases.get(j);
- msbp.setPartner5(part5);
- msbp.setPartner3(part3);
- part5.setElementStructure(j, msbp);
- part3.setElementStructure(i, msbp);
- }
-
- public void addBPAux(int i, int j) {
- ModeleBase part5 = _listeBases.get(i);
- ModeleBase part3 = _listeBases.get(j);
- ModeleBP msbp = new ModeleBP(part5, part3);
- addBPAux(i, j, msbp);
- }
-
- public void addBPAux(int i, int j, ModeleBP msbp) {
- if (j < i) {
- int k = j;
- j = i;
- i = k;
- }
- ModeleBase part5 = _listeBases.get(i);
- ModeleBase part3 = _listeBases.get(j);
- msbp.setPartner5(part5);
- msbp.setPartner3(part3);
- _structureAux.add(msbp);
- }
-
- public ArrayListindex
. Indices are contiguous in
- * the sequence over an interval [0,this.getSize()-1]
, where
- * n
is the length of the sequence.
- *
- * @param index
- * The index, 0 ≤ index < this.getSize()
, of the
- * base model
- * @return The base model of index index
- */
- public ModeleBase getBaseAt(int index) {
- return this._listeBases.get(index);
- }
-
- /**
- * Returns the set of bases of indices in indices
. Indices are
- * contiguous in the sequence, and belong to an interval
- * [0,n-1]
, where n
is the length of the sequence.
- *
- * @param indices
- * A Collection of indices i
,
- * 0 ≤ index < this.getSize()
, where some base
- * models are found.
- * @return A list of base model of indices in indices
- */
- public ArrayListName: | " + this._name + " |
Length: | " + this.getSize() - + " nts |
Base-pairs: | " - + this.getAllBPs().size() + " |