ca.cas.painting
Interface Paint

All Known Implementing Classes:
WholeChromPaint

public interface Paint

Interface encapsulates the behavior of the chromatin painting as a means of translating from the chromatin edges of an AbGraph to the Fragments of a Final Pattern. It also contains methods for determining basic properties of final patterns, such as when two adjacent fragments are indistinguishable from a single, larger fragment -- that is, the break between them is cryptic. The Paint interface also indicates when a Fragment is counterstained and whether a whole final chromosome appears whole.


Method Summary
 Fragment agglomerate(Fragment first, Fragment second)
          if the two fragments occur in sequence in a final pattern, is the break be cryptic? if not, then the method returns null.
 boolean appearsWhole(FPChrom fpchrom)
          does the final chromosome appear like a whole chromosome? For instance, in mFISH, if the break restituted, or an exchange occured between homologues the final chromosome will appear uneffected.
 boolean counterstain()
          returns true if the paint uses a counterstain
 boolean isCounterstained(Fragment frag)
          should always return false if counterstain == false.
 boolean isOriented()
          returns true if the Painting scheme is oriented.
 Fragment paint(AbEdge chrom_edge)
          returns the same result as paint(chrom_edge.getSource(), chrom_edge.getTarget())
 Fragment paint(AbVertex start_vertex, AbVertex end_vertex)
          returns a Fragment object associated to the length of chromatin between start_vertex and end_vertex.
 boolean trackCentromeres()
          returns true if the Paint records centromeres
 

Method Detail

isOriented

boolean isOriented()
returns true if the Painting scheme is oriented. For instance, FISH is unoreinted, but banding is oriented. In particular, if paint(AbVertex, AbVertex) is independent of the order then the Paint is unoriented.

Returns:
true if the Paint is oriented, else false.

trackCentromeres

boolean trackCentromeres()
returns true if the Paint records centromeres

Returns:
true if the paint records centromere, else false.

counterstain

boolean counterstain()
returns true if the paint uses a counterstain

Returns:
true if the paint uses a counterstain, else false.

paint

Fragment paint(AbEdge chrom_edge)
returns the same result as paint(chrom_edge.getSource(), chrom_edge.getTarget())

Parameters:
chrom_edge - chromatin edge
Returns:
painted version of chromatin edge

paint

Fragment paint(AbVertex start_vertex,
               AbVertex end_vertex)
returns a Fragment object associated to the length of chromatin between start_vertex and end_vertex. If the vertices are not on the same chromosome, then the method returns null

Parameters:
start_vertex -
end_vertex -
Returns:
the painted fragment version of the edge that would lie between start and end vertices, null if no such fragment exists.

agglomerate

Fragment agglomerate(Fragment first,
                     Fragment second)
if the two fragments occur in sequence in a final pattern, is the break be cryptic? if not, then the method returns null. if it is, then the method returns the agglomerated single Fragment that would be formed.

Parameters:
first - first fragment
second - second fragment
Returns:
if the break between the two fragments is cryptic, returns the single agglomerated fragment, else, returns false.

appearsWhole

boolean appearsWhole(FPChrom fpchrom)
does the final chromosome appear like a whole chromosome? For instance, in mFISH, if the break restituted, or an exchange occured between homologues the final chromosome will appear uneffected. In particular, this will happen if fpchrom is a single fragment with one color and one centromere and not a ring.

Parameters:
fpchrom - final pattern chromosome
Returns:
true if the chromosome appears whole, else false.

isCounterstained

boolean isCounterstained(Fragment frag)
should always return false if counterstain == false. Otherwise, returns true if the fragment is counterstained.

Parameters:
frag - fragment
Returns:
true if counterstain == true and fragment has counterstained label.