m_ali(ali), m_scope(scope), m_protein(protein), m_genomic(genomic)
88exon->SetGenomic_start(
NucPosOut(nulpos));
90exon->SetGenomic_end(
NucPosOut(nulpos));
97exon->SetGenomic_end(
NucPosOut(nulpos));
99exon->SetGenomic_start(
NucPosOut(nulpos));
148 intnulpos = 0, nultripos = 0;
152vector<CAliPiece>::const_iterator pit =
m_ali.
m_ps.begin();
153vector<CAliPiece>::const_iterator pit_end =
m_ali.
m_ps.end();
155 for(; pit != pit_end; ++pit) {
156 if(pit->m_type ==
eVP)
157nultripos += pit->m_len;
158 else if(pit->m_type ==
eHP|| pit->m_type ==
eSP)
159nulpos += pit->m_len;
169 while(--pit_end != pit && pit_end->m_type !=
eMP)
177exon->SetPartial(nultripos > 0);
179 for(; pit != pit_end; ++pit) {
180 if(pit->m_type ==
eSP) {
182s[0] = cnseq.
Upper(nulpos);
183s[1] = cnseq.
Upper(nulpos+1);
184exon->SetDonor_after_exon().SetBases(s);
188nulpos += pit->m_len;
190s[0] = cnseq.
Upper(nulpos-2);
191s[1] = cnseq.
Upper(nulpos-1);
192exon->SetAcceptor_before_exon().SetBases(s);
197exon->SetParts().push_back(chunk);
200 switch(pit->m_type) {
203chunk->SetProduct_ins(pit->m_len);
206nultripos += pit->m_len;
210chunk->SetGenomic_ins(pit->m_len);
213nulpos += pit->m_len;
217chunk->SetDiag(pit->m_len);
219nultripos += pit->m_len;
220nulpos += pit->m_len;
231exon->SetPartial(nultripos <
int(cpseq.
seq.size())*3);
CRef< CProduct_pos > NultriposToProduct_pos(int nultripos)
Convert linear coordinate into (amin,frame)
bool IsForward(ENa_strand s)
@ eExtreme_Positional
numerical value
void SetExonBioStart(CRef< CSpliced_exon > exon, int nulpos, int nultripos) const
static string Seq_idToString(CRef< CSeq_id > seqid)
void SetExonBioEnd(CRef< CSpliced_exon > exon, int nulpos, int nultripos) const
static CRef< CSeq_id > StringToSeq_id(const string &id)
CRef< CSeq_align > MakeSeq_align(const CPSeq &cpseq, const CNSeq &cnseq) const
int NucPosOut(int pos) const
CAliToSeq_align(const CAli &ali, CScope &scope, const CSeq_id &protein, const CSeq_loc &genomic)
const CSeq_loc & m_genomic
const CSeq_id & m_protein
char Upper(int pos) const
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
string GetSeqIdString(bool with_version=false) const
Return seqid string with optional version for text seqid type.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
static SIZE_TYPE ParseFastaIds(CBioseq::TId &ids, const CTempString &s, bool allow_partial_failure=false)
Parse an entire set of |-delimited FASTA-style IDs, appending the results to IDS.
static int Score(const CRef< CSeq_id > &id)
Wrappers for use with FindBestChoice from <corelib/ncbiutil.hpp>
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Override Assign() to incorporate cache invalidation.
bool NotNull(void) const THROWS_NONE
Check if pointer is not null â same effect as NotEmpty().
void Reset(void)
Reset reference object.
#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.
C::value_type FindBestChoice(const C &container, F score_func)
Find the best choice (lowest score) for values in a container.
void SetAmin(TAmin value)
Assign a value to Amin data member.
void SetProduct_id(TProduct_id &value)
Assign a value to Product_id data member.
void SetSegs(TSegs &value)
Assign a value to Segs data member.
TExons & SetExons(void)
Assign a value to Exons data member.
void SetProduct_length(TProduct_length value)
Assign a value to Product_length data member.
void SetDim(TDim value)
Assign a value to Dim data member.
void SetType(TType value)
Assign a value to Type data member.
void SetProduct_type(TProduct_type value)
Assign a value to Product_type data member.
TProtpos & SetProtpos(void)
Select the variant.
void SetGenomic_id(TGenomic_id &value)
Assign a value to Genomic_id data member.
void SetGenomic_strand(TGenomic_strand value)
Assign a value to Genomic_strand data member.
void SetFrame(TFrame value)
Assign a value to Frame data member.
TBounds & SetBounds(void)
Assign a value to Bounds data member.
ENa_strand
strand of nucleic acid
list< CRef< CSeq_id > > TId
Useful/utility classes and methods.
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