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/unordered__spliter_8cpp_source.html below:

NCBI C++ ToolKit: src/algo/align/ngalign/unordered_spliter.cpp Source File

63  typedef

list<T> TypeList;

64  size_t

Count = List.size();

67  ITERATE

(

typename

TypeList, Iter, List) {

74 template

<

typename

T>

76  typedef

list<T> TypeList;

77  size_t

Count = List.size();

79  double

RunningTotal = 0;

80  ITERATE

(

typename

TypeList, Iter, List) {

81

RunningTotal += ((*Iter - Mean) * (*Iter - Mean))/

double

(Count);

84  return

sqrt(RunningTotal);

87 template

<

typename

T>

88 void s_CalcDevs

(

const

list<T>& Values,

T

Mean,

double

StdDev, list<double>& Devs) {

89  typedef

list<T> TypeList;

91  ITERATE

(

typename

TypeList, Iter, Values) {

92  double

Dist =

fabs

(

double

(*Iter) -

double

(Mean));

93  double

Dev = (Dist/StdDev);

103

OrigHandle =

m_Scope

->GetBioseqHandle(Id);

126

OrigHandle =

m_Scope

->GetBioseqHandle(

Loc

);

157

MergedAligns.push_back(Fixed);

162

TIdPairToAlignListMap PairsMap;

165

PairIdStr = (*AlignIter)->GetSeq_id(0).AsFastaString() +

"_" 166

+ (*AlignIter)->GetSeq_id(1).AsFastaString();

167

PairsMap[PairIdStr].push_back(*AlignIter);

171

MergedAligns.clear();

173  ERR_POST

(

Info

<<

"CUnorderedSplitter::CombineAlignments:: "

<< PairMapIter->first);

175  if

(AlignList.size() == 1) {

176

MergedAligns.push_back(AlignList.front());

181  if

(AlignList.size() == 1)

182

MergedAligns.push_back(AlignList.front());

183  else if

(!AlignList.empty()) {

187  if

(!

x_IsAllGap

((*AlignIter)->GetSegs().GetDenseg()))

188

Disc->

SetSegs

().SetDisc().Set().push_back(*AlignIter);

190

MergedAligns.push_back(Disc);

201  const string

& PartIdString = PartIter->first;

203

SplitIdList.push_back(PartId);

216  string

OrigIdStr = Id.GetSeqIdString(

true

);

220

CurrBioseq->

SetInst

().SetLength(0);

223

CurrBioseq->

SetInst

().SetExt().SetDelta().Set();

243  if

(BioRange.

Empty

() ) {

249

CurrInterval->

SetId

().Assign(Id);

263

SplitIds.push_back(CurrId);

264

CurrBioseq->

SetId

().push_back(CurrId);

266  m_Scope

->AddBioseq(*CurrBioseq);

270

CurrBioseq->

SetInst

().SetLength(0);

273

CurrBioseq->

SetInst

().SetExt().SetDelta().Set();

293

InsertSeq->Assign(Seq);

298  if

(Inter.

Empty

()) {

299

SegStart += SeqLength;

302

InsertSeq->SetLoc().SetInt().SetId().Assign(Id);

304

InsertSeq->SetLoc().SetInt().SetFrom(Inter.

GetFrom

());

305

InsertSeq->SetLoc().SetInt().SetTo(Inter.

GetTo

());

311

CurrBioseq->

SetInst

().SetExt().SetDelta().Set().push_back(InsertSeq);

314

SegStart += SeqLength;

321  if

(CurrRange.

Empty

())

326  if

(Inter.

Empty

()) {

333

CurrInterval->

SetId

().Assign(Id);

335

CurrInterval->

SetTo

() = CurrRange.

GetTo

();

347

SplitIds.push_back(CurrId);

348

CurrBioseq->

SetId

().push_back(CurrId);

350  m_Scope

->AddBioseq(*CurrBioseq);

364  string

Ns(100,

'n'

);

366  string

OrigIdStr = Id.GetSeqIdString(

true

);

371  size_t

Start = 0, Found = 0;

373

Found = IupacStr.find(Ns, Start);

375  if

(Found != string::npos) {

378

CurrRange.

SetTo

(Found-1);

382  if

(Inter.

Empty

()) {

383

Start = Found+Ns.size();

390

CurrInterval->

SetId

().Assign(Id);

392

CurrInterval->

SetTo

() = CurrRange.

GetTo

();

404

SplitIds.push_back(CurrId);

406

DeltaSeq->SetLoc().SetInt().Assign(*CurrInterval);

412

CurrBioseq->

SetInst

().SetExt().SetDelta().Set();

414

CurrBioseq->

SetInst

().SetExt().SetDelta().Set().push_back(DeltaSeq);

415

CurrBioseq->

SetId

().push_back(CurrId);

417  m_Scope

->AddBioseq(*CurrBioseq);

419

Start = Found+Ns.size();

422

}

while

(Found != string::npos);

424  if

(Start <= Vec.

size

()) {

431  if

(Inter.

Empty

()) {

438

CurrInterval->

SetId

().Assign(Id);

440

CurrInterval->

SetTo

() = CurrRange.

GetTo

();

452

SplitIds.push_back(CurrId);

454

DeltaSeq->SetLoc().SetInt().Assign(*CurrInterval);

460

CurrBioseq->

SetInst

().SetExt().SetDelta().Set();

462

CurrBioseq->

SetInst

().SetExt().SetDelta().Set().push_back(DeltaSeq);

463

CurrBioseq->

SetId

().push_back(CurrId);

465  m_Scope

->AddBioseq(*CurrBioseq);

474

Fixed->

Assign

(SourceAlignment);

476  if

(SourceAlignment.GetSegs().IsDisc()) {

477

Fixed->

SetSegs

().SetDisc().Set().clear();

481  if

(!FixedPart.

IsNull

())

482

Fixed->

SetSegs

().SetDisc().Set().push_back(FixedPart);

493  if

(SourceInterval.

IsNull

())

497

Denseg.

SetIds

()[0]->Assign(SourceInterval->

GetId

());

507

QueryStarts[0] =

A

->GetSeqStart(0);

508

QueryStarts[1] =

B

->GetSeqStart(0);

511  return

( QueryStarts[0] > QueryStarts[1] );

517

vector<CRef<CSeq_align> > TempVec;

518

TempVec.reserve(AlignSet.size());

519

TempVec.resize(AlignSet.size());

520  copy

(AlignSet.begin(), AlignSet.end(), TempVec.begin());

523  copy

(TempVec.begin(), TempVec.end(),

524

insert_iterator<TSeqAlignList>(AlignSet, AlignSet.end()));

530

TSeqAlignList::iterator Outer, Inner;

531  for

(Outer = Alignments.begin(); Outer != Alignments.end(); ) {

532  for

(Inner = Outer, ++Inner; Inner != Alignments.end(); ) {

534  if

(

x_IsAllGap

((*Inner)->GetSegs().GetDenseg()))

535

Inner = Alignments.erase(Inner);

539  if

(

x_IsAllGap

((*Outer)->GetSegs().GetDenseg()))

540

Outer = Alignments.erase(Outer);

581  if

(!FillUnaligned.

IsNull

()) {

582

NonSeg.

Assign

(*FillUnaligned);

598  if

(NonRange == Intersection) {

603

NonSeg.

SetLens

().push_back(1);

607

}

else if

(Intersection.

NotEmpty

()) {

610  if

(Intersection.

GetTo

() < NonRange.

GetTo

())

627

NonSeg.

SetLens

().push_back(1);

639  for

(

int

Index = 0; Index < Denseg.

GetNumseg

(); Index++) {

654

SubjRange = (*AlignIter)->GetSeqRange(1);

657

Centers.push_back(SubjCenter);

665  s_CalcDevs

(Centers, MeanCenter, StdDev, Devs);

673

TSeqAlignList::iterator AlignIter;

674

list<Int8>::iterator CenterIter;

675

list<double>::iterator DevsIter, Devs2Iter;

676  for

(AlignIter = Alignments.begin(), CenterIter = Centers.begin(),

677

DevsIter = Devs.begin();

678

AlignIter != Alignments.end(); ) {

680  if

(*DevsIter <= 3.0) {

698

: m_Splitter(Splitter)

723  "CSplitSeqIdListSet::CreateQueryFactory: Id List is empty."

);

737  "CSplitSeqIdListSet::CreateQueryFactory: Id List is empty."

);

752  "CSplitSeqIdListSet::CreateLocalDbAdapter: Id List is empty."

);

763

: m_Splitter(Splitter)

788  "CSplitSeqLocListSet::CreateQueryFactory: Loc List is empty."

);

802  "CSplitSeqLocListSet::CreateQueryFactory: Loc List is empty."

);

817  "CSplitSeqLocListSet::CreateLocalDbAdapter: Loc List is empty."

);

841

(*AlignIter)->SetNamedScore(

GetName

(), 1);

843

NewResults->Insert(*MergedAligns);

848

AccumResults->DropQuery(**IdIter);

User-defined methods of the data storage class.

User-defined methods of the data storage class.

@ eExtreme_Positional

numerical value

User-defined methods of the data storage class.

User-defined methods of the data storage class.

User-defined methods of the data storage class.

Handle to the options to the BLAST algorithm.

void TrimEndGaps()

Trim leading/training gaps if possible.

void OffsetRow(TDim row, TSignedSeqPos offset)

Offset row's coords.

void RemovePureGapSegs()

Remove any segments in which every row has a gap (these can arise when ExtractRows is used)

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

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

CRef< CDense_seg > FillUnaligned() const

Create a new dense-seg with added all unaligned pieces (implicit inserts), if any,...

void Compact()

Join adjacent mergeable segments to create a more compact alignment.

CRange< TSeqPos > GetSeqRange(TDim row) const

void Assign(const CSerialObject &obj, ESerialRecursionMode how=eRecursive)

overloaded Assign()

list< CRef< objects::CSeq_id > > & SetIdList()

CRef< blast::IQueryFactory > CreateQueryFactory(objects::CScope &Scope, const blast::CBlastOptionsHandle &BlastOpts)

CRef< blast::CLocalDbAdapter > CreateLocalDbAdapter(objects::CScope &Scope, const blast::CBlastOptionsHandle &BlastOpts)

void SetSeqMasker(CSeqMasker *SeqMasker)

Main interface to window based masker functionality.

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...

const CSeq_id & GetSeq_id(TDim row) const

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

TSeqPos GetLength(void) const

CUnorderedSplitter * m_Splitter

TAlignResultsRef GenerateAlignments(objects::CScope &Scope, ISequenceSet *Querys, ISequenceSet *Subjects, TAlignResultsRef AccumResults)

void SetSeqMasker(CSeqMasker *SeqMasker)

CSplitSeqIdListSet(CUnorderedSplitter *Splitter)

CUnorderedSplitter * m_Splitter

CRef< blast::CLocalDbAdapter > CreateLocalDbAdapter(objects::CScope &Scope, const blast::CBlastOptionsHandle &BlastOpts)

CSeqIdListSet m_SeqIdListSet

void AddSeqId(CRef< objects::CSeq_id > Id)

list< CRef< objects::CSeq_id > > m_OrigSeqIdList

CRef< blast::IQueryFactory > CreateQueryFactory(objects::CScope &Scope, const blast::CBlastOptionsHandle &BlastOpts)

CUnorderedSplitter * m_Splitter

CRef< blast::IQueryFactory > CreateQueryFactory(objects::CScope &Scope, const blast::CBlastOptionsHandle &BlastOpts)

void AddSeqLoc(CRef< objects::CSeq_loc > Loc)

CSplitSeqLocListSet(CUnorderedSplitter *Splitter)

CRef< blast::CLocalDbAdapter > CreateLocalDbAdapter(objects::CScope &Scope, const blast::CBlastOptionsHandle &BlastOpts)

list< CRef< objects::CSeq_loc > > m_OrigSeqLocList

CSeqIdListSet m_SeqIdListSet

void SetSeqMasker(CSeqMasker *SeqMasker)

void x_SortAlignSet(TSeqAlignList &AlignSet)

void x_SplitDeltaExt(const objects::CSeq_id &Id, objects::CBioseq_Handle OrigHandle, TSeqIdList &SplitIds, TSeqRange LimitRange=TSeqRange())

bool x_IsAllGap(const objects::CDense_seg &Denseg)

void x_MakeAlignmentsUnique(TSeqAlignList &Alignments)

void SplitId(const objects::CSeq_id &Id, TSeqIdList &SplitIds)

CRef< objects::CScope > m_Scope

void CombineAlignments(const TSeqAlignList &SourceAligns, TSeqAlignList &MergedAligns)

TSplitIntervalsMap m_PartsMap

CRef< objects::CSeq_align > x_FixAlignment(const objects::CSeq_align &SourceAlignment)

void x_SplitSeqData(const objects::CSeq_id &Id, objects::CBioseq_Handle OrigHandle, TSeqIdList &SplitIds, TSeqRange LimitRange=TSeqRange())

void x_MakeAlignmentPairUnique(CRef< objects::CSeq_align > First, CRef< objects::CSeq_align > Second)

static bool s_SortByQueryStart(const CRef< objects::CSeq_align > &A, const CRef< objects::CSeq_align > &B)

void x_StripDistantAlignments(TSeqAlignList &Alignments)

void SplitLoc(const objects::CSeq_loc &Loc, TSeqIdList &SplitIds)

void GetSplitIdList(TSeqIdList &SplitIdList)

void x_TrimRows(const objects::CDense_seg &DomSeg, objects::CDense_seg &NonSeg, int Row)

list< CRef< objects::CSeq_align > > TSeqAlignList

list< CRef< objects::CSeq_id > > TSeqIdList

unsigned int TSeqPos

Type for sequence locations and lengths.

#define ITERATE(Type, Var, Cont)

ITERATE macro to sequence through container elements.

#define NON_CONST_ITERATE(Type, Var, Cont)

Non constant version of ITERATE macro.

#define ERR_POST(message)

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

void Error(CExceptionArgs_Base &args)

#define NCBI_THROW(exception_class, err_code, message)

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

void Info(CExceptionArgs_Base &args)

virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)

Set object to copy of another one.

const string AsFastaString(void) const

TSeqPos GetStart(ESeqLocExtremes ext) const

Return start and stop positions of the seq-loc.

TSeqPos GetStop(ESeqLocExtremes ext) const

bool CanGetInst(void) const

CSeqVector GetSeqVector(EVectorCoding coding, ENa_strand strand=eNa_strand_plus) const

Get sequence: Iupacna or Iupacaa if use_iupac_coding is true.

const TInst & GetInst(void) const

@ eCoding_Iupac

Set coding to printable coding (Iupacna or Iupacaa)

void GetSeqData(TSeqPos start, TSeqPos stop, string &buffer) const

Fill the buffer string with the sequence data for the interval [start, stop).

void Reset(void)

Reset reference object.

bool IsNull(void) const THROWS_NONE

Check if pointer is null – same effect as Empty().

int64_t Int8

8-byte (64-bit) signed integer

position_type GetLength(void) const

bool NotEmpty(void) const

TThisType & CombineWith(const TThisType &r)

TThisType IntersectionWith(const TThisType &r) const

TThisType & SetLength(position_type length)

CRange< TSeqPos > TSeqRange

typedefs for sequence ranges

#define END_SCOPE(ns)

End the previously defined scope.

#define BEGIN_SCOPE(ns)

Define a new scope.

static string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)

Replace occurrences of a substring within a string.

static string UInt8ToString(Uint8 value, TNumToStringFlags flags=0, int base=10)

Convert UInt8 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.

TStr & SetStr(void)

Select the variant.

const TDenseg & GetDenseg(void) const

Get the variant data.

Tdata & Set(void)

Assign a value to data member.

TScore & SetScore(void)

Assign a value to Score data member.

TLens & SetLens(void)

Assign a value to Lens data member.

const TStarts & GetStarts(void) const

Get the Starts member data.

void SetSegs(TSegs &value)

Assign a value to Segs data member.

void SetType(TType value)

Assign a value to Type data member.

TDim GetDim(void) const

Get the Dim member data.

TStarts & SetStarts(void)

Assign a value to Starts data member.

TStrands & SetStrands(void)

Assign a value to Strands data member.

void SetNumseg(TNumseg value)

Assign a value to Numseg data member.

TNumseg GetNumseg(void) const

Get the Numseg member data.

list< CRef< CSeq_align > > Tdata

TIds & SetIds(void)

Assign a value to Ids data member.

const TSegs & GetSegs(void) const

Get the Segs member data.

@ eType_disc

discontinuous alignment

void SetTo(TTo value)

Assign a value to To data member.

const TId & GetId(void) const

Get the Id member data.

void SetId(TId &value)

Assign a value to Id data member.

TFrom GetFrom(void) const

Get the From member data.

void SetFrom(TFrom value)

Assign a value to From data member.

TLocal & SetLocal(void)

Select the variant.

TTo GetTo(void) const

Get the To member data.

void SetStrand(TStrand value)

Assign a value to Strand data member.

TRepr GetRepr(void) const

Get the Repr member data.

TId & SetId(void)

Assign a value to Id data member.

const TInst & GetInst(void) const

Get the Inst member data.

const TLiteral & GetLiteral(void) const

Get the variant data.

bool IsLoc(void) const

Check if variant Loc is selected.

TLength GetLength(void) const

Get the Length member data.

TMol GetMol(void) const

Get the Mol member data.

bool IsDelta(void) const

Check if variant Delta is selected.

void SetInst(TInst &value)

Assign a value to Inst data member.

const TExt & GetExt(void) const

Get the Ext member data.

const TDelta & GetDelta(void) const

Get the variant data.

const TLoc & GetLoc(void) const

Get the variant data.

bool CanGetSeq_data(void) const

Check if it is safe to call GetSeq_data method.

const Tdata & Get(void) const

Get the member data.

bool CanGetExt(void) const

Check if it is safe to call GetExt method.

bool CanGetSeq_data(void) const

Check if it is safe to call GetSeq_data method.

bool IsLiteral(void) const

Check if variant Literal is selected.

list< CRef< CDelta_seq > > Tdata

bool IsGap(void) const

Check if variant Gap is selected.

const TSeq_data & GetSeq_data(void) const

Get the Seq_data member data.

constexpr auto sort(_Init &&init)

Magic spell ;-) needed for some weird compilers... very empiric.

Defines NCBI C++ exception handling.

void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)

void s_CalcDevs(const list< T > &Values, T Mean, double StdDev, list< double > &Devs)

double s_CalcStdDev(const list< T > &List, T Mean)

T s_CalcMean(const list< T > &List)


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