CBioseq_set::TSeq_set::iterator q, qe = bss.SetSeq_set().end();
77 for(q=bss.SetSeq_set().begin(); q!=qe; ++q) {
78 if(q->GetObject().IsSeq()) {
88seqlist.push_back(sequence);
98 if(seqEntry.
IsSeq()) {
100seqlist.push_back(sequence);
108SeqEntryList::iterator s, se = seqEntries.end();
109 for(s=seqEntries.begin(); s!=se; ++s)
115 #define FIRSTOF2(byte) (((byte) & 0xF0) >> 4) 116 #define SECONDOF2(byte) ((byte) & 0x0F) 121 str->resize(vec.size() * 2);
123 str->resize(vec.size() * 2 - 1);
127 for(
i=0;
i<vec.size(); ++
i) {
133 for(
i=0;
i<
str->size(); ++
i) {
134 switch(
str->at(
i)) {
135 case1:
str->at(
i) =
'A';
break;
136 case2:
str->at(
i) =
'C';
break;
137 case4:
str->at(
i) =
'G';
break;
138 case8: isDNA ?
str->at(
i) =
'T':
str->at(
i) =
'U';
break;
140 str->at(
i) =
'X';
145 #define FIRSTOF4(byte) (((byte) & 0xC0) >> 6) 146 #define SECONDOF4(byte) (((byte) & 0x30) >> 4) 147 #define THIRDOF4(byte) (((byte) & 0x0C) >> 2) 148 #define FOURTHOF4(byte) ((byte) & 0x03) 152 str->resize(vec.size() * 4);
156 for(
i=0;
i<vec.size(); ++
i) {
164 for(
i=0;
i<
str->size(); ++
i) {
165 switch(
str->at(
i)) {
166 case0:
str->at(
i) =
'A';
break;
167 case1:
str->at(
i) =
'C';
break;
168 case2:
str->at(
i) =
'G';
break;
169 case3: isDNA ?
str->at(
i) =
'T':
str->at(
i) =
'U';
break;
176 static const char*stdaaMap =
"-ABCDEFGHIKLMNPQRSTVWXYZU*OJ";
178 str->resize(vec.size());
179 for(
unsigned int i=0;
i<vec.size(); ++
i)
180 str->at(
i) = stdaaMap[(
unsigned int) vec[
i]];
184m_bioseqASN(&bioseq), m_isProtein(
false)
187 if(bioseq.IsSetDescr()) {
188 stringdefline, taxid;
189CSeq_descr::Tdata::const_iterator d, de = bioseq.GetDescr().Get().end();
190 for(d=bioseq.GetDescr().Get().begin(); d!=de; ++d) {
193 if((*d)->IsTitle()) {
194defline = (*d)->GetTitle();
195}
else if(defline.size() == 0 && (*d)->IsPdb() && (*d)->GetPdb().GetCompound().size() > 0) {
196defline = (*d)->GetPdb().GetCompound().front();
200 if((*d)->IsSource()) {
201 if((*d)->GetSource().GetOrg().IsSetTaxname())
202taxid = (*d)->GetSource().GetOrg().GetTaxname();
203 else if((*d)->GetSource().GetOrg().IsSetCommon())
204taxid = (*d)->GetSource().GetOrg().GetCommon();
207 if(taxid.size() > 0)
209 if(defline.size() > 0) {
210 if(taxid.size() > 0)
220 if(bioseq.GetInst().GetSeq_data().IsNcbieaa()) {
223}
else if(bioseq.GetInst().GetSeq_data().IsIupacaa()) {
226}
else if(bioseq.GetInst().GetSeq_data().IsNcbistdaa()) {
232 else if(bioseq.GetInst().GetSeq_data().IsIupacna()) {
241}
else if(bioseq.GetInst().GetSeq_data().IsNcbi4na()) {
244}
else if(bioseq.GetInst().GetSeq_data().IsNcbi8na()) {
247}
else if(bioseq.GetInst().GetSeq_data().IsNcbi2na()) {
250 if(bioseq.GetInst().IsSetLength() && bioseq.GetInst().GetLength() <
m_sequenceString.length())
255 THROW_MESSAGE(
"Sequence::Sequence(): confused by sequence format");
258 if(bioseq.GetInst().IsSetLength() && bioseq.GetInst().GetLength() !=
m_sequenceString.length())
259 THROW_MESSAGE(
"Sequence::Sequence() - sequence string length mismatch");
266 THROW_MESSAGE(
"Sequence::Sequence(): confused by sequence representation");
273 #define RETURN_FIRST_SEQID_THAT_(is) \ 274 for (i=m_bioseqASN->GetId().begin(); i!=ie; ++i) \ 280CBioseq::TId::const_iterator
i, ie =
m_bioseqASN->GetId().end();
292CBioseq::TId::const_iterator
i, ie =
m_bioseqASN->GetId().end();
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.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
std::list< ncbi::CRef< ncbi::objects::CSeq_entry > > SeqEntryList
std::list< ncbi::CRef< Sequence > > SequenceList
SequenceSet(SeqEntryList &seqEntries)
void UnpackSeqEntry(const objects::CSeq_entry &seqEntry)
std::string m_sequenceString
std::string m_description
const ncbi::objects::CSeq_id & GetPreferredIdentifier(void) const
Sequence(ncbi::objects::CBioseq &bioseq)
ncbi::CRef< ncbi::objects::CBioseq > m_bioseqASN
bool MatchesSeqId(const ncbi::objects::CSeq_id &seqID) const
std::string IdentifierString(void) const
Include a standard set of the NCBI C++ Toolkit most basic headers.
static const char * str(char *buf, int n)
bool Match(const CSeq_id &sid2) const
Match() - TRUE if SeqIds are equivalent.
static string GetStringDescr(const CBioseq &bioseq, EStringFormat fmt)
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_SCOPE(ns)
Define a new scope.
TSet & SetSet(void)
Select the variant.
bool IsSeq(void) const
Check if variant Seq is selected.
TSeq & SetSeq(void)
Select the variant.
@ eRepr_raw
continuous sequence
@ eMol_na
just a nucleic acid
unsigned int
A callback function used to compare two keys in a database.
The NCBI C++/STL use hints.
NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.
#define THROW_MESSAGE(str)
static void StringFromStdaa(const vector< char > &vec, string *str)
static void StringFrom4na(const vector< char > &vec, string *str, bool isDNA)
static void UnpackSeqSet(CBioseq_set &bss, SequenceSet::SequenceList &seqlist)
#define RETURN_FIRST_SEQID_THAT_(is)
static void StringFrom2na(const vector< char > &vec, string *str, bool isDNA)
static void UnpackSeqEntry(CSeq_entry &seqEntry, SequenceSet::SequenceList &seqlist)
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