本文整理汇总了Python中skbio.alignment.StockholmAlignment._parse_gf_info方法的典型用法代码示例。如果您正苦于以下问题:Python StockholmAlignment._parse_gf_info方法的具体用法?Python StockholmAlignment._parse_gf_info怎么用?Python StockholmAlignment._parse_gf_info使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类skbio.alignment.StockholmAlignment
的用法示例。
在下文中一共展示了StockholmAlignment._parse_gf_info方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: StockholmAlignmentTests
# 需要导入模块: from skbio.alignment import StockholmAlignment [as 别名]
# 或者: from skbio.alignment.StockholmAlignment import _parse_gf_info [as 别名]
#.........这里部分代码省略.........
"#=GR seq1 SS 01111\nseq2 -GGCA\n"
"#=GR seq2 SS 01110\n//")
obs_sto = next(StockholmAlignment.from_file(sto, DNA))
exp_sto = StockholmAlignment(self.seqs, {}, {}, self.GR, {})
self.assertEqual(obs_sto, exp_sto)
def test_from_file_multi(self):
sto = StringIO("# STOCKHOLM 1.0\n#=GS seq2 AC 222\n#=GS seq1 AC 111\n"
"seq1 ACC-G-GGTA\n"
"seq2 TCC-G-GGCA\n//\n"
"# STOCKHOLM 1.0\nseq1 ACC-G-GGTA\n"
"#=GR seq1 SS 1110101111\nseq2 TCC-G-GGCA\n"
"#=GR seq2 SS 0110101110\n//")
obs_sto = StockholmAlignment.from_file(sto, DNA)
count = 0
for obs in obs_sto:
if count == 0:
exp_sto = StockholmAlignment(self.seqs, {}, self.GS, {}, {})
self.assertEqual(obs, exp_sto)
elif count == 1:
exp_sto = StockholmAlignment(self.seqs, {}, {}, self.GR, {})
self.assertEqual(obs, exp_sto)
else:
raise AssertionError("More than 2 sto alignments parsed!")
count += 1
def test_parse_gf_multiline_nh(self):
sto = ["#=GF TN MULTILINE TREE",
"#=GF NH THIS IS FIRST", "#=GF NH THIS IS SECOND",
"#=GF AC 1283394"]
exp = {'TN': 'MULTILINE TREE',
'NH': 'THIS IS FIRST THIS IS SECOND',
'AC': '1283394'}
self.assertEqual(self.st._parse_gf_info(sto), exp)
def test_parse_gf_multiline_cc(self):
sto = ["#=GF CC THIS IS FIRST", "#=GF CC THIS IS SECOND"]
exp = {'CC': 'THIS IS FIRST THIS IS SECOND'}
self.assertEqual(self.st._parse_gf_info(sto), exp)
def test_parse_gf_info_nongf(self):
sto = ["#=GF AC BLAAAAAAAHHH", "#=GC HUH THIS SHOULD NOT BE HERE"]
with self.assertRaises(StockholmParseError):
self.st._parse_gf_info(sto)
def test_parse_gf_info_malformed(self):
# too short of a line
sto = ["#=GF AC", "#=GF"]
with self.assertRaises(StockholmParseError):
self.st._parse_gf_info(sto)
def test_parse_gc_info_nongf(self):
sto = ["#=GC AC BLAAAAAAAHHH", "#=GF HUH THIS SHOULD NOT BE HERE"]
with self.assertRaises(StockholmParseError):
self.st._parse_gf_info(sto)
def test_parse_gc_info_strict_len(self):
sto = ["#=GC SS_cons (((..)))"]
with self.assertRaises(StockholmParseError):
self.st._parse_gc_info(sto, seqlen=20, strict=True)
def test_parse_gc_info_strict_duplicate(self):
sto = ["#=GC SS_cons (((..)))", "#=GC SS_cons (((..)))"]
with self.assertRaises(StockholmParseError):
self.st._parse_gc_info(sto, seqlen=8, strict=True)
示例2: StockholmAlignmentTests
# 需要导入模块: from skbio.alignment import StockholmAlignment [as 别名]
# 或者: from skbio.alignment.StockholmAlignment import _parse_gf_info [as 别名]
#.........这里部分代码省略.........
"#=GR seq2 SS 01110\n//"
)
obs_sto = next(StockholmAlignment.from_file(sto, DNA))
exp_sto = StockholmAlignment(self.seqs, {}, {}, self.GR, {})
self.assertEqual(obs_sto, exp_sto)
def test_from_file_multi(self):
"""Make sure yield works correctly with multi-alignment sto files"""
sto = StringIO(
"# STOCKHOLM 1.0\n#=GS seq2 AC 222\n#=GS seq1 AC 111\n"
"seq1 ACC-G-GGTA\n"
"seq2 TCC-G-GGCA\n//\n"
"# STOCKHOLM 1.0\nseq1 ACC-G-GGTA\n"
"#=GR seq1 SS 1110101111\nseq2 TCC-G-GGCA\n"
"#=GR seq2 SS 0110101110\n//"
)
obs_sto = StockholmAlignment.from_file(sto, DNA)
count = 0
for obs in obs_sto:
if count == 0:
exp_sto = StockholmAlignment(self.seqs, {}, self.GS, {}, {})
self.assertEqual(obs, exp_sto)
elif count == 1:
exp_sto = StockholmAlignment(self.seqs, {}, {}, self.GR, {})
self.assertEqual(obs, exp_sto)
else:
raise AssertionError("More than 2 sto alignments parsed!")
count += 1
def test_parse_gf_multiline_nh(self):
"""Makes sure a multiline NH code is parsed correctly"""
sto = ["#=GF TN MULTILINE TREE", "#=GF NH THIS IS FIRST", "#=GF NH THIS IS SECOND", "#=GF AC 1283394"]
exp = {"TN": "MULTILINE TREE", "NH": "THIS IS FIRST THIS IS SECOND", "AC": "1283394"}
self.assertEqual(self.st._parse_gf_info(sto), exp)
def test_parse_gf_multiline_cc(self):
"""Makes sure a multiline CC code is parsed correctly"""
sto = ["#=GF CC THIS IS FIRST", "#=GF CC THIS IS SECOND"]
exp = {"CC": "THIS IS FIRST THIS IS SECOND"}
self.assertEqual(self.st._parse_gf_info(sto), exp)
def test_parse_gf_info_nongf(self):
"""Makes sure error raised if non-GF line passed"""
sto = ["#=GF AC BLAAAAAAAHHH", "#=GC HUH THIS SHOULD NOT BE HERE"]
with self.assertRaises(StockholmParseError):
self.st._parse_gf_info(sto)
def test_parse_gf_info_malformed(self):
"""Makes sure error raised if too short a line passed"""
sto = ["#=GF AC", "#=GF"]
with self.assertRaises(StockholmParseError):
self.st._parse_gf_info(sto)
def test_parse_gc_info_nongf(self):
"""Makes sure error raised if non-GC line passed"""
sto = ["#=GC AC BLAAAAAAAHHH", "#=GF HUH THIS SHOULD NOT BE HERE"]
with self.assertRaises(StockholmParseError):
self.st._parse_gf_info(sto)
def test_parse_gc_info_strict_len(self):
"""Make sure error raised if GC lines bad length and strict parsing"""
sto = ["#=GC SS_cons (((..)))"]
with self.assertRaises(StockholmParseError):
self.st._parse_gc_info(sto, seqlen=20, strict=True)
def test_parse_gc_info_strict_duplicate(self):