Exemple #1
0
 def visit_feature_node(self, feature_node):
     sequence_id = feature_node.get_seqid()
     contig = self.contigs.get(sequence_id)
     if contig:  # contig already exists, just try and update it
         contig.add_feature(sequence_id=sequence_id,
                            feature_type=feature_node.get_type(),
                            start=feature_node.get_start(),
                            end=feature_node.get_end(),
                            strand=feature_node.get_strand(),
                            feature_attributes=feature_node.attribs,
                            locus_tag=self.locus_tag,
                            translation_table=self.translation_table)
     else:
         contig = EMBLContig()
         successfully_added_feature = contig.add_feature(
             sequence_id=sequence_id,
             feature_type=feature_node.get_type(),
             start=feature_node.get_start(),
             end=feature_node.get_end(),
             strand=feature_node.get_strand(),
             feature_attributes=feature_node.attribs,
             locus_tag=self.locus_tag,
             translation_table=self.translation_table)
         if successfully_added_feature:
             self.contigs[sequence_id] = contig
         else:
             pass  # discard the contig because we didn't add a feature so it is empty
Exemple #2
0
 def visit_sequence_node(self, sequence_node):
     sequence_id = sequence_node.get_description()
     contig = self.contigs.setdefault(sequence_id, EMBLContig())
     contig.add_sequence(sequence_node.get_sequence())