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

NCBI C++ ToolKit: src/app/cn3d/cn3d_threader.cpp Source File

70 #if (!defined(DEBUG_THREADER) && defined(_DEBUG)) 71 #define DEBUG_THREADER 76

mergeAfterEachSequence(

true

),

77

freezeIsolatedBlocks(

true

),

79

loopLengthMultiplier(1.5),

82

terminalResidueCutoff(-1)

92  static

Char2Int charMap;

94  if

(charMap.size() == 0) {

99

Char2Int::const_iterator c = charMap.find((

unsigned char

)

toupper

(

r

));

100  return

((c != charMap.end()) ? c->second : -1);

116

alignmentManager(parentAlnMgr)

122

ContactMap::iterator c, ce =

contacts

.end();

129  if

(multiple->

NRows

() == 1) {

131  for

(

unsigned int

res=0; res<multiple->

GetMaster

()->Length(); ++res)

136  TRACEMSG

(

"Created Seq_Mtf (PSSM) from BLOSUM62 scores"

);

142  ERRORMSG

(

"Can't create Seq_Mtf with no aligned blocks"

);

147  TRACEMSG

(

"converting PSSM scores to Seq_Mtf"

);

149  for

(

unsigned int

c=0; c<multiple->

GetMaster

()->Length(); ++c)

159  static const unsigned int

MIN_LOOP_MAX = 2;

160  static const unsigned int

EXTENSION_MAX = 10;

167

corDef->

lll

.

llmn

[0] = corDef->

lll

.

llmn

[alignedBlocks.size()] =

168

corDef->

lll

.

llmx

[0] = corDef->

lll

.

llmx

[alignedBlocks.size()] =

169

corDef->

lll

.

lrfs

[0] = corDef->

lll

.

lrfs

[alignedBlocks.size()] = 0;

172

BlockMultipleAlignment::UngappedAlignedBlockList::const_iterator

173  b

= alignedBlocks.begin(), be = alignedBlocks.end();

174  unsigned int n

,

max

;

175  for

(

n

=1, ++

b

;

b

!=be; ++

n

, ++

b

) {

178  max

= (

unsigned int

) (loopLengthMultiplier * uaBlock->

width

);

179  if

(

max

< MIN_LOOP_MAX)

max

= MIN_LOOP_MAX;

190  for

(

n

=0,

b

=alignedBlocks.begin();

b

!=be; ++

b

, ++

n

) {

191

range = (*b)->GetRangeOfRow(0);

192

mid = (range->

from

+ range->

to

) / 2;

199

corDef->

sll

.

nomx

[0] = corDef->

sll

.

nomn

[0] + EXTENSION_MAX;

204

corDef->

sll

.

comx

[alignedBlocks.size() - 1] = corDef->

sll

.

comn

[alignedBlocks.size() - 1] + EXTENSION_MAX;

205  if

(corDef->

sll

.

rfpt

[alignedBlocks.size() - 1] + corDef->

sll

.

comx

[alignedBlocks.size() - 1] >=

207

corDef->

sll

.

comx

[alignedBlocks.size() - 1] =

212  unsigned int

nUnaligned, extN;

213  for

(

n

=0,

b

=alignedBlocks.begin();

b

!=be; ++

b

, ++

n

) {

214

range = (*b)->GetRangeOfRow(0);

216

nUnaligned = range->

from

- prevRange->

to

- 1;

217

extN = nUnaligned / 2;

219

corDef->

sll

.

comx

[

n

- 1] = corDef->

sll

.

comn

[

n

- 1] + nUnaligned - extN;

225

corDef->

fll

.

n

= 0;

243  for

(

i

=0;

i

<dependentSeq->

Length

(); ++

i

)

248

BlockMultipleAlignment::UngappedAlignedBlockList::const_iterator

249

m, me = multipleABlocks.end(), p, pe = pairwiseABlocks.end();

251  for

(

i

=0, m=multipleABlocks.begin(); m!=me; ++

i

, ++m) {

252

multipleRange = (*m)->GetRangeOfRow(0);

253  for

(p=pairwiseABlocks.begin(); p!=pe; ++p) {

254

pairwiseRange = (*p)->GetRangeOfRow(0);

255  if

(pairwiseRange->

from

<= multipleRange->

from

&& pairwiseRange->

to

>= multipleRange->

to

) {

256  int

masterCenter = (multipleRange->

from

+ multipleRange->

to

) / 2;

258  int offset

= masterCenter - pairwiseRange->

from

;

259

pairwiseRange = (*p)->GetRangeOfRow(1);

270  if

(terminalCutoff >= 0) {

271  if

(qrySeq->

sac

.

mn

[0] == -1) {

274

}

else if

(pairwiseABlocks.size() > 0) {

275  const Block::Range

*nextQryBlock = pairwiseABlocks.front()->GetRangeOfRow(1);

276

qrySeq->

sac

.

mn

[0] = nextQryBlock->

from

- 1 - terminalCutoff;

278  if

(qrySeq->

sac

.

mn

[0] < 0) qrySeq->

sac

.

mn

[0] = 0;

279  INFOMSG

(

"new N-terminal block constrained to query loc >= "

<< qrySeq->

sac

.

mn

[0] + 1);

281  if

(qrySeq->

sac

.

mx

[multipleABlocks.size() - 1] == -1) {

284

}

else if

(pairwiseABlocks.size() > 0) {

285  const Block::Range

*prevQryBlock = pairwiseABlocks.back()->GetRangeOfRow(1);

286

qrySeq->

sac

.

mx

[multipleABlocks.size() - 1] = prevQryBlock->

to

+ 1 + terminalCutoff;

288  if

(qrySeq->

sac

.

mx

[multipleABlocks.size() - 1] >= qrySeq->

n

||

289

qrySeq->

sac

.

mx

[multipleABlocks.size() - 1] < 0)

290

qrySeq->

sac

.

mx

[multipleABlocks.size() - 1] = qrySeq->

n

- 1;

291  INFOMSG

(

"new C-terminal block constrained to query loc <= " 292

<< qrySeq->

sac

.

mx

[multipleABlocks.size() - 1] + 1);

303  unsigned int i

, Count=0;

304  bool

InsideStr =

false

;

306  for

(

i

=0;

i

<Str.size(); ++

i

) {

307  if

(!InsideStr && (Str[

i

] !=

' '

)) {

311  if

(Str[

i

] ==

' '

) {

319  while

(!InFile.eof()) {

320

InFile.getline(Str,

sizeof

(Str));

332  const char

*FileName =

"ContactPotential"

;

335  unsigned int i

, j, k;

338  static const unsigned int

kNumDistances = 6;

339  static const unsigned int

kPeptideIndex = 20;

344  ERRORMSG

(

"Threader::CreateRcxPtl() - can't open "

<<

Path

<<

" for reading"

);

351  for

(

i

=0;

i

<kNumDistances; ++

i

) {

353  if

(InFile->eof())

goto error

;

355

InFile->getline(ResName,

sizeof

(ResName),

' '

);

356  if

(InFile->eof())

goto error

;

359  if

(InFile->eof())

goto error

;

368

InFile->getline(ResName,

sizeof

(ResName),

' '

);

369  if

(InFile->eof())

goto error

;

370  for

(j=0; j<kNumDistances; ++j) {

372  if

(InFile->eof())

goto error

;

378  for

(

i

=0;

i

<kNumDistances; ++

i

) {

381

pmf->

rrt

[

i

][j][k] = pmf->

rre

[

i

][j][k] + pmf->

re

[

i

][j] + pmf->

re

[

i

][k];

389  ERRORMSG

(

"Threader::CreateRcxPtl() - error parsing "

<< FileName);

401  unsigned int

NumTrajectoryPoints;

403  static const unsigned int

kNumTempSteps = 3;

407

gsp->

nrs

= nRandomStarts;

408

gsp->

nts

= kNumTempSteps;

471  if

(gsp->

als

== 0) {

472

NumTrajectoryPoints = 1;

474

NumTrajectoryPoints = 0;

475  for

(

unsigned int i

=0;

i

<kNumTempSteps; ++

i

) {

476

NumTrajectoryPoints += gsp->

nti

[

i

] * (gsp->

nac

[

i

] + gsp->

nlc

[

i

]);

478

NumTrajectoryPoints *= gsp->

nrs

;

479

NumTrajectoryPoints += gsp->

nrs

;

481

gsp->

ntp

= NumTrajectoryPoints;

486 #define NO_VIRTUAL_COORDINATE(coord) \ 487  do { coord->type = Threader::MISSING_COORDINATE; return; } while (0) 494

Residue::AtomInfoMap::const_iterator

a

, ae = res->

GetAtomInfos

().end();

497  if

(

a

->second->atomicNumber == 6) {

498  if

(

a

->second->code ==

" C "

)

499  C

= atomSet->

GetAtom

(ap,

true

,

true

);

500  else if

(

a

->second->code ==

" CA "

)

501

CA = atomSet->

GetAtom

(ap,

true

,

true

);

502  else if

(

a

->second->code ==

" CB "

)

503  CB

= atomSet->

GetAtom

(ap,

true

,

true

);

504

}

else if

(

a

->second->atomicNumber == 7 &&

a

->second->code ==

" N "

)

505  N

= atomSet->

GetAtom

(ap,

true

,

true

);

506  if

(

C

&& CA &&

CB

&&

N

)

break

;

515

toCB =

CB

->site - CA->site;

520  Vector

CaN, CaC, cross, bisect;

521

CaN =

N

->site - CA->site;

522

CaC =

C

->site - CA->site;

529

cross = vector_cross(CaN, CaC);

531

toCB = 0.816497 * cross - 0.57735 * bisect;

536

coord->

coord

= CA->site + 2.4 * toCB;

540

Molecule::DisulfideMap::const_iterator ds = mol->

disulfideMap

.find(res->

id

);

543

(ds->second - 1) * 2;

554

*atom1 = atomSet->

GetAtom

(ap1,

true

,

true

),

555

*atom2 = atomSet->

GetAtom

(ap2,

true

,

true

);

558

coord->

coord

= (atom1->

site

+ atom2->site) / 2;

566

virtualCoordinates->resize(2 * mol->

residues

.size() - 1);

567

Molecule::ResidueMap::const_iterator

r

, re = mol->

residues

.end();

573

prevResidue,

r

->second, &((*virtualCoordinates)[

i

++]));

574

prevResidue =

r

->second;

576  r

->second, &((*virtualCoordinates)[

i

++]));

583  double

dist = (p2 - p1).length();

607  unsigned int i

, j, bin;

610  for

(

i

=0;

i

<coords.size(); ++

i

) {

612  WARNINGMSG

(

"Threader::CreateFldMtf() - unable to determine virtual coordinate for " 613

<< ((

i

%2 == 0) ?

"sidechain "

:

"peptide "

) << (

i

/2));

617  for

(j=

i

+10; j<coords.size(); ++j) {

624

(coords[

i

].disulfideWith == (

int

)j || coords[j].disulfideWith == (

int

)

i

)

632

resResContacts->resize(resResContacts->size() + 1);

633

resResContacts->back().vc1 =

i

;

634

resResContacts->back().vc2 = j;

635

resResContacts->back().distanceBin = bin;

639

resPepContacts->resize(resPepContacts->size() + 1);

640

resPepContacts->back().distanceBin = bin;

643

resPepContacts->back().vc1 =

i

;

644

resPepContacts->back().vc2 = j;

646

resPepContacts->back().vc2 =

i

;

647

resPepContacts->back().vc1 = j;

659

Threader::ContactList::const_iterator c;

660  for

(

i

=0, c=resResContacts.begin();

i

<resResContacts.size(); ++

i

, ++c) {

661

fldMtf->

rrc

.

r1

[

i

] = c->vc1 / 2;

662

fldMtf->

rrc

.

r2

[

i

] = c->vc2 / 2;

663

fldMtf->

rrc

.

d

[

i

] = c->distanceBin;

665  for

(

i

=0, c=resPepContacts.begin();

i

<resPepContacts.size(); ++

i

, ++c) {

666

fldMtf->

rpc

.

r1

[

i

] = c->vc1 / 2;

667

fldMtf->

rpc

.

p2

[

i

] = c->vc2 / 2;

668

fldMtf->

rpc

.

d

[

i

] = c->distanceBin;

682

Molecule::ResidueMap::const_iterator

r1

,

r2

, re = mol->

residues

.end();

689

a1 = atomSet->

GetAtom

(ap1,

true

,

true

);

692  for

(

r2

=

r1

, j=

i

;

r2

!=re; ++

r2

, ++j) {

695

fldMtf->

mll

[

i

][j] = 0;

701

a2 = atomSet->

GetAtom

(ap2,

true

,

true

);

703

fldMtf->

mll

[

i

][j] = fldMtf->

mll

[j][

i

] =

704

(!a1 || !a2) ? 0 : (

int

) (((a2->

site

- a1->

site

).length() - 2.7) / 3.4);

712  if

(!masterSequence)

return NULL

;

717

ContactMap::iterator c = mol ?

contacts

.find(mol) :

contacts

.find(masterSequence);

718  if

(c !=

contacts

.end())

return

c->second;

732  const AtomSet

*atomSet =

object

->coordSets.front()->atomSet;

740  GetContacts

(virtualCoordinates, &resResContacts, &resPepContacts);

743

fldMtf =

NewFldMtf

(mol->

residues

.size(), resResContacts.size(), resPepContacts.size());

744

resPepContacts.sort();

759  if

(corDef->

sll

.

n

!= thdTbl->

nsc

|| (

int

)nResult >= thdTbl->

n

) {

760  ERRORMSG

(

"CreateAlignmentFromThdTbl() - inconsistent Thd_Tbl"

);

767  for

(

int

block=0; block<corDef->

sll

.

n

; ++block) {

770

corDef->

sll

.

rfpt

[block] - thdTbl->

no

[block][nResult],

771

corDef->

sll

.

rfpt

[block] + thdTbl->

co

[block][nResult]);

773

thdTbl->

al

[block][nResult] - thdTbl->

no

[block][nResult],

774

thdTbl->

al

[block][nResult] + thdTbl->

co

[block][nResult]);

775

aBlock->

width

= thdTbl->

no

[block][nResult] + 1 + thdTbl->

co

[block][nResult];

777  ERRORMSG

(

"CreateAlignmentFromThdTbl() - error adding block"

);

785  ERRORMSG

(

"CreateAlignmentFromThdTbl() - error finishing alignment"

);

795  if

(!corDef || !masterCorDef || !qrySeq ||

796

corDef->

sll

.

n

!= masterCorDef->

sll

.

n

|| corDef->

sll

.

n

!= qrySeq->

sac

.

n

) {

797  ERRORMSG

(

"FreezeIsolatedBlocks() - bad parameters"

);

802  for

(

int i

=0;

i

<corDef->

sll

.

n

; ++

i

) {

809  if

(qrySeq->

sac

.

mn

[

i

] < 0 || qrySeq->

sac

.

mx

[

i

] < 0)

continue

;

813  bool

adjacentLeft = (

i

> 0 && (qrySeq->

sac

.

mn

[

i

- 1] < 0 || qrySeq->

sac

.

mx

[

i

- 1] < 0));

814  bool

adjacentRight = (

i

< corDef->

sll

.

n

- 1 &&

815

(qrySeq->

sac

.

mn

[

i

+ 1] < 0 || qrySeq->

sac

.

mx

[

i

+ 1] < 0));

821  if

(!adjacentRight) {

832  unsigned int

*nRowsAddedToMultiple,

SequenceViewer

*sequenceViewer)

834

*nRowsAddedToMultiple = 0;

835  if

(!masterMultiple || !originalAlignments || !newAlignments || originalAlignments->size() == 0)

839  static const unsigned int

zscs = 0;

846  float

*trajectory =

NULL

;

847  bool

retval =

false

;

849

AlignmentList::const_iterator p, pe = originalAlignments->end();

851 #ifdef DEBUG_THREADER 858  ERRORMSG

(

"Can't use contact potential on non-structured master, or alpha-only (virtual bond) models!"

);

866

trajectory =

new float

[gibScd->

ntp

];

870 #ifdef DEBUG_THREADER 871

pFile = fopen(

"Seq_Mtf.debug.txt"

,

"w"

);

881 #ifdef DEBUG_THREADER 882

pFile = fopen(

"Fld_Mtf.debug.txt"

,

"w"

);

887  for

(p=originalAlignments->begin(); p!=pe; ) {

889  if

((*p)->NRows() != 2 || (*p)->GetMaster() != masterMultiple->

GetMaster

()) {

890  ERRORMSG

(

"Threader::Realign() - bad pairwise alignment"

);

896  unsigned int

success = 0;

900 #ifdef DEBUG_THREADER 901

pFile = fopen(

"Qry_Seq.debug.txt"

,

"w"

);

909 #ifdef DEBUG_THREADER 910

pFile = fopen(

"Cor_Def.debug.txt"

,

"w"

);

919  INFOMSG

(

"threading "

<< (*p)->GetSequenceOfRow(1)->identifier->ToString());

920

success =

atd

(fldMtf, corDef, qrySeq, rcxPtl, gibScd, thdTbl, seqMtf,

926 #ifdef DEBUG_THREADER 927

pFile = fopen(

"Thd_Tbl.debug.txt"

,

"w"

);

932  for

(

int i

=0;

i

<thdTbl->

n

; ++

i

) {

935  if

(thdTbl->

tf

[

i

] <= 0)

continue

;

938

sequences->front() = (*p)->GetMaster();

939

sequences->back() = (*p)->GetSequenceOfRow(1);

941  if

(!newAlignment)

continue

;

955

newAlignment =

NULL

;

956

++(*nRowsAddedToMultiple);

962

newAlignments->push_back(newAlignment);

969

newAlignment = (*p)->

Clone

();

974

newAlignments->push_back(newAlignment);

997  if

(trajectory)

delete

[] trajectory;

1003  unsigned int row

,

const

vector < int >& residueNumbers,

const Seq_Mtf

*seqMtf)

1006

BlockMultipleAlignment::UngappedAlignedBlockList::const_iterator

b

, be = aBlocks.end();

1010  for

(

b

=aBlocks.begin();

b

!=be; ++

b

) {

1011

masterRange = (*b)->GetRangeOfRow(0);

1012

dependentRange = (*b)->GetRangeOfRow(

row

);

1013  for

(

i

=0;

i

<(*b)->width; ++

i

)

1014  if

(residueNumbers[dependentRange->

from

+

i

] >= 0)

1015

score += seqMtf->

ww

[masterRange->

from

+

i

][residueNumbers[dependentRange->

from

+

i

]];

1023  unsigned int row

,

const

vector < int >& residueNumbers,

const Fld_Mtf

*fldMtf,

const Rcx_Ptl

*rcxPtl)

1026  int

seqIndex1, seqIndex2, resNum1, resNum2, dist,

i

;

1030  for

(

i

=0;

i

<fldMtf->

rrc

.

n

; ++

i

) {

1032  if

(seqIndex1 < 0)

continue

;

1034  if

(seqIndex2 < 0)

continue

;

1036

resNum1 = residueNumbers[seqIndex1];

1037

resNum2 = residueNumbers[seqIndex2];

1038  if

(resNum1 < 0 || resNum2 < 0)

continue

;

1040

dist = fldMtf->

rrc

.

d

[

i

];

1041

score += rcxPtl->

rre

[dist][resNum1][resNum2] + rcxPtl->

re

[dist][resNum1] + rcxPtl->

re

[dist][resNum2];

1045  for

(

i

=0;

i

<fldMtf->

rpc

.

n

; ++

i

) {

1047  if

(seqIndex1 < 0)

continue

;

1054

resNum1 = residueNumbers[seqIndex1];

1055  if

(resNum1 < 0)

continue

;

1058

dist = fldMtf->

rpc

.

d

[

i

];

1059

score += rcxPtl->

rre

[dist][resNum1][resNum2] + rcxPtl->

re

[dist][resNum1] + rcxPtl->

re

[dist][resNum2];

1072

vector < int > residueNumbers;

1073  bool

retval =

false

;

1079  ERRORMSG

(

"Can't use contact potential on non-structured master, or alpha-only (virtual bond) models!"

);

1097

residueNumbers.resize(seq->

Length

());

1098  for

(

unsigned int i

=0;

i

<seq->

Length

(); ++

i

)

1103

scorePSSM = (weightPSSM > 0.0) ?

1105

scoreContacts = (weightPSSM < 1.0) ?

1112

oss <<

"PSSM+Contact score (PSSM x"

<< weightPSSM <<

"): "

<< score;

1129  ERRORMSG

(

"Can't use contact potential on non-structured master, or alpha-only (virtual bond) models!"

);

1140

BlockMultipleAlignment::UngappedAlignedBlockList::const_iterator

b

, be = aBlocks.end(),

n

;

1141  unsigned int

nViolations = 0,

row

;

1144  for

(

b

=aBlocks.begin();

b

!=be; ++

b

) {

1147  if

(

n

== be)

break

;

1153

thisRange = (*b)->GetRangeOfRow(

row

);

1154

nextRange = (*n)->GetRangeOfRow(

row

);

1160  if

(fldMtf->

mll

[thisRange->

to

][nextRange->

from

] < minimumLoop)

1161

minimumLoop = fldMtf->

mll

[thisRange->

to

][nextRange->

from

];

1168

thisRange = (*b)->GetRangeOfRow(

row

);

1169

nextRange = (*n)->GetRangeOfRow(

row

);

1171  if

(nextRange->

from

- thisRange->

to

- 1 < minimumLoop) {

1172

(*violations)[

row

].push_back(make_pair(thisRange->

to

, nextRange->

from

));

1186  unsigned int

nBlocksToAlign = 0;

1193

BlockMultipleAlignment::UngappedAlignedBlockList::const_iterator

1194

m, me = multipleABlocks.end(), p, pe = pairwiseABlocks.end();

1196  for

(m=multipleABlocks.begin(); m!=me; ++m) {

1197

multipleRange = (*m)->GetRangeOfRow(0);

1198  bool

realignBlock =

true

;

1199  for

(p=pairwiseABlocks.begin(); p!=pe; ++p) {

1200

pairwiseRange = (*p)->GetRangeOfRow(0);

1201  if

(pairwiseRange->

from

<= multipleRange->

from

&& pairwiseRange->

to

>= multipleRange->

to

) {

1202

realignBlock =

false

;

1206  if

(realignBlock) ++nBlocksToAlign;

1209  if

(nBlocksToAlign <= 1)

1213  return

(

int

) (exp(1.5 + 0.25432 * nBlocksToAlign) + 0.5);

const AtomCoord * GetAtom(const AtomPntr &atom, bool getAny=false, bool suppressWarning=false) const

BlockMultipleAlignment * Clone(void) const

std::vector< const Sequence * > SequenceList

const UnalignedBlock * GetUnalignedBlockBefore(const UngappedAlignedBlock *aBlock) const

void SetRowDouble(unsigned int row, double value) const

const BLAST_Matrix * GetPSSM(void) const

void SetRowStatusLine(unsigned int row, const std::string &value) const

const Sequence * GetMaster(void) const

std::vector< const UngappedAlignedBlock * > UngappedAlignedBlockList

const Sequence * GetSequenceOfRow(unsigned int row) const

void GetUngappedAlignedBlocks(UngappedAlignedBlockList *blocks) const

unsigned int NRows(void) const

bool HasNoAlignedBlocks(void) const

bool UpdateBlockMapAndColors(bool clearRowInfo=true)

int GetAlignedDependentIndex(unsigned int masterSeqIndex, unsigned int dependentRow) const

bool IsAligned(unsigned int row, unsigned int seqIndex) const

bool AddUnalignedBlocks(void)

bool AddAlignedBlockAtEnd(UngappedAlignedBlock *newBlock)

bool MergeAlignment(const BlockMultipleAlignment *newAlignment)

void SetRangeOfRow(unsigned int row, int from, int to)

CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:

std::string ToString(void) const

DisulfideMap disulfideMap

const MoleculeIdentifier * identifier

static const int NO_ALPHA_ID

const AtomInfoMap & GetAtomInfos(void) const

const Molecule * molecule

const MoleculeIdentifier * identifier

unsigned int Length(void) const

bool GetParentOfType(const T **ptr, bool warnIfNotFound=true) const

bool mergeAfterEachSequence

int terminalResidueCutoff

bool freezeIsolatedBlocks

double loopLengthMultiplier

std::vector< VirtualCoordinate > VirtualCoordinateList

std::list< BlockMultipleAlignment * > AlignmentList

Cor_Def * CreateCorDef(const BlockMultipleAlignment *multiple, double loopLengthMultiplier)

std::vector< IntervalList > GeometryViolationsForRow

bool Realign(const ThreaderOptions &options, BlockMultipleAlignment *masterMultiple, const AlignmentList *originalAlignments, AlignmentList *newAlignments, unsigned int *nRowsAddedToMultiple, SequenceViewer *sequenceViewer)

AlignmentManager * alignmentManager

Threader(AlignmentManager *parentAlnMgr)

static const unsigned int SCALING_FACTOR

static const std::string ThreaderResidues

unsigned int GetGeometryViolations(const BlockMultipleAlignment *multiple, GeometryViolationsForRow *violations)

Gib_Scd * CreateGibScd(bool fast, unsigned int nRandomStarts)

Seq_Mtf * CreateSeqMtf(const BlockMultipleAlignment *multiple, double weightPSSM)

Qry_Seq * CreateQrySeq(const BlockMultipleAlignment *multiple, const BlockMultipleAlignment *pairwise, int terminalCutoff)

static unsigned int EstimateNRandomStarts(const BlockMultipleAlignment *coreAlignment, const BlockMultipleAlignment *toBeThreaded)

bool CalculateScores(const BlockMultipleAlignment *multiple, double weightPSSM)

Fld_Mtf * CreateFldMtf(const Sequence *masterSequence)

Rcx_Ptl * CreateRcxPtl(double weightContacts)

std::list< Contact > ContactList

bool EditorIsOn(void) const

static void ReadToRowOfEnergies(ifstream &InFile, unsigned int NumResTypes)

ThreaderOptions globalThreaderOptions

static void GetVirtualResidue(const AtomSet *atomSet, const Molecule *mol, const Residue *res, Threader::VirtualCoordinate *coord)

static void GetVirtualPeptide(const AtomSet *atomSet, const Molecule *mol, const Residue *res1, const Residue *res2, Threader::VirtualCoordinate *coord)

static bool FreezeIsolatedBlocks(Cor_Def *corDef, const Cor_Def *masterCorDef, const Qry_Seq *qrySeq)

static const unsigned int NUM_RES_TYPES

static unsigned int CountWords(char *chs)

bool operator<(const Threader::Contact &c1, const Threader::Contact &c2)

static int LookupThreaderResidueNumberFromCharacterAbbrev(char r)

static double CalculatePSSMScore(const BlockMultipleAlignment::UngappedAlignedBlockList &aBlocks, unsigned int row, const vector< int > &residueNumbers, const Seq_Mtf *seqMtf)

unsigned int LookupNCBIStdaaNumberFromThreaderResidueNumber(char r)

static void TranslateContacts(const Threader::ContactList &resResContacts, const Threader::ContactList &resPepContacts, Fld_Mtf *fldMtf)

static void GetVirtualCoordinates(const Molecule *mol, const AtomSet *atomSet, Threader::VirtualCoordinateList *virtualCoordinates)

static void GetMinimumLoopLengths(const Molecule *mol, const AtomSet *atomSet, Fld_Mtf *fldMtf)

static const unsigned int MAX_DISTANCE_BIN

static BlockMultipleAlignment * CreateAlignmentFromThdTbl(const Thd_Tbl *thdTbl, unsigned int nResult, const Cor_Def *corDef, BlockMultipleAlignment::SequenceList *sequences, AlignmentManager *alignmentManager)

static double CalculateContactScore(const BlockMultipleAlignment *multiple, unsigned int row, const vector< int > &residueNumbers, const Fld_Mtf *fldMtf, const Rcx_Ptl *rcxPtl)

static void GetContacts(const Threader::VirtualCoordinateList &coords, Threader::ContactList *resResContacts, Threader::ContactList *resPepContacts)

static unsigned int BinDistance(const Vector &p1, const Vector &p2)

#define NO_VIRTUAL_COORDINATE(coord)

Include a standard set of the NCBI C++ Toolkit most basic headers.

string Path(const string &dir, const string &file)

static void cleanup(void)

#define END_SCOPE(ns)

End the previously defined scope.

#define BEGIN_SCOPE(ns)

Define a new scope.

IO_PREFIX::ifstream CNcbiIfstream

Portable alias for ifstream.

static string DoubleToString(double value, int precision=-1, TNumToStringFlags flags=0)

Convert double to string.

unsigned int

A callback function used to compare two keys in a database.

const struct ncbi::grid::netcache::search::fields::SIZE size

The NCBI C++/STL use hints.

std::istream & in(std::istream &in_, double &x_)

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

static Threader::GeometryViolationsForRow violations

static const sljit_gpr r1

static const sljit_gpr r2

#define row(bind, expected)

static int GetBLOSUM62Score(char a, char b)

unsigned char LookupNCBIStdaaNumberFromCharacter(char r)

Gib_Scd * NewGibScd(int NumTempSteps)

Fld_Mtf * FreeFldMtf(Fld_Mtf *mtf)

Thd_Tbl * NewThdTbl(int NumResults, int NumCoreElements)

Rcx_Ptl * NewRcxPtl(int NumResTypes, int NumDistances, int PeptideIndex)

Rcx_Ptl * FreeRcxPtl(Rcx_Ptl *pmf)

Cor_Def * FreeCorDef(Cor_Def *cdf)

Seq_Mtf * NewSeqMtf(int NumResidues, int AlphabetSize)

void PrintCorDef(Cor_Def *cdf, FILE *pFile)

int atd(Fld_Mtf *mtf, Cor_Def *cdf, Qry_Seq *qsq, Rcx_Ptl *pmf, Gib_Scd *gsp, Thd_Tbl *ttb, Seq_Mtf *psm, float *trg, int zscs, double ScalingFactor, float PSSM_Weight)

void PrintThdTbl(Thd_Tbl *ttb, FILE *pFile)

int ThrdRound(double Num)

Fld_Mtf * NewFldMtf(int NumResidues, int NumResResContacts, int NumResPepContacts)

void PrintFldMtf(Fld_Mtf *mtf, FILE *pFile)

Qry_Seq * FreeQrySeq(Qry_Seq *qsq)

Gib_Scd * FreeGibScd(Gib_Scd *gsp)

Thd_Tbl * FreeThdTbl(Thd_Tbl *ttb)

Seq_Mtf * FreeSeqMtf(Seq_Mtf *psm)

void PrintSeqMtf(Seq_Mtf *psm, FILE *pFile)

Cor_Def * NewCorDef(int NumBlocks)

Qry_Seq * NewQrySeq(int NumResidues, int NumBlocks)

void PrintQrySeq(Qry_Seq *qsq, FILE *pFile)


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