A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/align__compare_8cpp_source.html below:

NCBI C++ ToolKit: src/algo/align/util/align_compare.cpp Source File

102  if

((*seg_it)->GetLoc().size() != 2) {

104  "Pairwise Std-seg alignments in comparison " 105  "should always have two locs"

);

118  "Pairwise Std-set alignments in comparison " 119  "should always be intervals"

);

154  string

traceback =

lookup

.GetTraceback(align, 0);

155  if

(traceback.empty()) {

157  "Comparing mismatches for dense-seg alignments requires " 158  "traceback information"

);

169  ITERATE

(

string

, it, traceback) {

174

product_pos +=

match

* product_dir;

175

genomic_pos +=

match

* genomic_dir;

177  bool

genomic_ins = *it ==

'-'

;

178  bool

product_ins = *++it ==

'-'

;

179  if

(!genomic_ins && !product_ins) {

183

product_pos, product_pos);

188

genomic_pos, genomic_pos);

192

product_pos += product_dir;

195

genomic_pos += genomic_dir;

198  if

(product_pos != (product_dir == 1 ? align.

GetSeqStop

(0)+1

200

|| genomic_pos != (genomic_dir == 1 ? align.

GetSeqStop

(1)+1

204  "Inconsistent length of traceback string "

+ traceback);

219  int

product_dir = is_product_minus ||

226  int

genomic_dir = is_genomic_minus ||

233  switch

((*part_it)->Which()) {

236  TSeqPos

product_mismatch_end = product_pos +

237

product_dir * ((*part_it)->GetMismatch()-1);

239  min

(product_pos,product_mismatch_end),

240  max

(product_pos,product_mismatch_end));

244  TSeqPos

genomic_mismatch_end = genomic_pos +

245

genomic_dir * ((*part_it)->GetMismatch()-1);

247  min

(genomic_pos,genomic_mismatch_end),

248  max

(genomic_pos,genomic_mismatch_end));

250

product_pos += product_dir * (*part_it)->GetMismatch();

251

genomic_pos += genomic_dir * (*part_it)->GetMismatch();

255

product_pos += product_dir * (*part_it)->GetMatch();

256

genomic_pos += genomic_dir * (*part_it)->GetMatch();

260

product_pos += product_dir * (*part_it)->GetProduct_ins();

264

genomic_pos += genomic_dir * (*part_it)->GetGenomic_ins();

269  "Unsupported exon part"

);

290  s_UpdateSpans

((*it)->GetSeqRange(0), (*it)->GetSeqRange(1), align_info,

row

);

299

seg.

GetLoc

()[1]->GetTotalRange(), align_info,

row

);

317  "unhandled alignment type"

);

334  "intron mode only meaningful for Spliced-seg alignments"

);

347  TSeqRange

genomic(first_exon->GetGenomic_end(),

348

second_exon->GetGenomic_start());

350

product.

SetFrom

(last_exon->GetProduct_end().AsSeqPos());

351

product.

SetTo

(exon->GetProduct_start().AsSeqPos());

368 template

<

typename

T>

370  const

vector<string> &score_list,

372  bool

required =

true

)

375  ITERATE

