Back to index

python-biopython  1.60
Public Member Functions | Public Attributes | Private Attributes
Bio.SeqIO.QualityIO.FastqSolexaWriter Class Reference
Inheritance diagram for Bio.SeqIO.QualityIO.FastqSolexaWriter:
Inheritance graph
[legend]
Collaboration diagram for Bio.SeqIO.QualityIO.FastqSolexaWriter:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def write_record
def write_header
def write_footer
def write_records
def write_file
def clean

Public Attributes

 handle

Private Attributes

 _record_written

Detailed Description

Definition at line 1553 of file QualityIO.py.


Member Function Documentation

def Bio.SeqIO.Interfaces.SequenceWriter.clean (   self,
  text 
) [inherited]
Use this to avoid getting newlines in the output.

Definition at line 166 of file Interfaces.py.

00166 
00167     def clean(self, text):
00168         """Use this to avoid getting newlines in the output."""
00169         return text.replace("\n", " ").replace("\r", " ").replace("  ", " ")
    

Here is the caller graph for this function:

def Bio.SeqIO.Interfaces.SequentialSequenceWriter.write_file (   self,
  records 
) [inherited]
Use this to write an entire file containing the given records.

records - A list or iterator returning SeqRecord objects

This method can only be called once.  Returns the number of records
written.

Reimplemented from Bio.SeqIO.Interfaces.SequenceWriter.

Definition at line 262 of file Interfaces.py.

00262 
00263     def write_file(self, records):
00264         """Use this to write an entire file containing the given records.
00265 
00266         records - A list or iterator returning SeqRecord objects
00267 
00268         This method can only be called once.  Returns the number of records
00269         written.
00270         """
00271         self.write_header()
00272         count = self.write_records(records)
00273         self.write_footer()
00274         return count

Here is the call graph for this function:

Definition at line 218 of file Interfaces.py.

00218 
00219     def write_footer(self):
00220         assert self._header_written, "You must call write_header() first"
00221         assert self._record_written, "You have not called write_record() or write_records() yet"
00222         assert not self._footer_written, "You have aleady called write_footer()"
00223         self._footer_written = True

Here is the caller graph for this function:

Definition at line 212 of file Interfaces.py.

00212 
00213     def write_header(self):
00214         assert not self._header_written, "You have aleady called write_header()"
00215         assert not self._record_written, "You have aleady called write_record() or write_records()"
00216         assert not self._footer_written, "You have aleady called write_footer()"
00217         self._header_written = True
        

Here is the caller graph for this function:

Write a single FASTQ record to the file.

Reimplemented from Bio.SeqIO.Interfaces.SequentialSequenceWriter.

Definition at line 1602 of file QualityIO.py.

01602 
01603     def write_record(self, record):
01604         """Write a single FASTQ record to the file."""
01605         assert self._header_written
01606         assert not self._footer_written
01607         self._record_written = True
01608 
01609         #TODO - Is an empty sequence allowed in FASTQ format?
01610         if record.seq is None:
01611             raise ValueError("No sequence for record %s" % record.id)
01612         seq_str = str(record.seq)
01613         qualities_str = _get_solexa_quality_str(record)
01614         if len(qualities_str) != len(seq_str):
01615             raise ValueError("Record %s has sequence length %i but %i quality scores" \
01616                              % (record.id, len(seq_str), len(qualities_str)))
01617 
01618         #FASTQ files can include a description, just like FASTA files
01619         #(at least, this is what the NCBI Short Read Archive does)
01620         id = self.clean(record.id)
01621         description = self.clean(record.description)
01622         if description and description.split(None, 1)[0]==id:
01623             #The description includes the id at the start
01624             title = description
01625         elif description:
01626             title = "%s %s" % (id, description)
01627         else:
01628             title = id
01629         
01630         self.handle.write("@%s\n%s\n+\n%s\n" % (title, seq_str, qualities_str))

def Bio.SeqIO.Interfaces.SequentialSequenceWriter.write_records (   self,
  records 
) [inherited]
Write multiple record to the output file.

records - A list or iterator returning SeqRecord objects

Once you have called write_header() you can call write_record()
and/or write_records() as many times as needed.  Then call
write_footer() and close().

Returns the number of records written.

Definition at line 240 of file Interfaces.py.

00240 
00241     def write_records(self, records):
00242         """Write multiple record to the output file.
00243 
00244         records - A list or iterator returning SeqRecord objects
00245 
00246         Once you have called write_header() you can call write_record()
00247         and/or write_records() as many times as needed.  Then call
00248         write_footer() and close().
00249 
00250         Returns the number of records written.
00251         """
00252         #Default implementation:
00253         assert self._header_written, "You must call write_header() first"
00254         assert not self._footer_written, "You have already called write_footer()"
00255         count = 0
00256         for record in records:
00257             self.write_record(record)
00258             count += 1
00259         #Mark as true, even if there where no records
00260         self._record_written = True
00261         return count

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Reimplemented from Bio.SeqIO.Interfaces.SequentialSequenceWriter.

Definition at line 1606 of file QualityIO.py.

Reimplemented from Bio.SeqIO.Interfaces.SequenceWriter.

Definition at line 207 of file Interfaces.py.


The documentation for this class was generated from the following file: