def test_compute_state_sequence():
    from openalea.sequence_analysis import HiddenSemiMarkov
    seq = Sequences(str(get_shared_data("wij1.seq")))
    hsmc0 = HiddenSemiMarkov(str(get_shared_data("wij1.hsc")))
    ComputeStateSequences(seq,
                          hsmc0,
                          Algorithm="ForwardBackward",
                          Characteristics=True)
 def create_data(self):
     hsmc0 = HiddenSemiMarkov(get_shared_data("belren1.hsc"))
     hsmc1 = HiddenSemiMarkov(get_shared_data("elstar1.hsc"))
     seq0 = Sequences(get_shared_data("belren1.seq"))
     seq1 = Sequences(get_shared_data("elstar1.seq"))
     data0 = Estimate(seq0, "HIDDEN_SEMI-MARKOV", hsmc0)
     data1 = Estimate(seq1, "HIDDEN_SEMI-MARKOV", hsmc1)
     return [seq0, seq1, data0, data1]
 def create_data(self):
     hsmc0 = HiddenSemiMarkov(get_shared_data( "belren1.hsc"))
     hsmc1 = HiddenSemiMarkov(get_shared_data("elstar1.hsc"))
     seq0 = Sequences(get_shared_data( "belren1.seq"))
     seq1 = Sequences(get_shared_data( "elstar1.seq"))
     data0 = Estimate(seq0, "HIDDEN_SEMI-MARKOV", hsmc0)
     data1 = Estimate(seq1, "HIDDEN_SEMI-MARKOV", hsmc1)
     return [seq0, seq1, data0, data1]
Example #4
0
def test_exploratory():
    seq19 = Sequences(get_shared_data( "dupreziana_20a2.seq"))
    seq20 = RemoveRun(seq19, 0, "End")
    histo201 = ExtractHistogram(seq20, "Recurrence", 1)
    histo202 = ExtractHistogram(seq20, "Recurrence", 2)

    seq38 = Sequences(get_shared_data( "dupreziana_40a2.seq"))
    seq39 = RemoveRun(seq38, 2, 0, "End")
    seq40 = SegmentationExtract(seq39, 1, 2)
    histo401 = ExtractHistogram(seq40, "Recurrence", 1)
    histo402 = ExtractHistogram(seq40, "Recurrence", 2)

    seq58 = Sequences(get_shared_data( "dupreziana_60a2.seq"))
    seq59 = RemoveRun(seq58, 2, 0, "End")
    seq60 =  LengthSelect(SegmentationExtract(seq59, 1, 2), 1, Mode="Reject")
    histo601 = ExtractHistogram(seq60, "Recurrence", 1)
    histo602 = ExtractHistogram(seq60, "Recurrence", 2)

    seq78 = Sequences(get_shared_data( "dupreziana_80a2.seq"))
    seq79 = RemoveRun(seq78, 2, 0, "End")
    seq80 = SegmentationExtract(seq79, 1, 2)
    histo801 = ExtractHistogram(seq80, "Recurrence", 1)
    histo802 = ExtractHistogram(seq80, "Recurrence", 2)


    Plot(histo201, histo401, histo601, histo801)
    Plot(histo202, histo402, histo602, histo802)
    Plot(ExtractHistogram(seq20, "Length"), ExtractHistogram(seq40, "Length"), ExtractHistogram(seq60, "Length"), ExtractHistogram(seq80, "Length"))
    
    seq10 = Merge(seq20, seq40, seq60, seq80)
    Display(seq10, ViewPoint="Data")
    #Plot(seq10, "Intensity")
    #Plot(seq10, "Recurrence")
    #Plot(seq10, "Sojourn")

    # plot of a sample Spearman (rank based) autocorrelation function

    Plot(ComputeCorrelation(seq10, Type="Spearman", MaxLag=15, Normalization="Exact"))

    seq11 = Transcode(seq10, [0, 1, 0])
    seq12 = Transcode(seq10, [0, 0, 1])
    acf1 = Merge(ComputeCorrelation(seq11, MaxLag=15, Normalization="Exact"),\
             ComputeCorrelation(seq12, MaxLag=15, Normalization="Exact"))
    Plot(acf1)
    Display(acf1)

    acf2 = Merge(ComputeCorrelation(seq11, Type="Spearman", MaxLag=15, Normalization="Exact"),\
             ComputeCorrelation(seq12, Type="Spearman", MaxLag=15, Normalization="Exact"))
    acf3 = Merge(ComputeCorrelation(seq11, Type="Kendall", MaxLag=15),\
             ComputeCorrelation(seq12, Type="Kendall", MaxLag=15))
