本文整理汇总了C++中bam_record::is_fwd_strand方法的典型用法代码示例。如果您正苦于以下问题:C++ bam_record::is_fwd_strand方法的具体用法?C++ bam_record::is_fwd_strand怎么用?C++ bam_record::is_fwd_strand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bam_record
的用法示例。
在下文中一共展示了bam_record::is_fwd_strand方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
bool
isMateInsertionEvidenceCandidate2(
const bam_record& bamRead,
const bool isSearchForLeftOpen,
const bool isSearchForRightOpen)
{
if ((! isSearchForLeftOpen) && (! bamRead.is_fwd_strand())) return false;
if ((! isSearchForRightOpen) && bamRead.is_fwd_strand()) return false;
return true;
}
示例2: isSplitDownstream
/// get SV candidates from SA-tag split-read alignment
static
SVObservation
GetSplitSACandidate(
const ReadScannerDerivOptions& dopt,
const bam_record& localRead,
const SimpleAlignment& localAlign,
const SimpleAlignment& remoteAlign,
const FRAGSOURCE::index_t fragSource)
{
using namespace SVEvidenceType;
static const index_t svSource(SPLIT_ALIGN);
SVObservation sv;
sv.evtype = svSource;
sv.fragSource = fragSource;
SVBreakend& localBreakend(sv.bp1);
SVBreakend& remoteBreakend(sv.bp2);
// use single-side evidence, have to read the supp read to get the
// reverse edge. this protects against double-count:
localBreakend.lowresEvidence.add(svSource);
updateSABreakend(dopt, localAlign, localBreakend);
updateSABreakend(dopt, remoteAlign, remoteBreakend);
// If the local (bp1) alignment is split downstream (on the right side) then this read goes from bp1 -> bp2.
// If it is a forward read (e.g. read1 on + strand), this means it's a forward read for this event.
const bool isSplitDownstream(isSplitOpenDownstream(localAlign.path));
const bool isReadFw = (localRead.is_first() == localRead.is_fwd_strand());
if (dopt.isStranded)
{
if (isReadFw == isSplitDownstream)
{
sv.fwReads += 1;
}
else
{
sv.rvReads += 1;
}
}
return sv;
}