M-CHIPS home

developer's corner
Getting Started
Starting M-chips
Loading data
Normalizing the data
Filtering the data
Exploring the data



Questions, comments, contributions?

Developer's corner

Multi-Conditional Hybridization Intensity Processing System

Microarray Data Warehousing and Analysis

wherefore ?wherefore ?

Writing own functions on top of M-CHiPs is easy. To build upon tasks already performed in M-CHiPS, look up the variables you want to use in the workspace docu. The rest will be language-specific:


  • Extend functions and menu

    M-CHiPS functions are located in

    • $MCHIPSPATH/upa/upload
    • $MCHIPSPATH/upa/preprocessing
    • $MCHIPSPATH/upa/interface
    • $MCHIPSPATH/upa/analysis
    • (and $MCHIPSPATH/administration for administrator accounts)
    You may overlay (i.e. replace) any of them by putting an .m file of the same name into your current directory. If you do not want to do that, it is a good idea to check if your new function's name is not alreay occupied by M-CHiPS or any other toolbox within reach of your $MATLABPATH:

    >> which <new_function>

    Instead of running your new function manually, you may want to add it to a figure menu ...

    uimenu(gcf,'label','very best','call','new_function')

    ... or let M-CHiPS do that for you in all its figures by

    load showex.menu
    for i=j-1:-1:1, if tree(i)>=j, tree(i)=tree(i)+1; end; end
    item =char(item(1:j-1,:),'very best',item(j:length(tree)-1,:));
    save showex.menu.mat item action tree

    Thus, showex.menu.mat in the current directory will overlay (replace) $MCHIPSPATH/upa/interface/showex.menu.mat whose variables tree, item, and action contain the menu tree. For extending this tree at particular nodes, do ...

    load showex.menu

    ... make figure large as possible, klick on parent node, focus text window to enter menu item and action for the new child, evt. change the sequence of the parent nodes' children, and save as "showex.menu.mat" (.mat is mandatory here).

  • Database access

    Although it should be easier (and safer) to access your database through the established functions, you can have direct SQL-access:

    visualizes any query (send query to backend by entering an empty line, i.e. 2x ENTER). Quit by 3x ENTER. You can transfer one text attribute into a char array by e.g.

    a=sql(['select ext_link7 from ' family '_genes']);

    or multiple float attributes into a double matrix

    a=sql(['fselect * from ' family '_g limit 100']);

    What's where in the database? Most helpful (out of these links) for looking up the required tables will be the UML and the implementation section of the tech report.


  • Open an R shell
    containing all required variables from within M-CHiPS by File I/O - Common Exports - R interface. You can use R and Matlab simultaneously, sending data in back and forth (for getting variables from R to Matlab see small message box that pops up with the R shell).

  • Database access
    Although it should be easier (and safer) to access your database through established functions, sending variables from Matlab to R, ou can have direct SQL-access from R:

    to come