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
clear
load showex.menu
j=length(tree);
tree(j+1)=tree(j);
tree(j)=j+1;
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,:));
action=char(action(1:j-1,:),'new_function',action(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 ...
clear
load showex.menu
extendmenu
... 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:
sql
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.