def CorrelationData(index=1):
    """Returns a correlation

    index from 1 to 3"""
    seq66 = Sequences(get_shared_data("laricio_date66.seq"))
    ret = ComputeCorrelation(seq66, index)
    return ret
 def create_data(self):
     seq0 = Sequences(get_shared_data("chene_sessile_15pa.seq"))
     vec10 = Vectors(seq0)
     vec95 = ValueSelect(vec10, 1, 95)
     vec96 = ValueSelect(vec10, 1, 96)
     vec97 = ValueSelect(vec10, 1, 97)
     return [vec95, vec96, vec97]
    def build_data(self):
        """todo: check identifier output. should be a list """
        # build a list of 2 sequences with a variable that should be identical
        # to sequences1.seq
        hvom =  HiddenVariableOrderMarkov(str(get_shared_data('dupreziana21.hc')))

        return hvom
 def create_data(self):
     seq0 = Sequences(get_shared_data( "chene_sessile_15pa.seq"))
     vec10 = Vectors(seq0)
     vec95 = ValueSelect(vec10, 1, 95)
     vec96 = ValueSelect(vec10, 1, 96)
     vec97 = ValueSelect(vec10, 1, 97)
     return [vec95, vec96, vec97]
def test_transition_count():
    seq = Sequences(str(get_shared_data("wij1.seq")))
    TransitionCount(seq,
                    5,
                    Begin=True,
                    Estimator="MaximumLikelihood",
                    Filename="ASCII")
Example #10
0
 def build_data(self):
     """todo: check identifier output. should be a list """
     # build a list of 2 sequences with a variable that should be identical
     # to sequences1.seq
     hsm = HiddenSemiMarkov(
         str(get_shared_data('test_hidden_semi_markov.dat')))
     return hsm
 def __init__(self):
     interface.__init__(self,
                        self.build_data(),
                        str(get_shared_data("sequences1.seq")),
                        Sequences)
     self.seqn = self.build_seqn()
     self.seq1 = self.build_seq1()
    def create_sequence_data(self):

        seq66 = Sequences(get_shared_data( "laricio_date66.seq"))
        seq69 = MovingAverage(VariableScaling(seq66, 3, 100),
                          Distribution("B", 0, 6, 0.5), BeginEnd=True,
                          Output="Residual")
        return seq69
def test_select_step():
    """
    #########################################################################
    #
    #  Well-log data; used in Fearnhead and Clifford "On-line Inference for 
    #  Hidden Markov Models via Particle Filters". Measurements of Nuclear-response
    #  of a well-bore over time. Data from O Ruanaidh, J. J. K. and 
    #  Fitzgerald, W. J. (1996). "Numerical Bayesion Methods Applied to Signal 
    #  Processing". New York: Springer.
    #
    #########################################################################
    """
    seq1 = Sequences(str(get_shared_data( "well_log_filtered.seq")))
    Plot(seq1, ViewPoint="Data")
    Plot(seq1)

    SelectStep(seq1, 1000)
    Plot(seq1)

    #Display(seq1, 1, 17, "Gaussian", ViewPoint="SegmentProfile", NbSegmentation=5)
    Plot(seq1, 1, 17, "Gaussian", ViewPoint="SegmentProfile")

    # seq20 = Segmentation(seq1, 1, 20, "Gaussian")
    # seq40 = Segmentation(seq1, 1, 40, "Gaussian")

    # seq20 = Segmentation(seq1, 1, 20, "Mean")
    # seq40 = Segmentation(seq1, 1, 40, "Mean")

    # seq16 = Segmentation(seq1, 1, 16, "Gaussian", NbSegment->"Fixed")

    vec1 = Vectors(seq1)
    Plot(vec1)

    SelectStep(vec1, 1000)
    Plot(vec1)
def CorrelationData(index=1):
    """Returns a correlation

    index from 1 to 3"""
    seq66 = Sequences(get_shared_data( "laricio_date66.seq"))
    ret = ComputeCorrelation(seq66, index)
    return ret
