本文整理汇总了C++中BamAlignment::SetIsSecondMate方法的典型用法代码示例。如果您正苦于以下问题:C++ BamAlignment::SetIsSecondMate方法的具体用法?C++ BamAlignment::SetIsSecondMate怎么用?C++ BamAlignment::SetIsSecondMate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BamAlignment
的用法示例。
在下文中一共展示了BamAlignment::SetIsSecondMate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test_ParseRead
void ReadContainerTest::test_ParseRead() {
map<pair<string,int>, string> ref_ext_nucleotides;
BamAlignment aln;
std::string rg = "test";
std::string repseq = "AC";
AlignedRead aligned_read;
float copynum = 10;
include_flank = false;
// Test valid allele length
aln.Name = "test";
aln.QueryBases = "NNNNN";
aln.Qualities = "NNNNN";
aln.SetIsReverseStrand(true);
aln.Position = 0;
aln.SetIsSecondMate(false);
aln.AddTag("RG","Z",rg);
aln.AddTag("XS","i",0);
aln.AddTag("XE","i",20);
aln.AddTag("XR", "Z", repseq);
aln.AddTag("XC", "f", copynum);
aln.RefID = 0;
// No XD
aln.RemoveTag("XD");
CPPUNIT_ASSERT(!(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides)));
// Test more valid allele lengths
aln.AddTag("XD","i",20);
CPPUNIT_ASSERT(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides));
aln.RemoveTag("XD");
aln.AddTag("XD","i",-19);
CPPUNIT_ASSERT(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides));
// Test invalid allele length
aln.RemoveTag("XD");
aln.AddTag("XD","i",-31);
CPPUNIT_ASSERT(!(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides)));
// Exceed max_diff_ref
aln.RemoveTag("XD");
aln.AddTag("XD","i",100);
CPPUNIT_ASSERT(!(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides)));
aln.RemoveTag("XD");
aln.AddTag("XD","i",0);
// Exceed max mate dist
aln.AddTag("XM","i",1000000);
CPPUNIT_ASSERT(!(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides)));
aln.RemoveTag("XM");
// Exceed max mapq
aln.AddTag("XQ","i",10000);
CPPUNIT_ASSERT(!(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides)));
aln.RemoveTag("XQ");
// Read is mate
aln.SetIsSecondMate(true);
CPPUNIT_ASSERT(!(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides)));
aln.SetIsSecondMate(false);
// Read is partial
aln.AddTag("XP","i",1);
CPPUNIT_ASSERT(!(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides)));
aln.RemoveTag("XP");
// Non-unit
unit = true;
aln.RemoveTag("XD");
aln.AddTag("XD","i",5);
CPPUNIT_ASSERT(!(_read_container->ParseRead(aln, &aligned_read, ref_ext_nucleotides)));
unit = false;
}