The FilterSubfeatures processing module is designed to work on Features with subfeatures to remove subfeatures not specified in the category filtering and then rebuild the outer feature boundaries based on the remaining subfeatures. The module will resort features on the data stream as needed to preserve the stream integrity.
Proxy is a special module in the system and does not have parameters. Instead it has a single attribute
- name : name of the <datastream> which will be injected in place of this proxy at query time.
This script combines two CalcInterSubfeatures modules with a FilterSubfeatures module to manipulate a complex gene model of exons and UTRs into a new gene model based on coding exons. It first creates intron features between the exons which might 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 FilterSubfeatures rebuilds the transcript gene model using only these codingexon subfeatures.
<zenbu_script> <datastream name="gencode"> <source id="D71B7748-1450-4C62-92CB-7E913AB12899::19:::FeatureSource"/> </datastream> <stream_queue> <spstream module="TemplateCluster"> <overlap_mode>height</overlap_mode> <skip_empty_templates>false</skip_empty_templates> <expression_mode>sum</expression_mode> <overlap_subfeatures>true</overlap_subfeatures> <ignore_strand>true</ignore_strand> <side_stream> <spstream module="EEDB::SPStream::Proxy" name="gencode"/> </side_stream> </spstream> <spstream module="NormalizeRPKM"/> <spstream module="CalcFeatureSignificance"/> </stream_queue> </zenbu_script>
Here is a ZENBU view showing this script in use