def test_select_step():
    """
    #########################################################################
    #
    #  Well-log data; used in Fearnhead and Clifford "On-line Inference for 
    #  Hidden Markov Models via Particle Filters". Measurements of Nuclear-response
    #  of a well-bore over time. Data from O Ruanaidh, J. J. K. and 
    #  Fitzgerald, W. J. (1996). "Numerical Bayesion Methods Applied to Signal 
    #  Processing". New York: Springer.
    #
    #########################################################################
    """
    seq1 = Sequences(str(get_shared_data("well_log_filtered.seq")))
    Plot(seq1, ViewPoint="Data")
    Plot(seq1)

    SelectStep(seq1, 1000)
    Plot(seq1)

    #Display(seq1, 1, 17, "Gaussian", ViewPoint="SegmentProfile", NbSegmentation=5)
    Plot(seq1, 1, 17, "Gaussian", ViewPoint="SegmentProfile")

    # seq20 = Segmentation(seq1, 1, 20, "Gaussian")
    # seq40 = Segmentation(seq1, 1, 40, "Gaussian")

    # seq20 = Segmentation(seq1, 1, 20, "Mean")
    # seq40 = Segmentation(seq1, 1, 40, "Mean")

    # seq16 = Segmentation(seq1, 1, 16, "Gaussian", NbSegment->"Fixed")

    vec1 = Vectors(seq1)
    Plot(vec1)

    SelectStep(vec1, 1000)
    Plot(vec1)
    def build_data(self):
        """todo: check identifier output. should be a list """
        # build a list of 2 sequences with a variable that should be identical
        # to sequences1.seq
        hvom = HiddenVariableOrderMarkov(
            str(get_shared_data('dupreziana21.hc')))

        return hvom
    def create_sequence_data(self):

        seq66 = Sequences(get_shared_data("laricio_date66.seq"))
        seq69 = MovingAverage(VariableScaling(seq66, 3, 100),
                              Distribution("B", 0, 6, 0.5),
                              BeginEnd=True,
                              Output="Residual")
        return seq69
def test1():
    """FIXME markovian_sequences call"""
    seq69 = Sequences(get_shared_data("pin_laricio_7x.seq"))
    a = IndexParameterExtract(seq69, 1929)
    b = IndexParameterExtract(seq69, 1929, 1994)
    c = seq69.index_parameter_extract(1929, -1).markovian_sequences()
    d = seq69.index_parameter_extract(1929, 1994).markovian_sequences()
    assert str(a) == str(c)
    assert str(b) == str(d)
 def test_spearman(self):
     seq = Sequences(get_shared_data( "laricio_date66.seq"))
     ComputeCorrelation(seq, 1, Type="Spearman")
     ComputeCorrelation(seq, 1, 2,Type="Spearman")
     try:
         dummy = 3
         ComputeCorrelation(seq, 1, 2, dummy, Type="Spearman")
     except:
         assert True
 def test_spearman(self):
     seq = Sequences(get_shared_data("laricio_date66.seq"))
     ComputeCorrelation(seq, 1, Type="Spearman")
     ComputeCorrelation(seq, 1, 2, Type="Spearman")
     try:
         dummy = 3
         ComputeCorrelation(seq, 1, 2, dummy, Type="Spearman")
     except:
         assert True
#  Data: Celine Meredieu and Yves Caraglio
#
#  VARIABLE 1 : year of growth (explicit index parameter),
#  VARIABLE 2 : length of the annual shoot (mm),
#  VARIABLE 3 : number of  branches per annual shoot / tier.
#
#########################################################################
"""
__revision__ = "$Id$"


from openalea.sequence_analysis import *
from openalea.sequence_analysis.compare import Compare as Compare
from openalea.sequence_analysis import get_shared_data

seq66 = Sequences(get_shared_data("laricio_date66.seq"))
Plot(seq66, ViewPoint="Data")
#Plot(Cumulate(seq66), ViewPoint="Data")

vec66 = Vectors(seq66)
regress66_1 = Regression(vec66, "MovingAverage", 1, 2, [1])
Plot(regress66_1)
regress66_2 = Regression(vec66, "MovingAverage", 1, 3, [1])

regress66_23 = Regression(vec66, "NearestNeighbours", 2, 3, 0.3)
Display(regress66_23)
Plot(regress66_23)

vec70 =  Vectors(SelectIndividual(seq66, [1, 2, 3]))
regress70_1 = Regression(vec70, "MovingAverage", 1, 2, [1])
Plot(regress70_1)
 def create_data(self):
     conv = Convolution(str(get_shared_data('test_convolution1.conv')))
     return conv.simulate(1000)
""" Difference tests

