public static class Motif.Branch extends java.lang.Object implements IMotif
getDomain(nuc)
with getHelix(nuc)
for any nucleotide 'nuc' in 'H'.
For a bimolecular base helix the definition becomes more complicated, and the choice of which side of the
helix to include becomes arbitrary, leading to two possible branches, both with the same base:
'N5' 'N3'
|'H'|
S1 5'.....GCAUG.....3'
S2 (left).....CGUAC.....(right) Note: S2 can be aligned parallel or anti-parallel to S1
| | so "left" can be 5' for parallel or 3' for anti-parallel.
'N5P' 'N3P'
B1 --------->
B2 <---------
Let 'H' be the base helix, 'S1' the strand with the lower index, and 'S2' the other strand.
Let 'N5' be the 5'-most nucleotide on S1 that is in H and 'N3' the 3'-most nucleotide on 'S1' that is in 'H'.
Let 'N5P' be the nucleotide paired with N5 and N3P the one paired with N3.
Note that N5P and N3P are both on S2, but the alignment of S1 with respect to S1 could be anti-parallel
(which places N3P closer to the 5' end of S2 than N5P) or parallel (in which case N5P is on 5' side of N3P).
The two possible branches based at H are:
B1: All nucleotides in H and all nucleotides on the 3' side of N3 on S1 and to the right* of N3P on S2.
B2: All nucleotides in H and all nucleotides on the 5' side of N5 on S1 and to the left* of N5P on S2.
* The terms "right" and "left" depend on the alignment of S2 with respect to S1:
For S2-parallel: "right" means the 3' side whereas "left" means the 5' side.
For S2-anti-parallel: the above definitions are reversed -- "right" means 5' and "left" means 3'.Modifier and Type | Field and Description |
---|---|
private Motif.Helix |
base |
private boolean |
isLowerBranch |
Constructor and Description |
---|
Branch() |
Branch(Motif.Helix base,
boolean isLowerBranch) |
Branch(Nuc n)
Creates a unimolecular branch that extends from the specified nucleotide to its pair.
|
Modifier and Type | Method and Description |
---|---|
Motif.Helix |
getBaseHelix() |
java.util.Collection<Nuc> |
getBases()
Get a set of all nucleotides included in the group.
|
static Motif.Branch |
getBranch(Nuc nuc)
Return the smallest branch that contains nuc or null if nuc is
not contained in any branch (e.g.
|
boolean |
isHybrid() |
boolean |
isParallel() |
void |
validate() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
iterator, transformAll
private Motif.Helix base
private boolean isLowerBranch
public Branch()
public Branch(Motif.Helix base, boolean isLowerBranch)
public Branch(Nuc n)
n
- A nucleotide in the base helix of a unimolecular branch.public Motif.Helix getBaseHelix()
public java.util.Collection<Nuc> getBases()
public static Motif.Branch getBranch(Nuc nuc)
nuc
- public boolean isHybrid()
public boolean isParallel()
public void validate()