Recent Changes

Wednesday, May 3

  1. page Sandbox edited Click to Run

    Click to Run

    (view changes)
    6:36 pm

Tuesday, April 18

  1. 2:03 pm

Sunday, June 8

  1. page solar-earth atmospheric interactions edited A Primer on Space Weather http://svs.gsfc.nasa.gov/goto ?10208 ... http://terra1.spacenviron…

    A Primer on Space Weather
    http://svs.gsfc.nasa.gov/goto ?10208
    ...
    http://terra1.spacenvironment .net/%7Eionops/ES4Dintro.html
    http://www.swpc.noaa.gov/Education/index.html
    update from 2014: See http://www.bath.ac.uk/elec-eng/invert/iono/rti_3d.html
    (view changes)
    5:44 pm
  2. msg update message posted update real-time TEC count is now available for europe, at least, here: http://www.bath.ac.uk/elec-eng/i…
    update
    real-time TEC count is now available for europe, at least, here: http://www.bath.ac.uk/elec-eng/invert/iono/rti.html
    5:27 pm

Thursday, August 29

  1. msg Introductions message posted Introductions Use the news feed to introduce yourself, start discussions, and manage your Classroom.
    Introductions
    Use the news feed to introduce yourself, start discussions, and manage your Classroom.
    7:12 am

Saturday, July 13

  1. page Techniques and Projects  edited Techniques and Projects Molecular Biology PCR, Real Time PCR, Touchdown PCR

    Techniques and Projects
    Molecular Biology
    PCR, Real Time PCR, Touchdown PCR
    (view changes)
    10:26 am

Thursday, June 6

  1. page Techniques and Projects  edited ... data analysis including gels and qRT-PCR nucleic acid concentration analysis with NanoDrop …
    ...
    data analysis including gels and qRT-PCR
    nucleic acid concentration analysis with NanoDrop
    how to cut aMolecular Cloning
    DNA digestion, ligation and
    gel to extract DNA to dissolve the bandextraction
    bacterial culture
    and realign DNAsmall scale plasmid prep
    plasmid transformation into E. Coli

    Proper use of lab equipment including centrifuge and incubation
    Run a digest on DNA
    Analyzing data including gel figures, real time PCR graph,
    Doing a mini-prep and culture
    Creation of own primers
    Creation of plates for bacteria and other mechanisms
    Pipetting
    Proper plating of wells for Real Time PCR
    Create slides and analyze them under a microscope
    Touchdown PCR

    Restriction Digest
    Histology
    ...
    bioinformatic matlab programs
    read and generate code
    ProjectsGeneral Lab Techniques
    Pipette
    Plating
    Centrifuge
    Incubator

    (view changes)
    9:04 pm
  2. page Techniques and Projects  edited Techniques Matlab and computer science create GUI run already existent bioinformatic programs…

    Techniques
    Matlab and computer science
    create GUI
    run already existent bioinformatic programs
    create and read code
    Running a PCR including
    Molecular Biology
    PCR,
    Real Time PCR, Touchdown PCR
    Running a gel electropharesis

    PCR primer design
    DNA Gel electrophoresis
    data analysis including gels
    and howqRT-PCR
    nucleic acid concentration analysis with NanoDrop
    how
    to cut
    ...
    realign DNA
    How to use a nano-dropper

    Proper use of lab equipment including centrifuge and incubation
    Run a digest on DNA
    ...
    Pipetting
    Proper plating of wells for Real Time PCR
    Sectioning. specifically Zebra fish, eyes
    Create slides and analyze them under a microscope
    Touchdown PCR
    Restriction Digest
    ExtensiveHistology
    tissue sectioning and placement onto slides (zebrafish eyes)
    analysis of tissue section slides with microscopy
    Bioinformatics
    extensive
    understanding of ncbi
    use search
    including:
    search
    engine
    run BLAST
    use ENTREZ
    extensive use of nucleotide

    nucleotide
    database
    use of

    BLAST
    ENTREZ
    literature search with
    PubMed to search and read articles
    Use of

    Utilized
    OMIM and UniProt
    Run

    Gene Ontology Analysis
    MATLAB
    create
    a Gene Ontology
    Ability to read, understand and synthesize scientific papers
    GUI
    bioinformatic matlab programs

    read figures and analyze themgenerate code
    Projects
    (view changes)
    9:28 am