(vector<string>, it, score_list) {

385

scores.push_back(

value

);

391  bool

score_set_as_blacklist,

395  if

(score_set_as_blacklist) {

400  if

((*score_it)->GetId().IsStr() &&

401

!score_set.count((*score_it)->GetId().GetStr()))

403  if

((*score_it)->GetValue().IsInt()) {

404

integer_scores[(*score_it)->GetId().GetStr()] =

405

(*score_it)->GetValue().GetInt();

407

real_scores[(*score_it)->GetId().GetStr()] =

408

(*score_it)->GetValue().GetReal();

416  if

(

lookup

.IsIntegerScore(align, *score_it)) {

417

integer_scores[*score_it] =

static_cast<int>

(

value

);

419

real_scores[*score_it] =

value

;

427  double

real_score_tolerance)

430

it2 = scores2.

begin

();

431

it1 != scores1.

end

() || it2 != scores2.

end

(); ++it1, ++it2)

433  if

(it1 == scores1.

end

() || it2 == scores2.

end

()

434

|| it1->first != it2->first)

439  double

allowed_diff =

max

(

abs

(it1->second),

abs

(it2->second))

440

* real_score_tolerance;

441  if

(

abs

(it1->second - it2->second) > allowed_diff) {

450  bool

ext_set_as_blacklist,

454  if

(!ext_set_as_blacklist && !ext_set.

empty

()) {

460  if

(!(*ext_it)->GetType().IsStr()) {

463  string

ext_type = (*ext_it)->GetType().GetStr();

464  bool

is_in_set = ext_set.count(ext_type);

465  if

((ext_set_as_blacklist && !is_in_set)||

466

(!ext_set_as_blacklist && is_in_set))

468

exts[ext_type] = *ext_it;

471  if

(!ext_set_as_blacklist && exts.

size

() < ext_set.

size

()) {

480  for

(

unsigned int i

= 0;

i

< length;

i

++) {

481  int

top = (ptr[

i

] & 0xf0) >> 4;

482  int

bot = (ptr[

i

] & 0x0f);

494  CWStream

exts1_wstr(&exts1_md5), exts2_wstr(&exts2_md5);

496

it2 = exts2.

begin

();

497

it1 != exts1.

end

() || it2 != exts2.

end

(); ++it1, ++it2)

499  if

(it1 == exts1.

end

() || it2 == exts2.

end

()

500

|| it1->first != it2->first)

510  unsigned char

exts1_md5_array[16], exts2_md5_array[16];

511

memset(exts1_md5_array, 0, 16);

512

memset(exts2_md5_array, 0, 16);

513

exts1_md5.GetChecksum().GetMD5Digest(exts1_md5_array);

530  double

real_score_tolerance);

543

, spans_unique_first(0)

544

, spans_unique_second(0)

545

, is_equivalent(

false

)

552  double

real_score_tolerance)

555

, spans_unique_first(0)

556

, spans_unique_second(0)

557

, is_equivalent(

false

)

560  if

(

first

.CompareGroup(second,

false

) != 0) {

571  for

( ; first_it !=

first

.spans.end() && second_it != second.

spans

.

end

(); ) {

572  if

(*first_it == *second_it) {

573  TSeqPos

intersecting_len = first_it->first.GetLength();

574

dot += float(intersecting_len) * float(intersecting_len);

575

sum_a += first_it->first.GetLength() * first_it->first.GetLength();

576

sum_b += second_it->first.GetLength() * second_it->first.GetLength();

583

first_it->first.IntersectingWith(second_it->first) &&

584

first_it->second.IntersectingWith(second_it->second);

588  r

.IntersectWith(second_it->first);

590

intersecting_len =

r

.GetLength();

591

dot += float(intersecting_len) * float(intersecting_len);

597  if

(*first_it < *second_it) {

598

sum_a += first_it->first.GetLength() * first_it->first.GetLength();

602

sum_b += second_it->first.GetLength() * second_it->first.GetLength();

614

real_score_tolerance) &&

616  for

( ; first_it !=

first

.spans.end(); ++first_it) {

617

sum_a += first_it->first.GetLength() * first_it->first.GetLength();

620  for

( ; second_it != second.

spans

.

end

(); ++second_it) {

621

sum_b += second_it->first.GetLength() * second_it->first.GetLength();

625  overlap

= dot == 0 ? 0 : dot / ::sqrt(sum_a * sum_b);

638  if

(k2.

query

< k1.

query

) {

return false

; }

660 typedef

pair<CAlignCompare::SAlignment *, CAlignCompare::SAlignment *>

TPtrPair

;

661 typedef

pair<TPtrPair, SComparison>

TComp

;

682  if

(c1.second.is_equivalent && !c2.second.is_equivalent) {

685  if

(c2.second.is_equivalent && !c1.second.is_equivalent) {

690  if

(c1.second.is_equivalent && !c2.second.is_equivalent) {

693  if

(c2.second.is_equivalent && !c1.second.is_equivalent) {

698  if

(c1.first.first->subject_range < c2.first.first->subject_range)

702  if

(c2.first.first->subject_range < c1.first.first->subject_range)

706  return

c1.first.second->query_range < c2.first.second->query_range;

719

, compare_object(compare)

738  switch

(compare.

m_Mode

) {

769  length

+= it->first.GetLength();

782  if

(scores.first < o.

scores

.first) {

return

-1; }

783  if

(o.

scores

.first < scores.first) {

return

1; }

789  for

(

unsigned

score_index = 0; score_index < scores.second.size(); ++score_index) {

790  if

(scores.second[score_index] && o.

scores

.second[score_index]) {

791  if

(scores.second[score_index] < o.

scores

.second[score_index]) {

return

-1; }

792  if

(o.

scores

.second[score_index] < scores.second[score_index]) {

return

1; }

817  if

(compare_group < 0) {

819

}

else if

(compare_group > 0) {

841

list< AutoPtr<SAlignment> > &current_group =

843

list< AutoPtr<SAlignment> > &next_group =

845

current_group.clear();

846

current_group.splice(current_group.end(), next_group);

847  while

(!

source

.EndOfData() && next_group.empty()) {

849  if

(current_group.empty() || align->CompareGroup(*current_group.front(),

true

) == 0)

851

current_group.push_back(align);

853

next_group.push_back(align);

862

compare_object.m_BoundariesMap[

query

].insert(it->second.GetFrom());

863

compare_object.m_BoundariesMap[

query

].insert(it->second.GetToOpen());

866

compare_object.m_BoundariesMap[

subject

].insert(it->first.GetFrom());

867

compare_object.m_BoundariesMap[

subject

].insert(it->first.GetToOpen());

875

list< AutoPtr<SAlignment> > align_parts;

878  TSeqRange

range =

row

== 0 ? query_range : subject_range;

881

it != boundaries.

end

() && *it <= range.

GetToOpen

(); ++it)

887

align_parts.push_back(part);

892  if

(!align_parts.empty() && last_boundary < range.

GetToOpen

()) {

895

align_parts.push_back(part);

904  if

(align->GetSegs().IsDisc()) {

905

vector< AutoPtr<SAlignment> > seg_slices;

910

slice_range & (*seg_it)->GetSeqRange(

row

);

911  if

(seg_slice_range.

Empty

()) {

915  SAlignment

(source_set, *seg_it, compare_object) . Slice(

918

seg_slices.push_back(slice);

922  if

(seg_slices.size() == 1) {

923

complete_slice = seg_slices.front();

924

}

else if

(seg_slices.size() > 1) {

927

compare_object,

true

));

929

complete_align->

SetSegs

().SetDisc().Set().push_back(

931

complete_slice->query_mismatches += (*seg_it)->query_mismatches;

932

complete_slice->subject_mismatches += (*seg_it)->query_mismatches;

935  return

complete_slice;

938  if

(!align->GetSegs().IsDenseg()) {

940  "Alignment splitting supported only for Dense-seq and " 941  "Disc-seg alignments"

);

945

slice_align->

SetType

(align->GetType());

946  if

(align->IsSetDim()) {

947

slice_align->

SetDim

(align->GetDim());

951  bool

all_gaps =

true

;

952  for

(

int

seg = 0; seg < slice_seg->

GetNumseg

() && all_gaps; ++seg) {

953  if

(slice_seg->

GetStarts

()[seg*2] >= 0 &&

963

slice_align->

SetSegs

().SetDenseg(*slice_seg);

965  if

((*score_it)->GetId().IsStr() &&

966

compare_object.m_DistributiveScores.count(

967

(*score_it)->GetId().GetStr()))

969

slice_align->

SetScore

().push_back(*score_it);

972

slice.

reset

(

new SAlignment

(source_set, slice_align, compare_object,

true

));

975  if

(compare_object.m_Mode ==

e_Full

) {

976

slice->query_mismatches = query_mismatches;

977

slice->query_mismatches &= slice_align->

GetSeqRange

(0);

978

slice->subject_mismatches = subject_mismatches;

979

slice->subject_mismatches &= slice_align->

GetSeqRange

(1);

986

list< AutoPtr<SAlignment> > orig_set;

987

list< AutoPtr<SAlignment> > &transformed_set =

990

: transformed_set.front()->subject;

994

orig_set.swap(transformed_set);

996

list< AutoPtr<CAlignCompare::SAlignment> > parts =

997

(*it)->BreakOnBoundaries(

row

);

999

transformed_set.push_back(*it);

1001

transformed_set.splice(transformed_set.end(), parts);

1021  if

(next_group_set & 1) {

1024  if

(next_group_set & 2) {

1028

vector<const SAlignment *> group;

1029  switch

(next_group_set) {

1036

group.push_back(&**it);

1047

group.push_back(&**it);

1065

set1_aligns.

insert

(&**it);

1071

set2_aligns.

insert

(&**it);

1076

vector<TComp> comparisons;

1085  if

(

m_Strict

&& red_color.count(rhs) > 0 ) {

1101  TComp const

& record = comparisons.back();

1115  typedef

pair<TAlignPtrSet, EMatchLevel> TAlignGroup;

1117

list<TAlignGroup> groups;

1120  ITERATE

(vector<TComp>, it, comparisons) {

1121  bool

is_equivalent = it->second.is_equivalent;

1124  if

(is_equivalent ||

1125

(it->second.overlap > 0 &&

1126

it->first.first->match_level !=

e_Equiv

&&

1127

it->first.second->match_level !=

e_Equiv

))

1129

list<TAlignGroup>::iterator align1_group = groups.end(),

1130

align2_group = groups.end();

1131  if

(set1_aligns.

erase

(it->first.first)) {

1132

it->first.first->match_level =

1134

group.push_back(it->first.first);

1135  if

(is_equivalent) {

1141

+ it->second.spans_overlap;

1145

align1_group = group_map[it->first.first];

1147  if

(set2_aligns.

erase

(it->first.second)) {

1148

it->first.second->match_level =

1150

group.push_back(it->first.second);

1151  if

(is_equivalent) {

1157

+ it->second.spans_overlap;

1161

align2_group = group_map[it->first.second];

1163  if

(align1_group == groups.end() &&

1164

align2_group == groups.end())

1168 

list<TAlignGroup>::iterator new_group =

1169

groups.

insert

(groups.end(), TAlignGroup());

1170

new_group->first.insert(it->first.first);

1171

new_group->first.insert(it->first.second);

1172

new_group->second = it->first.first->match_level;

1173

group_map[it->first.first] = new_group;

1174

group_map[it->first.second] = new_group;

1177

}

else if

(align1_group == groups.end()) {

1179 

align2_group->first.

insert

(it->first.first);

1180

group_map[it->first.first] = align2_group;

1181

}

else if

(align2_group == groups.end()) {

1183 

align1_group->first.

insert

(it->first.second);

1184

group_map[it->first.second] = align1_group;

1185

}

else if

(align1_group != align2_group) {

1188

align1_group->first.insert(*group2_it);

1189

group_map[*group2_it] = align1_group;

1191  if

(align2_group->second ==

e_Overlap

) {

1193  if

(align1_group->second ==

e_Equiv

) {

1202

groups.erase(align2_group);

1207  ITERATE

(list<TAlignGroup>, group_it, groups) {

1214 

vector<SAlignment *> best(3,

static_cast<SAlignment

*

>

(

NULL

));

1216  SAlignment

*&side_best = best[(*align_it)->source_set];

1220

side_best = *align_it;

1223  if

(best[1]->quality_scores != best[2]->quality_scores) {

1228

(*align_it)->match_level =

1229

(*align_it)->source_set == better_side

1235  if

((*align1_it)->source_set != 1) {

1239  if

((*align2_it)->source_set != 2) {

1242

(*align1_it)->matched_alignments.push_back(*align2_it);

1243

(*align2_it)->matched_alignments.push_back(*align1_it);

1252  ITERATE

(vector<TComp>, comp_it, comparisons) {

1253  if

(set1_aligns.

empty

() && set2_aligns.

empty

()) {

1257  if

(comp_it->second.overlap == 0) {

1258  if

(set1_aligns.

erase

(comp_it->first.first)) {

1259

group.push_back(comp_it->first.first);

1262  if

(set2_aligns.

erase

(comp_it->first.second)) {

1263

group.push_back(comp_it->first.second);

1269

group.push_back(*set1_it);

1273

group.push_back(*set2_it);

User-defined methods of the data storage class.

User-defined methods of the data storage class.

User-defined methods of the data storage class.

User-defined methods of the data storage class.

User-defined methods of the data storage class.

User-defined methods of the data storage class.

bool s_IsOverlapping(CAlignCompare::SAlignment const *lhs, CAlignCompare::SAlignment const *rhs, CAlignCompare::ERowComparison row)

static bool s_EquivalentScores(const CAlignCompare::TRealScoreSet &scores1, const CAlignCompare::TRealScoreSet &scores2, double real_score_tolerance)

static void s_GetAlignmentMismatches(const CSeq_align &align, CAlignCompare::SAlignment &align_info, CAlignCompare::ERowComparison row)

static void s_GetAlignmentSpans_Exon(const CSeq_align &align, CAlignCompare::SAlignment &align_info, CAlignCompare::ERowComparison row)

static void s_PopulateScoreSet(const CSeq_align &align, const set< string > &score_set, bool score_set_as_blacklist, CAlignCompare::TIntegerScoreSet &integer_scores, CAlignCompare::TRealScoreSet &real_scores)

pair< TPtrPair, SComparison > TComp

static void s_PopulateExtSet(const CSeq_align &align, const set< string > &ext_set, bool ext_set_as_blacklist, CAlignCompare::TExtSet &exts)

pair< CAlignCompare::SAlignment *, CAlignCompare::SAlignment * > TPtrPair

static bool s_EquivalentExts(const CAlignCompare::TExtSet &exts1, const CAlignCompare::TExtSet &exts2)

void s_PopulateScores(const CSeq_align &align, const vector< string > &score_list, vector< T > &scores, bool required=true)

static void s_UpdateSpans(const TSeqRange &query_range, const TSeqRange &subject_range, CAlignCompare::SAlignment &align_info, CAlignCompare::ERowComparison row)

static void s_GetAlignmentSpans_Interval(const CSeq_align &align, CAlignCompare::SAlignment &align_info, CAlignCompare::ERowComparison row)

string s_ConvertToHexString(unsigned char *ptr, unsigned int length)

set< CAlignCompare::SAlignment *, SAlignment_PtrLess > TAlignPtrSet

static void s_GetAlignmentSpans_Intron(const CSeq_align &align, CAlignCompare::SAlignment &align_info, CAlignCompare::ERowComparison row)

static void s_GetAlignmentSpans_Span(const CSeq_align &align, CAlignCompare::SAlignment &align_info, CAlignCompare::ERowComparison row)

void ConvertSeqAlignToPairwiseAln(CPairwiseAln &pairwise_aln, const objects::CSeq_align &sa, objects::CSeq_align::TDim row_1, objects::CSeq_align::TDim row_2, CAlnUserOptions::EDirection direction=CAlnUserOptions::eBothDirections, const TAlnSeqIdVec *ids=0)

Build pairwise alignment from the selected rows of a seq-align.

Checksum and hash calculation classes.

vector< const SAlignment * > NextGroup()

size_t m_CountOverlapGroups

int x_DetermineNextGroupSet()

Determine whether the next group of alignments should be taken from set 1 or 2.

list< AutoPtr< SAlignment > > m_NextSet2Group

list< AutoPtr< SAlignment > > m_NextSet1Group

size_t m_CountBasesOverlapSet2

list< AutoPtr< SAlignment > > m_CurrentSet2Group

size_t m_CountBasesOnlySet2

size_t m_CountBasesEquivSet1

map< CSeq_id_Handle, set< TSeqPos > > m_BoundariesMap

size_t m_CountBasesEquivSet2

void x_SplitOnOverlaps(int group, int row)

size_t m_CountOverlapSet1

void PopulateBoundariesMap()

double m_RealScoreTolerance

bool m_ScoreSetAsBlacklist

AutoPtr< SAlignment > x_NextAlignment(int set, bool update_counts=true)

Get next alignment from the correct set.

TDisambiguatingScoreList m_DisambiguitingScores

size_t m_CountBasesOverlapSet1

void x_GetCurrentGroup(int set)

list< AutoPtr< SAlignment > > m_CurrentSet1Group

size_t m_CountBasesOnlySet1

vector< string > m_QualityScores

size_t m_CountEquivGroups

size_t m_CountOverlapSet2

CAlignRange Represents an element of pairwise alignment of two sequences.

Default IAlnSeqId implementation based on CSeq_id_Handle.

CChecksumStreamWriter –.

CRef< CDense_seg > ExtractSlice(TDim row, TSeqPos from, TSeqPos to) const

Extract a slice of the alignment that includes the specified range.

A pairwise aln is a collection of ranges for a pair of rows.

CRange< TSeqPos > GetSeqRange(TDim row) const

GetSeqRange NB: On a Spliced-seg, in case the product-type is protein, these only return the amin par...

TSeqPos GetSeqStop(TDim row) const

const CSeq_id & GetSeq_id(TDim row) const

Get seq-id (the first one if segments have different ids).

TSeqPos GetSeqStart(TDim row) const

ENa_strand GetSeqStrand(TDim row) const

Get strand (the first one if segments have different strands).

Writer-based output stream.

virtual bool EndOfData() const =0

container_type::const_iterator const_iterator

const_iterator begin() const

const_iterator end() const

iterator_bool insert(const value_type &val)

iterator_bool insert(const value_type &val)

const_iterator upper_bound(const key_type &key) const

const_iterator end() const

static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)

static int lookup(const char *name, const struct lookup_int *table)

void reset(element_type *p=0, EOwnership ownership=eTakeOwnership)

Reset will delete the old pointer (if owned), set content to the new value, and assume the ownership ...

unsigned int TSeqPos

Type for sequence locations and lengths.

#define ITERATE(Type, Var, Cont)

ITERATE macro to sequence through container elements.

element_type * get(void) const

Get pointer.

#define NON_CONST_ITERATE(Type, Var, Cont)

Non constant version of ITERATE macro.

void GetMD5Digest(unsigned char digest[16]) const

Return calculated MD5 digest.

const CChecksum & GetChecksum(void) const

Return checksum.

#define ERR_POST(message)

Error posting with file, line number information but without error codes.

void Error(CExceptionArgs_Base &args)

TErrCode GetErrCode(void) const

Get error code.

#define NCBI_THROW(exception_class, err_code, message)

Generic macro to throw an exception, given the exception class, error code and message string.

#define MSerial_AsnBinary

#define MSerial_AsnText

I/O stream manipulators –.

static CSeq_id_Handle GetHandle(const CSeq_id &id)

Normal way of getting a handle, works for any seq-id.

string AsString(void) const

TRange GetTotalRange(void) const

int64_t Int8

8-byte (64-bit) signed integer

bool IntersectingWith(const TThisType &r) const

position_type GetToOpen(void) const

CRange< TSeqPos > TSeqRange

typedefs for sequence ranges

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)

Convert numeric value to string.

void SetFrom(TFrom value)

Assign a value to From data member.

TTo GetTo(void) const

Get the To member data.

TFrom GetFrom(void) const

Get the From member data.

void SetTo(TTo value)

Assign a value to To data member.

bool IsSetProduct_strand(void) const

should be 'plus' or 'minus' Check if a value has been assigned to Product_strand data member.

TScore & SetScore(void)

Assign a value to Score data member.

E_Choice Which(void) const

Which variant is currently selected.

bool IsSetParts(void) const

basic seqments always are in biologic order Check if a value has been assigned to Parts data member.

vector< CRef< CScore > > TScore

const TLoc & GetLoc(void) const

Get the Loc member data.

list< CRef< CStd_seg > > TStd

bool IsSetExt(void) const

extra info Check if a value has been assigned to Ext data member.

bool IsSetProduct_strand(void) const

should be 'plus' or 'minus' Check if a value has been assigned to Product_strand data member.

const TStarts & GetStarts(void) const

Get the Starts member data.

TGenomic_start GetGenomic_start(void) const

Get the Genomic_start member data.

void SetSegs(TSegs &value)

Assign a value to Segs data member.

void SetDim(TDim value)

Assign a value to Dim data member.

TGenomic_strand GetGenomic_strand(void) const

Get the Genomic_strand member data.

list< CRef< CUser_object > > TExt

bool IsSetGenomic_strand(void) const

genomic-strand represents the strand of translation Check if a value has been assigned to Genomic_str...

bool CanGetProduct_strand(void) const

Check if it is safe to call GetProduct_strand method.

void SetType(TType value)

Assign a value to Type data member.

const TParts & GetParts(void) const

Get the Parts member data.

const TProduct_start & GetProduct_start(void) const

Get the Product_start member data.

const TProduct_end & GetProduct_end(void) const

Get the Product_end member data.

const TSpliced & GetSpliced(void) const

Get the variant data.

bool IsSetGenomic_strand(void) const

Check if a value has been assigned to Genomic_strand data member.

const TStd & GetStd(void) const

Get the variant data.

list< CRef< CSpliced_exon > > TExons

const TExons & GetExons(void) const

Get the Exons member data.

TGenomic_strand GetGenomic_strand(void) const

Get the Genomic_strand member data.

TProduct_strand GetProduct_strand(void) const

Get the Product_strand member data.

const TExt & GetExt(void) const

Get the Ext member data.

list< CRef< CSpliced_exon_chunk > > TParts

bool IsSetScore(void) const

for whole alignment Check if a value has been assigned to Score data member.

TGenomic_end GetGenomic_end(void) const

Get the Genomic_end member data.

bool IsSpliced(void) const

Check if variant Spliced is selected.

TNumseg GetNumseg(void) const

Get the Numseg member data.

TProduct_strand GetProduct_strand(void) const

Get the Product_strand member data.

list< CRef< CSeq_align > > Tdata

const TScore & GetScore(void) const

Get the Score member data.

const TDisc & GetDisc(void) const

Get the variant data.

const Tdata & Get(void) const

Get the member data.

const TSegs & GetSegs(void) const

Get the Segs member data.

bool CanGetGenomic_strand(void) const

Check if it is safe to call GetGenomic_strand method.

@ e_Product_ins

insertion in product sequence (i.e. gap in the genomic sequence)

@ e_Genomic_ins

insertion in genomic sequence (i.e. gap in the product sequence)

@ e_Match

both sequences represented, product and genomic sequences match

@ e_Mismatch

both sequences represented, product and genomic sequences do not match

bool IsEmpty(void) const

Check if variant Empty is selected.

bool IsInt(void) const

Check if variant Int is selected.

bool IsNull(void) const

Check if variant Null is selected.

constexpr auto sort(_Init &&init)

const GenericPointer< typename T::ValueType > T2 value

const CharType(& source)[N]

double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)

static int match(PCRE2_SPTR start_eptr, PCRE2_SPTR start_ecode, uint16_t top_bracket, PCRE2_SIZE frame_size, pcre2_match_data *match_data, match_block *mb)

Reader-writer based streams.

static const sljit_gpr r1

static const sljit_gpr r0

#define row(bind, expected)

TDisambiguatingScoreValues scores

TRealScoreSet real_scores

vector< double > quality_scores

int CompareGroup(const SAlignment &o, bool strict_only) const

void PopulateBoundariesMap() const

list< AutoPtr< SAlignment > > BreakOnBoundaries(int row) const

SAlignment(int s, const CRef< CSeq_align > &al, CAlignCompare &compare, bool is_slice=false)

ENa_strand subject_strand

TIntegerScoreSet integer_scores

CRangeCollection< TSeqPos > query_mismatches

AutoPtr< SAlignment > Slice(int row, TSeqPos from, TSeqPos to) const

CRangeCollection< TSeqPos > subject_mismatches

bool operator()(const CAlignCompare::SAlignment *ptr1, const CAlignCompare::SAlignment *ptr2) const

bool operator()(const TComp &c1, const TComp &c2) const

SComp_Less(bool strict=false)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4