.. author:: Thomas Cokelaer, [email protected]

 
"""
__revision__ = "$Id$"


from openalea.sequence_analysis.data_transform import Difference
from openalea.sequence_analysis import Sequences, get_shared_data

seq1 = Sequences(get_shared_data("sequences1.seq"))
seqn = Sequences(get_shared_data("sequences2.seq"))


def test_difference1():
    """difference test to finalise"""
    data = seq1
    res = Difference(data,1)
    assert str(res)==str(data.difference(1, False))
    assert res.cumul_length == 50

def test_difference1_first_element():
    """difference test to finalise"""
    data = seq1
    res = Difference(data,1, True)
    assert str(res)==str(data.difference(1, True))
    assert res.cumul_length == 52

def test_differencen():
 def __init__(self):
     interface.__init__(self,
                        self.build_data(),
                        get_shared_data("test_nonhomogeneous.dat"),
                        NonhomogeneousMarkov)
Example #25
0
 def __init__(self):
     interface.__init__(self,
                        self.build_data(),
                        str(get_shared_data("test_variable_order_markov.dat")),
                        VariableOrderMarkov)
 def test_initial_run(self):
     from openalea.sequence_analysis import ComputeInitialRun
     #markovian sequences
     data = Sequences(str(get_shared_data('vanille_m.seq')))
     ComputeInitialRun(data)
 def build_data(self):
     sm =  NonhomogeneousMarkov(get_shared_data('test_nonhomogeneous.dat'))
     return sm
 def create_data(self):
     data = Sequences(str(get_shared_data('sequences2.seq')))
     return data
from openalea.sequence_analysis import *
from openalea.sequence_analysis.estimate import  Estimate
from openalea.sequence_analysis import get_shared_data
seq0 = Sequences(get_shared_data("chene_sessile_15pa.seq"))

Plot(seq0, ViewPoint="Data")
Example #30
0
""" Cumulate tests

.. author:: Thomas Cokelaer, [email protected]

.. todo : in general, variable index starts at 1 when calling Cumulate!
Do we want to start at 0 ? Since later on, python calls will 
start the index at 0 ?
 
"""
__revision__ = "$Id$"

from openalea.sequence_analysis.data_transform import Cumulate
from openalea.sequence_analysis import get_shared_data
from openalea.sequence_analysis import Sequences

seqn = Sequences(get_shared_data("sequences2.seq"))
seq1 = Sequences(get_shared_data("sequences1.seq"))


def test_cumulate1():
    data = seq1
    a = Cumulate(data)
    b = data.cumulate(1).markovian_sequences()

    assert str(a) == str(b)
    assert a.get_max_value(0) == 29
    assert b.get_max_value(0) == 29

    assert data.get_max_value(0) == 2

 def create_data(self):
     comp = Compound(str(get_shared_data('test_compound1.cd')))
     return comp.simulate(1000)
Example #32
0
def test_get_shared_data():
    from openalea.sequence_analysis.sequences import Sequences
    seq = Sequences(str(get_shared_data('wij1.seq')))
Example #33
0
def VariableOrderMarkovData():
    sm =  VariableOrderMarkov(str(get_shared_data('test_variable_order_markov.dat')))
    ret = Simulate(sm, 1, 1000, True)
    return sm
 def __init__(self):
     interface.__init__(
         self, self.build_data(), str(get_shared_data("test_hidden_semi_markov.dat")), HiddenSemiMarkov
     )
Example #35
0
    def build_data(self):
        seq = Sequences(str(get_shared_data("belren1.seq")))
        vom = Estimate(seq, "VARIABLE_ORDER_MARKOV", "Ordinary",
                        MaxOrder=4, GlobalInitialTransition=False)

        return vom
 def __init__(self):
     self.data = Sequences(str(get_shared_data("sequences1.seq")))
def NonhomogeneousMarkovData():
    seq =  Sequences(get_shared_data('vanille_m.seq'))
    mc_m = Estimate(seq_m, "NONHOMOGENEOUS_MARKOV", "MONOMOLECULAR", "VOID")
    return mc_m
Example #38
0
""" functional tests

