"LKAKKIDAIMSSLSITEKRQQEIAFTDKLYAADSRLV" for alignment in ClustalIterator(StringIO(aln_example2 + aln_example1)): print("Alignment with %i records of length %i" \ % (len(alignment), alignment.get_alignment_length())) print("Checking empty file...") assert 0 == len(list(ClustalIterator(StringIO("")))) print("Checking write/read...") alignments = list(ClustalIterator(StringIO(aln_example1))) \ + list(ClustalIterator(StringIO(aln_example2)))*2 handle = StringIO() ClustalWriter(handle).write_file(alignments) handle.seek(0) for i, a in enumerate(ClustalIterator(handle)): assert a.get_alignment_length() == alignments[i].get_alignment_length() handle.seek(0) print("Testing write/read when there is only one sequence...") alignment = alignment[0:1] handle = StringIO() ClustalWriter(handle).write_file([alignment]) handle.seek(0) for i, a in enumerate(ClustalIterator(handle)): assert a.get_alignment_length() == alignment.get_alignment_length() assert len(a) == 1 aln_example3 = \ """CLUSTAL 2.0.9 multiple sequence alignment
print("Evil multiline non-interlaced example failed as expected") handle.close() handle = StringIO(phylip_text5a) list5 = list(PhylipIterator(handle)) handle.close() assert len(list5) == 1 assert len(list4[0]) == 5 print("Concatenation") handle = StringIO(phylip_text4 + "\n" + phylip_text4) assert len(list(PhylipIterator(handle))) == 2 handle = StringIO(phylip_text3 + "\n" + phylip_text4 + "\n\n\n" + phylip_text) assert len(list(PhylipIterator(handle))) == 3 print("OK") print("Checking write/read") handle = StringIO() PhylipWriter(handle).write_file(list5) handle.seek(0) list6 = list(PhylipIterator(handle)) assert len(list5) == len(list6) for a1, a2 in zip(list5, list6): assert len(a1) == len(a2) for r1, r2 in zip(a1, a2): assert r1.id == r2.id assert str(r1.seq) == str(r2.seq) print("Done")
elif isinstance(value, (int, float, basestring)): attr = {"name": key, "value": str(value)} self.xml_generator.startElement("property", AttributesImpl(attr)) self.xml_generator.endElement("property") if __name__ == "__main__": print("Running quick self test") from SAP.Bio import SeqIO import sys with open("Tests/SeqXML/protein_example.xml", "r") as fileHandle: records = list(SeqIO.parse(fileHandle, "seqxml")) from SAP.Bio._py3k import StringIO stringHandle = StringIO() SeqIO.write(records, stringHandle, "seqxml") SeqIO.write(records, sys.stdout, "seqxml") print("") stringHandle.seek(0) records = list(SeqIO.parse(stringHandle, "seqxml")) SeqIO.write(records, sys.stdout, "seqxml") print("")
def __str__(self): from SAP.Bio._py3k import StringIO handle = StringIO() save(self, handle) handle.seek(0) return handle.read()
self.xml_generator.endElement("property") elif isinstance(value, (int, float, basestring)): attr = {"name": key, "value": str(value)} self.xml_generator.startElement( "property", AttributesImpl(attr)) self.xml_generator.endElement("property") if __name__ == "__main__": print("Running quick self test") from SAP.Bio import SeqIO import sys with open("Tests/SeqXML/protein_example.xml", "r") as fileHandle: records = list(SeqIO.parse(fileHandle, "seqxml")) from SAP.Bio._py3k import StringIO stringHandle = StringIO() SeqIO.write(records, stringHandle, "seqxml") SeqIO.write(records, sys.stdout, "seqxml") print("") stringHandle.seek(0) records = list(SeqIO.parse(stringHandle, "seqxml")) SeqIO.write(records, sys.stdout, "seqxml") print("")