def __init__(self, handle): """Creates the writer object Use the method write_file() to actually record your sequence records.""" SequentialSequenceWriter.__init__(self, handle) self._ids_written = [] self._length_of_sequences = None
def __init__(self, handle, wrap=60, record2title=None): """Create a QUAL writer. Arguments: - handle - Handle to an output file, e.g. as returned by open(filename, "w") - wrap - Optional line length used to wrap sequence lines. Defaults to wrapping the sequence at 60 characters Use zero (or None) for no wrapping, giving a single long line for the sequence. - record2title - Optional function to return the text to be used for the title line of each record. By default a combination of the record.id and record.description is used. If the record.description starts with the record.id, then just the record.description is used. The record2title argument is present for consistency with the Bio.SeqIO.FastaIO writer class. """ SequentialSequenceWriter.__init__(self, handle) #self.handle = handle self.wrap = None if wrap : if wrap < 1 : raise ValueError self.wrap = wrap self.record2title = record2title
def write_footer(self): """Close the root node and finish the XML document.""" SequentialSequenceWriter.write_footer(self) self.xml_generator.endElement("seqXML") self.xml_generator.endDocument()
def write_header(self): """Write root node with document metadata.""" SequentialSequenceWriter.write_header(self) attrs = { "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "xsi:noNamespaceSchemaLocation": "http://www.seqxml.org/0.4/seqxml.xsd", "seqXMLversion": "0.4" } if self.source is not None: attrs["source"] = self.source if self.source_version is not None: attrs["sourceVersion"] = self.source_ersion if self.species is not None: if not isinstance(species, basestring): raise TypeError("species should be of type string") attrs["speciesName"] = self.species if self.ncbiTaxId is not None: if not isinstance(self.ncbiTaxId, (basestring, int)): raise TypeError("ncbiTaxID should be of type string or int") attrs["ncbiTaxID"] = self.ncbiTaxId self.xml_generator.startElement("seqXML", AttributesImpl(attrs))
def __init__(self, handle, wrap=60, record2title=None): """Create a QUAL writer. Arguments: - handle - Handle to an output file, e.g. as returned by open(filename, "w") - wrap - Optional line length used to wrap sequence lines. Defaults to wrapping the sequence at 60 characters Use zero (or None) for no wrapping, giving a single long line for the sequence. - record2title - Optional function to return the text to be used for the title line of each record. By default a combination of the record.id and record.description is used. If the record.description starts with the record.id, then just the record.description is used. The record2title argument is present for consistency with the Bio.SeqIO.FastaIO writer class. """ SequentialSequenceWriter.__init__(self, handle) #self.handle = handle self.wrap = None if wrap: if wrap < 1: raise ValueError self.wrap = wrap self.record2title = record2title
def write_footer(self): assert self._header_written, "You must call write_header() first" assert self._record_written, "You have not called write_record() or write_records() yet" assert not self._footer_written, "You have aleady called write_footer()" #self._footer_written = True SequentialSequenceWriter.write_footer(self) self.handle.write("//\n") self._footer_written = True
def __init__(self, handle, source=None, source_version=None, species=None, ncbiTaxId=None): """Create Object and start the xml generator.""" SequentialSequenceWriter.__init__(self, handle) self.xml_generator = XMLGenerator(handle, "utf-8") self.xml_generator.startDocument() self.source = source self.source_version = source_version self.species = species self.ncbiTaxId = ncbiTaxId
def __init__(self, handle,source=None,source_version=None,species=None,ncbiTaxId=None): """Create Object and start the xml generator.""" SequentialSequenceWriter.__init__(self, handle) self.xml_generator = XMLGenerator(handle, "utf-8") self.xml_generator.startDocument() self.source = source self.source_version = source_version self.species = species self.ncbiTaxId = ncbiTaxId
def write_header(self): """Write root node with document metadata.""" SequentialSequenceWriter.write_header(self) attrs = {"xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "xsi:noNamespaceSchemaLocation": "http://www.seqxml.org/0.4/seqxml.xsd", "seqXMLversion": "0.4"} if self.source is not None: attrs["source"] = self.source if self.source_version is not None: attrs["sourceVersion"] = self.source_ersion if self.species is not None: if not isinstance(species, basestring): raise TypeError("species should be of type string") attrs["speciesName"] = self.species if self.ncbiTaxId is not None: if not isinstance(self.ncbiTaxId, (basestring, int)): raise TypeError("ncbiTaxID should be of type string or int") attrs["ncbiTaxID"] = self.ncbiTaxId self.xml_generator.startElement("seqXML", AttributesImpl(attrs))
def __init__(self, handle, wrap=60, record2title=None): """Create a Fasta writer. handle - Handle to an output file, e.g. as returned by open(filename, "w") wrap - Optional line length used to wrap sequence lines. Defaults to wrapping the sequence at 60 characters Use zero (or None) for no wrapping, giving a single long line for the sequence. record2title - Optional function to return the text to be used for the title line of each record. By default the a combination of the record.id and record.description is used. If the record.description starts with the record.id, then just the record.description is used. You can either use: myWriter = FastaWriter(open(filename,"w")) writer.write_file(myRecords) Or, follow the sequential file writer system, for example: myWriter = FastaWriter(open(filename,"w")) writer.write_header() # does nothing for Fasta files ... Multiple calls to writer.write_record() and/or writer.write_records() ... writer.write_footer() # does nothing for Fasta files writer.close() """ SequentialSequenceWriter.__init__(self, handle) #self.handle = handle self.wrap = None if wrap: if wrap < 1: raise ValueError self.wrap = wrap self.record2title = record2title
def __init__(self, handle, wrap=60, record2title=None): """Create a Fasta writer. handle - Handle to an output file, e.g. as returned by open(filename, "w") wrap - Optional line length used to wrap sequence lines. Defaults to wrapping the sequence at 60 characters Use zero (or None) for no wrapping, giving a single long line for the sequence. record2title - Optional function to return the text to be used for the title line of each record. By default the a combination of the record.id and record.description is used. If the record.description starts with the record.id, then just the record.description is used. You can either use: myWriter = FastaWriter(open(filename,"w")) writer.write_file(myRecords) Or, follow the sequential file writer system, for example: myWriter = FastaWriter(open(filename,"w")) writer.write_header() # does nothing for Fasta files ... Multiple calls to writer.write_record() and/or writer.write_records() ... writer.write_footer() # does nothing for Fasta files writer.close() """ SequentialSequenceWriter.__init__(self, handle) #self.handle = handle self.wrap = None if wrap : if wrap < 1 : raise ValueError self.wrap = wrap self.record2title = record2title
def write_header(self, count): """Must supply the number of records (count)""" SequentialSequenceWriter.write_header(self) # sets flags self.handle.write("# STOCKHOLM 1.0\n") self.handle.write("#=GF SQ %i\n" % count)