Files

62 lines
2.0 KiB
Python
Raw Permalink Normal View History

2026-08-03 18:42:47 +08:00
"""
Testing PyQt Fab & Builder
"""
from pymol import cmd, testing
@testing.requires_version('2.3')
class TestNucBuilder(testing.PyMOLTestCase):
def testCanInit(self):
self.assertEqual(cmd.fnab("A"), None)
def testSingleDNAFASTA(self):
dna = "ATGC"
cmd.fnab(input=dna, mode="DNA", form="B", dbl_helix=-1)
fasta_str = cmd.get_fastastr().splitlines()
self.assertEqual(dna, fasta_str[1])
def testSingleRNAFASTA(self):
rna = "AUGC"
cmd.fnab(input=rna, mode="RNA")
fasta_str = cmd.get_fastastr().splitlines()
self.assertEqual(rna, fasta_str[1])
def testDoubleDNAFASTA(self):
dna = "ATCCCCG"
revcomp = "CGGGGAT"
cmd.fnab(input=dna, dbl_helix=1)
fasta_str = cmd.get_fastastr().splitlines()
fasta_raw = (fasta_str[1], fasta_str[3])
sense_strand = fasta_raw[0]
antisense_strand = fasta_raw[1]
self.assertEqual(dna, sense_strand)
self.assertEqual(revcomp, antisense_strand)
cmd.delete('all')
cmd.fnab(input=dna)
fasta_str = cmd.get_fastastr().splitlines()
fasta_raw = (fasta_str[1], fasta_str[3])
sense_strand = fasta_raw[0]
antisense_strand = fasta_raw[1]
self.assertEqual(dna, sense_strand)
self.assertEqual(revcomp, antisense_strand)
def testDoubleRNAFASTA(self):
rna = "AUUUUUUUCG"
cmd.fnab(input=rna, mode="RNA", form="B", dbl_helix=1)
fasta_str = cmd.get_fastastr().splitlines()
self.assertEqual(len(fasta_str), 2)
sense_strand = fasta_str[1]
self.assertEqual(rna, sense_strand)
def testMixedCase(self):
dna = "AtG"
revcomp = "CAT"
cmd.fnab(input=dna)
fasta_str = cmd.get_fastastr().splitlines()
fasta_raw = (fasta_str[1], fasta_str[3])
sense_strand = fasta_raw[0]
antisense_strand = fasta_raw[1]
self.assertEqual(dna.upper(), sense_strand)
self.assertEqual(revcomp, antisense_strand)