/** Tests the calc. of a PWM on base of a motif */ public void TestConstructorMotif () { PWM pwm = new PWM( "PWM1", alpha, "A[TG]", 0.0 ); Assert.AreEqual( 100.0, pwm.Get( 'a', 0 ), 1e-3 ); Assert.AreEqual( 1.0, pwm.Get( 'c', 0 ), 1e-3 ); Assert.AreEqual( 1.0, pwm.Get( 't', 0 ), 1e-3 ); Assert.AreEqual( 1.0, pwm.Get( 'g', 0 ), 1e-3 ); Assert.AreEqual( 1.0, pwm.Get( 'a', 1 ), 1e-3 ); Assert.AreEqual( 1.0, pwm.Get( 'c', 1 ), 1e-3 ); Assert.AreEqual( 100.0, pwm.Get( 't', 1 ), 1e-3 ); Assert.AreEqual( 100.0, pwm.Get( 'g', 1 ), 1e-3 ); }
/** Tests the adding of weights as strings */ public void TestAddString () { PWM pwm = new PWM( "test", alpha, 0.0 ); pwm.Add( 'a', "1 2 3" ); pwm.Add( alpha['c'], "2 4 6" ); Assert.AreEqual( 3, pwm.WeightedVectorLength ); Assert.AreEqual( 2, pwm.SymbolNumber ); Assert.AreEqual( 1.0, pwm.Get( 'a', 0 ), 1e-3 ); Assert.AreEqual( 2.0, pwm.Get( 'a', 1 ), 1e-3 ); Assert.AreEqual( 3.0, pwm.Get( 'a', 2 ), 1e-3 ); Assert.AreEqual( 2.0, pwm.Get( 'c', 0 ), 1e-3 ); Assert.AreEqual( 4.0, pwm.Get( 'c', 1 ), 1e-3 ); Assert.AreEqual( 6.0, pwm.Get( 'c', 2 ), 1e-3 ); }
/** Tests the adding and getting of weights */ public void TestAddGet () { PWM pwm = new PWM( "test", alpha, 0.0 ); double[] w1 = { 1.0, 2.0, 3.0 }; double[] w2 = { 2.0, 4.0, 6.0 }; pwm.Add( 'a', w1 ); pwm.Add( alpha['c'], w2 ); Assert.AreEqual( w1, pwm.Get( alpha['a'] ) ); Assert.AreEqual( null, pwm.Get( alpha['z'] ) ); Assert.AreEqual( w2, pwm.Get( 'c' ) ); Assert.AreEqual( 3, pwm.WeightedVectorLength ); Assert.AreEqual( 2, pwm.SymbolNumber ); Assert.AreEqual( 1.0, pwm.Get( 'a', 0 ), 1e-3 ); Assert.AreEqual( 2.0, pwm.Get( 'a', 1 ), 1e-3 ); Assert.AreEqual( 3.0, pwm.Get( 'a', 2 ), 1e-3 ); Assert.AreEqual( 2.0, pwm.Get( 'c', 0 ), 1e-3 ); Assert.AreEqual( 4.0, pwm.Get( 'c', 1 ), 1e-3 ); Assert.AreEqual( 6.0, pwm.Get( 'c', 2 ), 1e-3 ); Assert.AreEqual( 1.0, pwm.Get( 't', 0 ), 1e-3 ); Assert.AreEqual( 2.0, pwm.Get( 't', 1 ), 1e-3 ); Assert.AreEqual( 3.0, pwm.Get( 't', 2 ), 1e-3 ); }
/** Tests the setting and getting of weights */ public void TestSetGet () { PWM pwm = new PWM( "test", alpha, 0.0 ); pwm.Add( alpha['a'], "0 0" ); pwm.Set( alpha['a'], 0, 1 ); pwm.Set( 'a', 1, 2 ); Assert.AreEqual( 1.0, pwm.Get( 'a', 0 ), 1e-3 ); Assert.AreEqual( 2.0, pwm.Get( 'a', 1 ), 1e-3 ); Assert.AreEqual( 1.0, pwm.Get( 't', 0 ), 1e-3 ); Assert.AreEqual( 2.0, pwm.Get( 't', 1 ), 1e-3 ); }