It's probably a bug (at least in the Mac build) that if you select a set of nodes and then use Visual Mapping Bypass to change node color, only one node actually changes color. When I want to color nodes to reflect some attribute, I usually create a separate Node Attributes file and then use the VizMap to color nodes based on that attribute. This works for discrete values ("upregulated", "downregulated") as well as continuous variables. However, if you want to do this after the network is already loaded, you could do the following:
First, create a new attribute called "color" (or whatever you want to call it). You can do this by clicking the icon on the data panel, second from the left.
Now, for each set of nodes:
1) Select the set of nodes you want to color
2) Click the Attribute Batch editor button (right side of the data panel)
3) Set your color attribute to a value, e.g. "red".
Finally, set a VizMap Discrete Mapping for the Node Color property using the color attribute. This lets you assign all of the nodes with the attribute "color" value "red" to be appear red. This is cumbersome for more than a few colors, and I think using a node attributes file is simpler and more reproducible, but it does work for on-the-fly editing. Note that you can change any node attribute this way, not just node color.
Have you tried "VizMap Discrete Mapping" as suggested by David ? If you can ascribe a mapping value to your set of nodes (say "Col_1" for first set of nodes and second set as "Col_2") you can map them easily. See this http://cytoscape.wodaklab.org/wiki/Cytoscape_User_Manual/Visual_Styles (Try the example in Introduction to the VizMapper User Interface section)
Thanx for ur suggestion.... For the first set of nodes ...this is working out. But as soon as I am selecting the second set of nodes...the first set of nodes which I had previously colored goes back to the old color.....am I missing out any step?