"""
__revision__ = "$Id$"

from openalea.sequence_analysis import *
from openalea.sequence_analysis.estimate import Estimate
from openalea.sequence_analysis.compare import Compare
from openalea.sequence_analysis import get_shared_data

seq20 = Sequences(get_shared_data("belren1.seq"))
seq21 = Sequences(get_shared_data("elstar1.seq"))
seq22 = Sequences(get_shared_data("fuji1.seq"))
seq23 = Sequences(get_shared_data("gala1.seq"))
seq24 = Sequences(get_shared_data("granny1.seq"))
seq25 = Sequences(get_shared_data("reinet1.seq"))
seq26 = Sequences(get_shared_data("wij1.seq"))

Display(seq25, ViewPoint="Data")
Plot(seq25, "Intensity")
Plot(seq25, "Sojourn")

seq26 = Reverse(seq25)
Plot(seq26, "Intensity")
Plot(seq26, "FirstOccurrence")

# Sojourn time (run length) distributions

seq30 = Merge(seq20, seq21, seq22, seq23, seq24, seq25)
Plot(seq30, "Sojourn")
Plot(ExtractHistogram(seq30, "Sojourn", 1),
#
#  Data: Daniel Barthelemy
#
#  VARIABLE 1 : phyllotaxis (number of leaves per node),
#  VARIABLE 2 : number of offspring shoots per node.
#
#########################################################################
"""
__revision__ = "$Id$"

from openalea.sequence_analysis import *
from openalea.sequence_analysis.compare import Compare as Compare
from openalea.sequence_analysis import get_shared_data


seq1 = Sequences(get_shared_data( "dupreziana_a1.seq"))

Display(seq1, ViewPoint="Data", Format="Line")

vec20 = MergeVariable(ExtractVectors(seq1, "NbOccurrence", 1, 3), ExtractVectors(seq1, "Length"))
Display(vec20)
#todo 
#Plot(vec20,1)
Plot(vec20)

seq2 = Shift(seq1, 1, -3)

seq3 = SegmentationExtract(seq1, 1, 3)
seq4 = SegmentationExtract(seq1, 1, 4)
Plot(ExtractHistogram(seq3, "Recurrence", 1), ExtractHistogram(seq4, "Recurrence", 1))
Plot(ExtractHistogram(seq3, "Sojourn", 1), ExtractHistogram(seq4, "Sojourn", 1))
Example #40
0
#
#  1st annual shoot of apple tree trunks
#
#  Data: Evelyne Costes
#
#  VARIABLE 1 : type of axillary production (0: latent bud, 1: one-year-delayed short shoot,
#               2: one-year-delayed long shoot, 3: one-year-delayed flowering shoot,
#               4: immediate shoot).
#
#########################################################################
"""
__revision__ = "$Id$"
from openalea.sequence_analysis import *
from openalea.sequence_analysis import get_shared_data

seq20 = Sequences(get_shared_data("belren1.seq"))
seq21 = Sequences(get_shared_data("elstar1.seq"))
seq22 = Sequences(get_shared_data("fuji1.seq"))
seq23 = Sequences(get_shared_data("gala1.seq"))
seq24 = Sequences(get_shared_data("granny1.seq"))
seq25 = Sequences(get_shared_data("reinet1.seq"))

Display(seq25, ViewPoint="Data")
Plot(seq25, "Intensity")
Plot(seq25, "Sojourn")

seq26 = Reverse(seq25)
Plot(seq26, "Intensity")
Plot(seq26, "FirstOccurrence")

# Sojourn time (run length) distributions
 def _test_constructor_from_file2(self):
     hmc = HiddenSemiMarkov(str(get_shared_data("test_hidden_markov.hmc")))
     assert hmc
 def create_data(self):
     return Histogram(str(get_shared_data('fagus1.his')))
 def _test_sequences_2(self):
     seq1 = Sequences(str(get_shared_data("sequences2.seq")))
     seq2 = seq1.remove_run(1, 0, "e", 2)
     seq3 = RemoveRun(seq1, 1, 0, "e", 2)
     assert str(seq3) == str(seq2)
#  VARIABLE 1 : year of growth (95, 96, 97) (index parameter of sequences)
#  VARIABLE 2 : length of the annual shoot (cm)
#  VARIABLE 3 : diameter of the annual shoot (1/10 de mm)
#  VARIABLE 4 : number of cycles
#  VARIABLE 5 : number of nodes
#  VARIABLE 6 : number de branches
#
#########################################################################
"""
__revision__ = "$Id$"

from openalea.sequence_analysis import *
from openalea.sequence_analysis.estimate import Estimate
from openalea.sequence_analysis import get_shared_data

seq0 = Sequences(get_shared_data("chene_sessile_15pa.seq"))
Plot(seq0, ViewPoint="Data")

# change of unit for the variable diameter of the annual shoot

marginal3 = ExtractHistogram(seq0, "Value", 3)
Plot(Cluster(marginal3, "Information", 0.75))
Plot(Cluster(marginal3, "Information", 0.61))
Plot(Cluster(marginal3, "Step", 10))

