Esempio n. 1
0
 def __init__(self, options, log_info=None): #{
   BasePredictorCls.__init__(self, 'fusion', 'fus', 'fusion',
     options, log_info=log_info)
   #dup_gene_path = GetFilePath(options.output_dir, options.lib,
   #  "%s.dup_genes" % self.ext)
   #self.dup_gene_file = FileBoxCls(dup_gene_path, "w",
   #  "cannot create duplicated gene %s output file" % self.description)
   #mix_dir_path = GetFilePath(options.output_dir, options.lib,
   #  "%s.mix_dirs" % self.ext)
   #self.mix_dir_file = FileBoxCls(mix_dir_path, "w",
   #  "cannot create mixed gene directions %s output file" % self.description)
   self.AddOutFile("dup_gene", "%s.dup_genes" % self.ext,
     "duplicated gene %s" % self.description)
   self.AddOutFile("mix_dirs", "%s.mix_dirs" % self.ext,
     "mixed sense %s" % self.description)
   # TEMPORARY file to keep track of contigs for which one side is missing
   # from the realignment results
   self.AddOutFile("align_miss", "%s.align_miss.tmp" % self.ext,
     "missing realignment %s" % self.description)
   # file for potential "read-through" type events
   self.AddOutFile("readthru", "%s.rth" % self.ext,
     "read-through %s" % self.description)
   # gene_directions[id_type][id] = {+,-,*} where "*" = both directions
   self.gene_directions = {'gene_name':dict(), 'transcript_id':dict()}
   # get gene directions from annotation file
   if (self.options.use_gene_directions): #{
     self.GetGeneDirections()
   #} end if
   self.bad_topologies = set([
     'end-duplication',
     'junction-duplication',
   ])
Esempio n. 2
0
 def __init__(self, options, log_info=None): #{
   BasePredictorCls.__init__(self, 'ptd', 'ptd', 'partial tandem duplication',
     options, log_info=log_info)
   self.good_topologies = set([
     'end-duplication',
     'intrachr-non-colinear',
     'junction-duplication',
   ])
Esempio n. 3
0
 def __init__(self, options, log_info=None): #{
   BasePredictorCls.__init__(self, 'itd', 'itd',
     'internal tandem duplication', options, log_info=log_info)
   self.good_topologies = set([
     'gap-tandem-duplication',
     'gap-nontandem-duplication',
   ])
   if (options.allow_non_gap_itds): #{
     self.good_topologies.update([
       'end-duplication',
       'intrachr-non-colinear',
       'junction-duplication',
     ])
   #} end if
   #self.store_seq = True
   #multi_exon_path = GetFilePath(options.output_dir, options.lib,
   #  "%s.multi_exon" % self.ext)
   #self.multi_exon_file = FileBoxCls(multi_exon_path, "w", "cannot "
   #  "create multiple exon duplication %s output file" % self.description)
   #full_ctg_dup_path = GetFilePath(options.output_dir, options.lib,
   #  "%s.full_ctg_dup" % self.ext)
   #self.full_ctg_dup_file = FileBoxCls(full_ctg_dup_path, "w", "cannot "
   #  "create full contig duplication %s output file" % self.description)
   #edge_gap_path = GetFilePath(options.output_dir, options.lib,
   #  "%s.edge_gap" % self.ext)
   #self.edge_gap_file = FileBoxCls(edge_gap_path, "w", "cannot create "
   #  "edge-gap duplication %s output file" % self.description)
   self.AddOutFile("internal_me", "%s.multi_exon" % self.ext,
     "multiple exon duplication %s" % self.description)
   self.AddOutFile("edge", "%s.edge_gap" % self.ext,
     "edge-gap duplication %s" % self.description)
   self.AddOutFile("edge_me", "%s.edge_gap.multi_exon" % self.ext,
     "edge-gap multiple exon duplication %s" % self.description)
   self.AddOutFile("full", "%s.full_ctg_dup" % self.ext,
     "full contig duplication %s" % self.description)
   self.AddOutFile("full_me", "%s.full_ctg_dup.multi_exon" % self.ext,
     "multiple exon full contig duplication %s" % self.description)
   self.num_over_aligned = 0