Monday, June 3

  1. page Suggestions for Programmer of CMS GUI edited ... Spopf Histogram Controls Bwetf BWetf Hdrawf Data Set Controls ... {CMS_Sdrawf_44-85.p…
    ...
    Spopf
    Histogram Controls
    BwetfBWetf
    Hdrawf
    Data Set Controls
    ...
    {CMS_Sdrawf_44-85.png}
    {CMS_Sdrawf_86-97.png}
    I can't think of anything I would change about this function. Clearly well-thought-out and in-depth.
    Back to top
    Spopf
    {CMS_Spopf_1-43.png}
    {CMS_Spopf_44-64.png}
    Obviously this script functions perfectly well, so there is no real need to change it, but I can't help but notice that it seems a tad bit inefficient. I can't quite come up with it, so maybe I'm wrong, but I feel like there's some way you could store arrays that would save you from having to fully type out each set statement. Maybe what I'm thinking is a separate function to use inside this which only types the group of set functions once and then takes inputs for the parameters from this function, making there only be one line of code under each part of this if statement.
    Back to top
    Histogram Controls
    {CMS_181-222.png}
    {CMS_223-236.png}
    Once again the GUIDE default code dominates this section, and all the interesting discussion will happen in the sections below.
    Back to top
    BwetfBWetf
    {CMS_Bwetf_1-7.png}
    This one's so simple it's impossible to criticize.
    Back to top
    Hdrawf
    {CMS_Hdrawf_1-43.png}
    {CMS_Hdrawf_44-83.png}
    I will not put the NDf function on this page because it is already far too crowded with pictures of code, but I must say NDf is a fantastic little piece of work, and I think it's a really cool feature that you added on, and I can't really ask you to change anything about Hdrawf either.
    Back to top
    Data Set Controls
    ...
    {CMS_279-320.png}
    {CMS_321-329.png}
    Once again the GUI code is extremely boring and repetitive, and I'm starting to wonder why I even bothered to put it all on this page. Below I discuss Tpopf, the only part of this section with really any of your work.
    Back to top
    Tpopf
    {CMS_Tpopf_1-16.png}
    This is another one of the simple ones that I'm glad to say I fully understand and also cannot offer any changes. Very straightforward
    Back to top
    Selection Controls
    {CMS_330-364.png}
    This is one section where I do have an actually serious piece of advice to offer. I feel as if the Hdrawf and Sdrawf calls here are a little overzealous. The user will likely often push the Fpush button without yet having graphed anything or with only having one graph active. In these cases, not only would the user be annoyed by the extra activity of the program and possibly get a little confused, a whole bunch of extra computing power is eaten up because if neither graph is currently up, neither one needs to get reset and Hdrawf and Sdrawf are very complicated functions that draw off of a huge data send and that both seriously tax the computer when they are run. So, I would suggest making a script, possibly called "redrawCheck" or something to that effect, which knows whether there is a graph currently up on each plot and only redraws where something is already graphed. If there is no way in the provided set of variables to keep track of whether there is a fresh graph on a given 'axes' object, I would suggest possibly adding a handle of your own to the GUI that stores a logical variable that is changed by Hdrawf and Sdrawf and then drawing off of it in the redrawCheck function.
    Back to top
    Fpushf
    {CMS_Fpushf_1-43.png}
    {CMS_Fpushf_44-70.png}
    This process goes entirely over my head, but it seems to operate perfectly so I can't really criticize. I guess maybe if other people are going to look at this in the future you might want to heavily comment it because if I recall correctly there are some commands in filterf (which I will not display in here for space's sake again) that I was unfamiliar with and could not quite intuitively tell what they were doing even with the help of your comments. So, I'm not sure what someone else would do if they had to refine these scripts in some way. Otherwise, the script displayed here is very fair to follow other than the fact I'm not quite sure what the find command does.
    Back to top
    Fpopf
    {CMS_Fpopf_1-28.png}
    The comments combined with the code here make perfect sense and I don't have any issues with any of this.
    Back to top
    Save GUI Button
    {CMS_365-374.png}
    Well done, very nice little feature for users to be able to save a certain bit of their handiwork. I was going to suggest this if you didn't have it already.
    Back to top
    Selection Controls (continued)
    {CMS_375-415.png}
    {CMS_416-444.png}
    This section in a way brings up one of my overarching concerns - a slight lack of organization. I'm not quite sure why this doesn't appear back up where the other bulk of selection-controlling objects did. Otherwise, this is a super unexciting bunch of GUIDE-generated code that's nothing to discuss.
    Back to top
    Unknown Objects
    {CMS_445-486.png}
    {CMS_487-513.png}
    I'm vexed as to what "Maxet", "LBpop", and "LMpop" are. Maxet must be some edit textbox for some kind of maximum, and LBpop and LMpop by your naming conventions are two popup menus for two very similar things to do with the greater-than/less-than popup menu in the selection tool, but I just cannot for the life of me figure out what they are. If they're objects from earlier versions that you have since gotten rid of, it would do anyone else who sees this code a great service for you to remove this section as to prevent confusion.
    Back to top
    LMpopf
    This function is called in the above section of mystery code but it's not in the folder with this GUI so I have even more reason to believe you abandoned these parts of the GUI. If not, make sure the next person gets a visible copy of this script.
    Back to top
    Data Set Controls (continued)
    ...
    ACf
    {CMS_ACf_1-35.png}
    BackThis function is so complex that it's not worth me discussing becuase it's extremely well done. I have to top
    DSf
    {CMS_DSf_1-27.png}
    Back to top
    Tfilterf
    {CMS_Tfilterf_1-31.png}
    Back to top
    Cfilterf
    {CMS_Cfilterf_1-23.png}
    admit a bunch of the functions inside it are above my level of MATLAB, but I'm confident in saying you've done this section very well and it's not worth me sticking all the code in here.
    Back to top
    struct2tablef
    ...
    {CMS_struct2tablef_44-83.png}
    {CMS_struct2tablef_84-100.png}
    BackAlthough this one works just fine, I feel like there has to top
    Hfieldsf
    {CMS_Hfieldsf_1-21.png}
    Back
    be a way to top
    Sfieldsf
    {CMS_Sfieldsf_1-23.png}
    Back
    do this with a loop and an array full of the names. I guess the reason I say this is because I remember there being one or two other scripts in which you have these long lists of variable names being assigned to top
    Ffieldsf
    {CMS_Ffieldsf_1-22.png}
    something and you might be able to stick the lists of titles into arrays that are stored in specific handles you create and then call those arrays each time rather than write the list out in multiple different places.
    Back to top
    Checkboxes
    {CMS_522-549.png}
    {CMS_550-569.png}
    I am once again wondering why I pasted all the MATLAB code in here as all the interesting stuff from this section is in the scripts below.
    Back to top
    ASf
    {CMS_ASf_1-13.png}
    Nice catch here - definitely want the manual entry going blank when auto scale gets turned on.
    Back to top
    NDcheckf
    {CMS_NDcheckf_1-27.png}
    This is another case like the above Spopf where it could be simpler. You could make a string variable that is set to either 'on' or 'off' in the if statements and then have the set statements come after and have the final parameter be that string variable.
    Back to top
    Selection Controls (continued)
    {CMS_570-578.png}
    Yet another straightforward spot in the GUI code.
    Back to top
    UFpushf
    {CMS_UFpushf_1-11.png}
    Clever and simple way to do the reset to just perform the ACf command. That being said, this is another place, just like the Fpush button earlier, where there is a need for a way to see whether you should redraw the graphs or not. In fact, you could reuse the exact same function in both places if you made it.
    Back to top
    Final GUIDE Bit
    {CMS_579-584.png}
    Nothing to say about this, but of course I copied in all of the code before I actually thought about the analysis. It was probably a waste of time to use put the whole GUI's worth of code in here. Oh well.
    Back to top
    My Extra Comments
    When all is said and done, I see just a few things that could be done here. One would be very simple - reorganize the code so that code for objects involved in data set changes are all in one place, code for objects involving selection changes (data cuts) are all in one place, code for objects to do with the histogram are all in one place, and code for objects to do with the scatter plot are all in one place. Then, commenting to emphasize this organization would make the code very readable. Another general suggestion is that if you are ever going to need someone else to get seriously acquainted with this code, get a little more verbose with your comments in the scripts you write because they can sometimes get confusing to follow. Especially, definitions of certain obscure MATLAB functions used would be nice because sometimes it is hard to differentiate between which functions are MATLAB's and which are yours, and also sometimes Google does not hold a simple path to figuring out how you've used a certain function. Additionally, if you're going to need someone to get familiar with this code, you might need to clean up your naming system. I saw your ideas for most of them but you weren't always consistent and sometimes the initials weren't very self-explanatory. I know for most of the objectsI had to hunt around GUIDE to figure out which code belonged to which object, so maybe the slight sacrifice of a little extra typing would be worth it if you made some longer, more obvious titles for objects. At this point it wouldn't be too bad because you could just use "find and replace."
    One thing that seemed to pop up a few times was the idea of storing an array in a handle that you section off so that it can be altered by one callback and used by another, or just so the same array can be used in multiple callback functions. I feel like this concept could serve you well if you were not familiar with it before.
    Finally, I have one general idea for if you're looking for a big project on making this GUI ridiculously awesome. Right now, you have the bottom-left quadrant for the histogram part and the bottom-right quadrant for the scatterplot part. My radical idea is that, just as a different choice in the scatterplot type menu changes which menus come up for axis selection, you could have a popup menu to choose on each side whether to have a scatterplot or a histogram. Additionally if you did this you would want to also have checkboxes for whether or not to apply a certain data set or a certain cut of data to one side or the other. This way the user could do a side-by-side comparison of two scatterplots, one before a cut and one after, or two histograms of the same variable from separate data sets, or other comparisons of that variety. I feel like that is the dream with this GUI if you are looking to take on a big project.
    All in all though, you've done a stellar job with this program and I'm totally impressed, and definitely couldn't have done it myself.

    Back to top
    (view changes)
    4:34 pm
  2. page Suggestions for Programmer of CMS GUI edited ... Back to top Data Set Controls {CMS_237-278.png} {CMS_279-320.png} {CMS_321-329.png} …
    ...
    Back to top
    Data Set Controls
    {CMS_237-278.png}
    {CMS_279-320.png}
    {CMS_321-329.png}

    Back to top
    Tpopf
    ...
    Back to top
    Selection Controls
    {CMS_330-364.png}
    Back to top
    Fpushf
    ...
    Back to top
    Save GUI Button
    {CMS_365-374.png}
    Back to top
    Selection Controls (continued)
    {CMS_375-415.png}
    {CMS_416-444.png}

    Back to top
    Unknown Objects
    {CMS_445-486.png}
    {CMS_487-513.png}

    Back to top
    LMpopf
    Back to top
    Data Set Controls (continued)
    {CMS_514-521.png}
    Back to top
    ACf
    ...
    Back to top
    DSf
    {CMS_DSf_1-27.png}
    Back to top
    Tfilterf
    {CMS_Tfilterf_1-31.png}
    Back to top
    Cfilterf
    {CMS_Cfilterf_1-23.png}
    Back to top
    struct2tablef
    {CMS_struct2tablef_1-43.png}
    {CMS_struct2tablef_44-83.png}
    {CMS_struct2tablef_84-100.png}

    Back to top
    Hfieldsf
    {CMS_Hfieldsf_1-21.png}
    Back to top
    Sfieldsf
    {CMS_Sfieldsf_1-23.png}
    Back to top
    Ffieldsf
    {CMS_Ffieldsf_1-22.png}
    Back to top
    Checkboxes
    {CMS_522-549.png}
    {CMS_550-569.png}

    Back to top
    ASf
    ...
    Back to top
    Selection Controls (continued)
    {CMS_570-578.png}
    Back to top
    UFpushf
    ...
    Back to top
    Final GUIDE Bit
    {CMS_579-584.png}
    Back to top
    My Extra Comments
    (view changes)
    3:09 pm

More