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

NCBI C++ ToolKit: src/objtools/validator/splice_problems.cpp Source File

49 using namespace

sequence;

72  ESpliceSiteRead

good_donor = ReadDonorSpliceSite(strand, stop, vec_donor, seq_len_donor, donor);

73  ESpliceSiteRead

good_acceptor = ReadAcceptorSpliceSite(strand, start, vec_acceptor, seq_len_acceptor, acceptor);

74  bool

donor_ok = (good_donor == eSpliceSiteRead_OK || good_donor == eSpliceSiteRead_WrongNT);

75  bool

acceptor_ok = (good_acceptor == eSpliceSiteRead_OK || good_acceptor == eSpliceSiteRead_WrongNT);

77  if

(donor_ok && acceptor_ok) {

87

m_AcceptorProblems.push_back(

TSpliceProblem

(good_acceptor, start));

90

m_AcceptorProblems.push_back(

TSpliceProblem

(good_acceptor, start));

100  bool

bad_seq =

false

;

104  if

(stop > 1 && stop <= seq_len) {

107

bad_seq = (vec[stop - 1] > 250 || vec[stop - 2] > 250);

111  return

eSpliceSiteRead_Gap;

112

}

else if

(bad_seq) {

113  return

eSpliceSiteRead_BadSeq;

117  site

[0] = vec[stop - 2];

118  site

[1] = vec[stop - 1];

120  return

eSpliceSiteRead_OutOfRange;

125  if

(stop < seq_len - 2) {

128

bad_seq = (vec[stop + 1] > 250 || vec[stop + 2] > 250);

131  return

eSpliceSiteRead_Gap;

132

}

else if

(bad_seq) {

133  return

eSpliceSiteRead_BadSeq;

135  site

[0] = vec[stop + 1];

136  site

[1] = vec[stop + 2];

138  return

eSpliceSiteRead_OutOfRange;

144  return

eSpliceSiteRead_OK;

146  return

eSpliceSiteRead_WrongNT;

149  return

eSpliceSiteRead_OK;

159  return

ReadDonorSpliceSite(strand, stop, vec, seq_len,

site

);

173  bool

bad_seq =

false

;

177  if

(start < seq_len - 2) {

180

bad_seq = (vec[start + 1] > 250 || vec[start + 2] > 250);

184  return

eSpliceSiteRead_Gap;

185

}

else if

(bad_seq) {

186  return

eSpliceSiteRead_BadSeq;

188  site

[0] = vec[start + 1];

189  site

[1] = vec[start + 2];

191  return

eSpliceSiteRead_OutOfRange;

196  if

(start > 1 && start <= seq_len) {

199

bad_seq = (vec[start - 2] > 250 || vec[start - 1] > 250);

203  return

eSpliceSiteRead_Gap;

204

}

else if

(bad_seq) {

205  return

eSpliceSiteRead_BadSeq;

207  site

[0] = vec[start - 2];

208  site

[1] = vec[start - 1];

210  return

eSpliceSiteRead_OutOfRange;

215  return

eSpliceSiteRead_OK;

217  return

eSpliceSiteRead_WrongNT;

220  return

eSpliceSiteRead_BadSeq;

233  return

ReadAcceptorSpliceSite(strand, start, vec, seq_len,

site

);

239  bool

has_errors =

false

;

241  for

(

auto

it = m_DonorProblems.begin(); it != m_DonorProblems.end() && !has_errors; it++) {

242  if

(it->first == eSpliceSiteRead_BadSeq || it->first == eSpliceSiteRead_Gap ||

243

it->first == eSpliceSiteRead_WrongNT) {

248  for

(

auto

it = m_AcceptorProblems.begin(); it != m_AcceptorProblems.end() && !has_errors; it++) {

249  if

(it->first == eSpliceSiteRead_BadSeq || it->first == eSpliceSiteRead_Gap ||

250

it->first == eSpliceSiteRead_WrongNT) {

261

m_DonorProblems.clear();

262

m_AcceptorProblems.clear();

263

m_ExceptionUnnecessary =

false

;

264

m_ErrorsNotExpected =

true

;

266  bool

has_errors =

false

, ribo_slip =

false

;

282

m_ErrorsNotExpected =

false

;

292

m_ErrorsNotExpected =

false

;

300  for

(CSeq_loc_CI

si

(loc);

si

; ++

si

) {

301  if

(

si

.IsSetStrand()) {

305

strand =

si

.GetStrand();

306

}

else if

(strand !=

tmp

) {

314  if

(!check_all && num_parts < 2) {

328

ValidateSpliceExon(feat, loc_handle, strand);

331

ValidateSpliceMrna(feat, loc_handle, strand);

334

ValidateSpliceCdregion(feat, loc_handle, strand);

340

has_errors = SpliceSitesHaveErrors();

342  if

(!m_ErrorsNotExpected && !has_errors && !ribo_slip) {

343

m_ExceptionUnnecessary =

true

;

353  bool

overlap_feat_partial_5 =

false

;

354  bool

overlap_feat_partial_3 =

false

;

355  TSeqPos

overlap_feat_start = 0;

358  bool

overlap_feat_exists =

false

;

366

overlap_feat_exists =

true

;

381

overlap_feat_exists =

true

;

390

CSeq_loc_CI

si

(loc);

402

start = range.

GetTo

();

406

stop = range.

GetTo

();

409  if

(overlap_feat_exists) {

411  if

(stop == overlap_feat_stop) {

412  if

(overlap_feat_partial_3) {

423  if

(start == overlap_feat_start) {

424  if

(overlap_feat_partial_5) {

426

m_AcceptorProblems.push_back(

TSpliceProblem

(good_acceptor, start));

430

m_AcceptorProblems.push_back(

TSpliceProblem

(good_acceptor, start));

441

m_AcceptorProblems.push_back(

TSpliceProblem

(good_acceptor, start));

448

}

catch

(

const

std::exception& ) {

457  bool

ignore_mrna_partial5 =

false

;

458  bool

ignore_mrna_partial3 =

false

;

472

ignore_mrna_partial5 =

true

;

476

ignore_mrna_partial3 =

true

;

483

CSeq_loc_CI

head

(loc);

486  const

CSeq_loc& part =

head

.GetEmbeddingSeq_loc();

493

start = range.

GetTo

();

499

m_AcceptorProblems.push_back(

TSpliceProblem

(good_acceptor, start));

503

CSeq_loc_CI tail(loc);

509  for

(; tail; ++

head

, ++tail) {

514  if

(bsh_head && bsh_tail) {

520

start = range_tail.

GetTo

();

523

start = range_tail.

GetFrom

();

524

stop = range_head.

GetTo

();

526

ValidateDonorAcceptorPair(

538  const

CSeq_loc& part =

head

.GetEmbeddingSeq_loc();

547

stop = range.

GetTo

();

564

CSeq_loc_CI

head

(loc);

567  const

CSeq_loc& part =

head

.GetEmbeddingSeq_loc();

575

start = range.

GetTo

();

580

m_AcceptorProblems.push_back(

TSpliceProblem

(good_acceptor, start));

586

CSeq_loc_CI tail(loc);

592  for

(; tail; ++

head

, ++tail) {

597  if

(bsh_head && bsh_tail) {

603

start = range_tail.

GetTo

();

606

start = range_tail.

GetFrom

();

607

stop = range_head.

GetTo

();

609

ValidateDonorAcceptorPair(

621  const

CSeq_loc& part =

head

.GetEmbeddingSeq_loc();

631

stop = range.

GetTo

();

667  struct

tagSpliceSiteInfo

690  static int size

=

sizeof

(SpliceSiteInfo) /

sizeof

(

struct

tagSpliceSiteInfo);

692  for

(

int i

= 0;

i

<

size

; ++

i

) {

693  struct

tagSpliceSiteInfo* entry = &SpliceSiteInfo[

i

];

694  if

(strand == entry->strand && entry->id == signature) {

695  return

(entry->check_donor0(donor[0]) && entry->check_donor1(donor[1]) &&

696

entry->check_acceptor0(acceptor[0]) && entry->check_acceptor1(acceptor[1]));

707  struct

tagSpliceSiteInfo

728  static int size

=

sizeof

(SpliceSiteInfo) /

sizeof

(

struct

tagSpliceSiteInfo);

730  for

(

int i

= 0;

i

<

size

; ++

i

) {

731  struct

tagSpliceSiteInfo* entry = &SpliceSiteInfo[

i

];

732  if

(strand == entry->strand && entry->id == signature) {

733  return

(entry->check_site0(

site

[0]) && entry->check_site1(

site

[1]));

@ eExtreme_Biological

5' and 3'

ESubtype GetSubtype(void) const

SeqVector related exceptions.

namespace ncbi::objects::

bool SpliceSitesHaveErrors()

void ValidateSpliceCdregion(const CSeq_feat &feat, const CBioseq_Handle &bsh, ENa_strand strand)

void CalculateSpliceProblems(const CSeq_feat &feat, bool check_all, bool pseudo, CBioseq_Handle loc_handle)

void ValidateSpliceExon(const CSeq_feat &feat, const CBioseq_Handle &bsh, ENa_strand strand)

ESpliceSiteRead ReadAcceptorSpliceSite(ENa_strand strand, TSeqPos start, const CSeqVector &vec, TSeqPos seq_len, TSpliceSite &site)

ESpliceSiteRead ReadDonorSpliceSite(ENa_strand strand, TSeqPos stop, const CSeqVector &vec, TSeqPos seq_len, TSpliceSite &site)

void ValidateSpliceMrna(const CSeq_feat &feat, const CBioseq_Handle &bsh, ENa_strand strand)

pair< size_t, TSeqPos > TSpliceProblem

void ValidateDonorAcceptorPair(ENa_strand strand, TSeqPos stop, const CSeqVector &vec_donor, TSeqPos seq_len_donor, TSeqPos start, const CSeqVector &vec_acceptor, TSeqPos seq_len_acceptor)

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

The NCBI C++ standard methods for dealing with std::string.

static const char si[8][64]

unsigned int TSeqPos

Type for sequence locations and lengths.

#define NCBI_THROW(exception_class, err_code, message)

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

bool IsPartialStart(ESeqLocExtremes ext) const

check start or stop of location for e_Lim fuzz

TSeqPos GetStart(ESeqLocExtremes ext) const

Return start and stop positions of the seq-loc.

bool IsPartialStop(ESeqLocExtremes ext) const

TSeqPos GetStop(ESeqLocExtremes ext) const

CMappedFeat GetBestOverlappingFeat(const CMappedFeat &feat, CSeqFeatData::ESubtype need_subtype, sequence::EOverlapType overlap_type, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)

@ eOverlap_Contains

2nd contains 1st extremes

@ eOverlap_Contained

2nd contained within 1st extremes

CBioseq_Handle GetBioseqHandle(const CSeq_id &id)

Get bioseq handle by seq-id.

TInst_Length GetInst_Length(void) const

CScope & GetScope(void) const

Get scope this handle belongs to.

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

Get sequence: Iupacna or Iupacaa if use_iupac_coding is true.

@ eCoding_Iupac

Set coding to printable coding (Iupacna or Iupacaa)

bool IsInGap(TSeqPos pos) const

true if sequence at 0-based position 'pos' has gap Note: this method is not MT-safe,...

char Char

Alias for char.

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define END_SCOPE(ns)

End the previously defined scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

#define BEGIN_SCOPE(ns)

Define a new scope.

static SIZE_TYPE FindNoCase(const CTempString str, const CTempString pattern, SIZE_TYPE start, SIZE_TYPE end, EOccurrence which=eFirst)

Find the pattern in the specified range of a string using a case insensitive search.

TTo GetTo(void) const

Get the To member data.

TFrom GetFrom(void) const

Get the From member data.

const TLocation & GetLocation(void) const

Get the Location member data.

const TData & GetData(void) const

Get the Data member data.

bool IsSetExcept(void) const

something funny about this? Check if a value has been assigned to Except data member.

const TExcept_text & GetExcept_text(void) const

Get the Except_text member data.

bool IsSetExcept_text(void) const

explain if except=TRUE Check if a value has been assigned to Except_text data member.

ENa_strand

strand of nucleic acid

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

bool CheckIntronAcceptor(ENa_strand strand, TConstSpliceSite acceptor)

static const char * kSpliceSiteGT

bool CheckIntronSpliceSites(ENa_strand strand, TConstSpliceSite donor, TConstSpliceSite acceptor)

static bool s_EqualsA(Char c)

static const char * kSpliceSiteGTAG

static const char * kSpliceSiteATAC

static const char * kSpliceSiteGCAG

static const char * kSpliceSiteAG

static const char * kSpliceSiteGC

static bool s_EqualsT(Char c)

static bool s_EqualsG(Char c)

bool CheckAdjacentSpliceSites(const string &signature, ENa_strand strand, TConstSpliceSite donor, TConstSpliceSite acceptor)

static bool s_EqualsC(Char c)

bool CheckIntronDonor(ENa_strand strand, TConstSpliceSite donor)

bool CheckSpliceSite(const string &signature, ENa_strand strand, TConstSpliceSite site)

Char const (& TConstSpliceSite)[2]


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