Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / disembl / biopython-1.50 / Bio / SeqIO / PhdIO.py
diff --git a/website/archive/binaries/mac/src/disembl/biopython-1.50/Bio/SeqIO/PhdIO.py b/website/archive/binaries/mac/src/disembl/biopython-1.50/Bio/SeqIO/PhdIO.py
new file mode 100644 (file)
index 0000000..29bfe14
--- /dev/null
@@ -0,0 +1,43 @@
+# Copyright 2008 by Peter Cock.  All rights reserved.
+#
+# This code is part of the Biopython distribution and governed by its
+# license.  Please see the LICENSE file that should have been included
+# as part of this package.
+
+"""Bio.SeqIO support for the "phd" file format.
+
+PHD files are output by PHRED and used by PHRAP and CONSED.
+
+You are expected to use this module via the Bio.SeqIO functions.
+See also the underlying Bio.Sequencing.Phd module."""
+
+from Bio.SeqRecord import SeqRecord
+from Bio.Sequencing import Phd
+    
+#This is a generator function!
+def PhdIterator(handle) :
+    """Returns SeqRecord objects from a PHD file.
+
+    This uses the Bio.Sequencing.Phy module to do the hard work.
+    """
+
+    phd_records = Phd.parse(handle)
+    for phd_record in phd_records:
+        #Convert the PHY record into a SeqRecord...
+        seq_record = SeqRecord(phd_record.seq,
+                               id = phd_record.file_name,
+                               name = phd_record.file_name)
+        #Just re-use the comments dictionary as the SeqRecord's annotations
+        seq_record.annotations = phd_record.comments
+        yield seq_record 
+    #All done
+
+if __name__ == "__main__" :
+    print "Quick self test"
+    handle = open("../../Tests/Phd/Phd1")
+    for record in PhdIterator(handle) :
+        print record
+    handle.close()
+    print "Done"
+        
+