In reply to srbeeram:
A virtual sequence is simply a sequence that starts other sequences and does not send sequence_items directly to a driver. Thus a virtual sequence does not need to be parameterized to match the sequence_item type of a sequencer or driver. This terminology is left-over from a methodology where this was a separate class type.
You can have a single sequence sending different sequence_item types to the same sequencer as long as they share a common base class type. And any sequence can start other sequences of any class type in addition to sending sequence_items.
You can also have a virtual sequence starting multiple sequences all of the same type to the same sequencer. There is no requirement that have go to different interfaces.