C# Class PrimerDesigner.PrimerDesignerUserControl

Interaction logic for PrimerDesignerUserControl.xaml
Inheritance: SurfaceUserControl
Show file Open project: igemsoftware/BU_Wellesley_Software_2011

Public Properties

Property Type Description
TargetGeneProperty System.Windows.DependencyProperty

Public Methods

Method Description
PrimerDesignerUserControl ( ) : System
calcDeltaG ( String s ) : Double

Calculates the deltaG value of a given String of DNA.

Private Methods

Method Description
ChangeGene ( IGene gene ) : void

Given a selected iGEM object, this method creates the Primer Designer main page with the relevant information, including the primer sequences, name, base pairs, and relevant directions. Handles the logic for creating a new gene. Params: an IGene object selected by the user

HairpinLeftButton_Click ( object sender, RoutedEventArgs e ) : void

When the LEFT hairpin button is pressed, the hairpin test is called and the display is updated accordingly.

HairpinRightButton_Click ( object sender, RoutedEventArgs e ) : void

When the RIGHT hairpin button is pressed, the hairpin test is called and the display is updated accordingly.

HeteroDimerLeftButton_Click ( object sender, RoutedEventArgs e ) : void

When the LEFT Heterodimer button is pressed, the test is called and the display is updated accordingly.

HeteroDimerRightButton_Click ( object sender, RoutedEventArgs e ) : void

When the RIGHT Heterodimer button is pressed, the test is called and the display is updated accordingly.

HideSurfaceButton_Click ( object sender, RoutedEventArgs e ) : void

When the user clicks the back button, the BLAST layer gets erased and becomes hidden.

InitializeComponent ( ) : void
LeftSurfaceButton_Click ( object sender, RoutedEventArgs e ) : void

When the user clicks the LEFT BLAST button, Primer BLAST is run and the appropriate results are displayed in a new view.

OnGeneChanged ( DependencyObject d, System.Windows.DependencyPropertyChangedEventArgs e ) : void

Is called when the value of TargetGene changes. Notice that OnGeneChanged is a static method so you won't have access to the 'this' keyword. Instead, cast the 'd' parameter to PrimerDesignerUserControl and call methods on it.

RightSurfaceButton_Click ( object sender, RoutedEventArgs e ) : void

When the user clicks the RIGHT BLAST button, Primer BLAST is run and the appropriate results are displayed in a new view.

SaveButton_Click ( object sender, RoutedEventArgs e ) : void

When the SAVE button on the BLAST display is pressed, a phrase is displayed on the surface to inform the user that their Primer has been saved. Functionality coming later...

SelfDimerLeftButton_Click ( object sender, RoutedEventArgs e ) : void

When the LEFT Self-Dimer button is pressed, the test is called and the display is updated accordingly.

SelfDimerRightButton_Click ( object sender, RoutedEventArgs e ) : void

When the RIGHT Self-Dimer button is pressed, the test is called and the display is updated accordingly.

System ( int connectionId, object target ) : void
chromosomeManipulationDelta ( object sender, ScatterManipulationDeltaEventArgs e ) : void

Makes the Results move with their genome.

displayLeftBlastResults ( List results ) : void
displayRightBlastResults ( List results ) : void
generateCutSites ( String sequence, List restrictionCutSequences ) : List

Returns a list of cut sites within the given sequence, given a list of cut sequences with '|' replacing cutsites within cut sequence

leftCalculateTemp ( string seq, int length ) : int

Given the full sequence and length of the primer, this method returns the temperature of the LEFT primer.

leftGetPrimer ( int len, String fullSeq ) : String

Given a full sequence and length, this method returns the highlighted LEFT primer sequence.

leftHighlight_ScatterManipulationCompleted ( object sender, ScatterManipulationCompletedEventArgs e ) : void

Once the user finishes moving the LEFT highlighter, the temperature of both primers is checked and the display for both Primers is updated. Variables updated appropriately.

leftHighlight_ScatterManipulationDelta ( object sender, ScatterManipulationDeltaEventArgs e ) : void

Adjusts the look of the LEFT highlighted field as the users moves it back and forth. Also updates the tests so that the empty box appears except for temperature, which it calculates. Also gives live display of Gibbs Free Energy, length, and temperature.

makeChromosome ( int totalBP, List results, String name ) : int

Takes in the List of Results for a genome, the total number of base pairs, as well as the genomes name and creates the circular visualization. This method also returns the total number of results.

replaceFirst ( String sequence, String query ) : String

Replaces first occurance of the query with pipes, for preserving the length of sequences while removing cutsites

restrictionWarningGrid ( List cutSites, Grid warningLayer ) : void

Draws existing Restriction Enzyme Cut Sites on Primer Sequence.

resultSVI_PreviewContactDown ( object sender, ContactEventArgs e ) : void

Creates detailed view notecard that pops up when a ResultSVI has been touched. Make as touched so we don't have useless memory waste.

rightCalculateTemp ( string seq, int length ) : int

Given the full sequence and length of the primer, this method returns the temperature of the RIGHT primer.

rightGetPrimer ( int len, String fullSeq ) : String

Given a full sequence and length, this method returns the highlighted right primer sequence.

rightHighlight_ScatterManipulationCompleted ( object sender, ScatterManipulationCompletedEventArgs e ) : void

Once the user finishes moving the RIGHT highlighter, the temperature of both primers is checked and the display for both Primers is updated. Variables updated appropriately.

rightHighlight_ScatterManipulationDelta ( object sender, ScatterManipulationDeltaEventArgs e ) : void

Adjusts the look of the RIGHT highlighted field as the users moves it back and forth. Also updates the tests so that the empty box appears except for temperature, which it calculates. Also gives live display of Gibbs Free Energy, length, and temperature.

updateTempResults ( int primer1temp, int primer2temp ) : string

Given the temperature of two primers, this method returns a String representing whether the temperatures of each Primer are within 1 degree of eachother. If true, the webdings character for a check mark is returned, if false the character for a blank box will be returned.

Method Details

PrimerDesignerUserControl() public method

public PrimerDesignerUserControl ( ) : System
return System

calcDeltaG() public static method

Calculates the deltaG value of a given String of DNA.
public static calcDeltaG ( String s ) : Double
s String String representing the DNA sequence whose delta G value is being calculated
return Double

Property Details

TargetGeneProperty public static property

public static DependencyProperty,System.Windows TargetGeneProperty
return System.Windows.DependencyProperty