Operation

Split Sequences

Applies to:  Sequence Collection
Returns: Sequence Partition

Description

This operation (introduced in MotifLab v2) can take an existing set of sequences and derive a new set of sequences based on subsegments of the originals. The original sequences can be kept together with the new sequences or optionally be deleted. The subsegments on which to base the new sequences are taken from the locations of regions in a specified region track. Each region in this track will give rise to one new sequence, so if two regions are overlapping they will result in two overlapping sequences. The new sequences will have names on the form "XXX_n" where XXX is the name of the original sequence and n is an incremental number starting at 1 for each original sequence.

Note that the new sequences are not allowed to extend beyond the edges of the original sequences even if the regions they are based on do that.
For example, if you have a sequence spanning the [-1000,+200] region around the TSS of a gene which is 2000bp long (thus extending 1800bp further downstream of the original sequence) and you use split_sequences to create new sequences based on the gene annotation track, the new sequence location will be the intersection of the old sequence and the gene region, meaning the new sequence will correspond to the 200bp region starting at the gene TSS and extending downstream to the end of the original sequence. The gene region is kept at its original length, however, and is allowed to extend past the edge also in the new sequence.

The operation will return a sequence partition object where each newly created sequence is assigned to a cluster named after the original sequence it was based on. Old sequences not created by split_sequences will not be assigned to any cluster in the partition.

The result of applying split_sequences is usually some form of cropping of the original sequences (and also all associated feature tracks) so in some ways it is similar to the crop_sequences operation. The difference between this operation and crop_sequences is that the latter only modifies the original sequences whereas split_sequences creates new sequences. If your sequences contain exactly one region each, the result of the two operations will be (almost) the same. However, if you have a sequence containing two regions, crop_sequences will crop the original sequence so that it begins at the start of the first region and ends at the end of the second region, whereas split_sequences will create two new sequences where each is cropped to match one of the regions in the original sequence.

The split_sequences operation is the only exception to the rule that new sequences cannot be created after feature datasets have been added. The reason for having this rule is that the feature tracks would normally be undefined within the new sequences. However, since the sequences created by split_sequences are based on subsegments of existing sequences, all the necessary feature data for the new sequences will already be present.

Arguments

NameDescription
Region track This argument specifies the track whose regions the new sequences shall be based on
Delete original sequences If this flag is set, the set of newly created sequences will totally replace the old sequence set. If not set, the original sequences will be be kept and the new sequences will just be added to the current set.

Examples


# Creates a new set of sequences based on gene regions from the EnsemblGenes annotation track. The original sequences are kept, so the new sequences are added to the current set
SequencePartition1 = split_sequences based on EnsemblGenes

# Creates a totally new set of sequences where each sequence correponds to a single binding site in the TFBS track. The original sequences are discarded.
SequencePartition2 = split_sequences based on TFBS. Delete original sequences