The CalcInterSubfeatures processing module is designed to work on Features with subfeatures and fill in the gaps between subfeatures with new subfeatures. The subfeatures used in the calculation can be filtered and the category of the newly created subfeatures is named.
- <category_filter> : defines the subfeatures which are used to demarcate the areas where the new subfeatures are created between.
- <new_subfeature_category> : defines the category name of the new FeatureSource for the newly created inter subfeatures
This script combines two CalcInterSubfeatures modules with a StreamSubfeatures module to manipulate a complex gene model of exons and UTRs into an exported set of coding exons. It first creates intron features between the exons which can be labeled either as block or exon. The second CalcInterSubfeatures then uses 5utr and 3utr and intron as demarkation to create codingexon subfeatures. Lastly the StreamSubfeatures exports these codingexon subfeatures out onto the primary data stream.
<zenbu_script> <stream_queue> <spstream module="CalcInterSubfeatures"> <category_filter>block</category_filter> <category_filter>exon</category_filter> <new_subfeature_category>intron</new_subfeature_category> </spstream> <spstream module="CalcInterSubfeatures"> <category_filter>5utr</category_filter> <category_filter>3utr</category_filter> <category_filter>intron</category_filter> <new_subfeature_category>codingexon</new_subfeature_category> </spstream> <spstream module="StreamSubfeatures"> <category_filter>codingexon</category_filter> <transfer_expression>true</transfer_expression> </spstream> </stream_queue> </zenbu_script>
Here is a ZENBU view showing this script in use