vec10 = Vectors(seq0)

# plot of the average sequence
Plot(Regression(vec10, "MovingAverage", 1, 2, [1]))

vec95 = ValueSelect(vec10, 1, 95)
 def __init__(self):
     self.data = Sequences(str(get_shared_data("sequences1.seq")))
Example #46
0
""" functional tests


.. todo:: to be done
"""
__revision__ = "$Id$"

import os
from openalea.stat_tool import *
from openalea.sequence_analysis import *
from openalea.sequence_analysis import get_shared_data

seq1 = Sequences(get_shared_data('dupreziana_20a2.seq'))  # correct
seq2 = RemoveRun(seq1, 1, 0, "End")  # correct

histo21 = ExtractHistogram(seq2, "Recurrence", 1)  # correct
histo22 = ExtractHistogram(seq2, "Recurrence", 2)  # correct

seq3 = Sequences(get_shared_data('dupreziana_40a2.seq'))  #correct
seq4_0 = RemoveRun(seq3, 2, 0, "End")  #correct
seq4 = SegmentationExtract(seq4_0, 1, 2)  #correct

seq5 = Sequences(get_shared_data('dupreziana_60a2.seq'))  #correct
seq6_0 = RemoveRun(seq5, 2, 0, "End")  #correct
seq6 = LengthSelect(SegmentationExtract(seq6_0, 1, 2), 1,
                    Mode="Reject")  #correct

seq7 = Sequences(get_shared_data('dupreziana_80a2.seq'))  #correct
seq8_0 = RemoveRun(seq7, 2, 0, "End")  #correct
seq8 = SegmentationExtract(seq8_0, 1, 2)  #correct
 def test_split(self):
     #markovian sequences
     data = Sequences(str(get_shared_data('vanille_m.seq')))
     Split(data, 2)
 def _test_sequences_2(self):
     seq1 = Sequences(str(get_shared_data("sequences2.seq")))
     seq2 = seq1.remove_run(1, 0,"e",2)
     seq3 = RemoveRun(seq1,1, 0,"e",2)
     assert str(seq3)==str(seq2)
def HiddenSemiMarkovData():
    hsm = HiddenSemiMarkov(str(get_shared_data("wij1.hsc")))
    return hsm
def test_compute_state_sequence():
    from openalea.sequence_analysis import HiddenSemiMarkov
    seq = Sequences(str(get_shared_data( "wij1.seq")))
    hsmc0 = HiddenSemiMarkov(str(get_shared_data(  "wij1.hsc")))
    ComputeStateSequences(seq, hsmc0, Algorithm="ForwardBackward", Characteristics=True)
 def build_data(self):
     """todo: check identifier output. should be a list """
     # build a list of 2 sequences with a variable that should be identical
     # to sequences1.seq
     hsm = HiddenSemiMarkov(str(get_shared_data("test_hidden_semi_markov.dat")))
     return hsm
def test_transition_count():
    seq = Sequences(str(get_shared_data( "wij1.seq")))
    TransitionCount(seq, 5, Begin=True, Estimator="MaximumLikelihood",
                    Filename = "ASCII")
 def test_constructor_from_file_nonparametric1(self):
     """Read HSM model from a file with 1st nonparametric variable
     with observation distribution ending by 1e-05 """
     hmc = HiddenSemiMarkov(str(get_shared_data("test_hidden_markov_non-parametric1.hmc")))
     assert hmc
""" functional tests

"""
__revision__ = "$Id$"



from openalea.sequence_analysis import *
from openalea.sequence_analysis.estimate import  Estimate
from openalea.sequence_analysis.compare import  Compare
from openalea.sequence_analysis import get_shared_data


seq20 = Sequences(get_shared_data("belren1.seq"))
seq21 = Sequences(get_shared_data("elstar1.seq"))
seq22 = Sequences(get_shared_data("fuji1.seq"))
seq23 = Sequences(get_shared_data("gala1.seq"))
seq24 = Sequences(get_shared_data("granny1.seq"))
seq25 = Sequences(get_shared_data("reinet1.seq"))
seq26 = Sequences(get_shared_data("wij1.seq"))

Display(seq25, ViewPoint="Data")
Plot(seq25, "Intensity")
Plot(seq25, "Sojourn")

seq26 = Reverse(seq25)
Plot(seq26, "Intensity")
Plot(seq26, "FirstOccurrence")

# Sojourn time (run length) distributions