CMolecule_graph::TDescr::const_iterator k, ke=graph.
GetDescr().end();
78 for(k=graph.
GetDescr().begin(); k!=ke; ++k) {
79 if(k->GetObject().IsMolecule_type()) {
80 type=
static_cast<eType>(k->GetObject().GetMolecule_type());
82 if(k->GetObject().IsName()) {
83 name= k->GetObject().GetName();
93 ERRORMSG(
"Molecule::Molecule() - biopolymer molecule, but can't get Seq-id");
102CMolecule_graph::TInter_residue_bonds::const_iterator j, je, jOrig;
114 const Residue*residue =
new Residue(
this, (*i).GetObject(),
id,
121 if(residue->
id!= nResidues)
122 ERRORMSG(
"Residue ID's must be ordered consecutively starting with one");
128 boolfoundReal =
false;
134 if((j->GetObject().GetAtom_id_1().GetResidue_id().Get() == prevResidue->
id&&
135j->GetObject().GetAtom_id_2().GetResidue_id().Get() == residue->
id) ||
136(j->GetObject().GetAtom_id_2().GetResidue_id().Get() == prevResidue->
id&&
137j->GetObject().GetAtom_id_1().GetResidue_id().Get() == residue->
id))
140}
while(!foundReal && j != jOrig);
151 const AtomCoord* atom1 =
object->coordSets.front()->atomSet->GetAtom(ap1,
true,
true);
153 const AtomCoord* atom2 =
object->coordSets.front()->atomSet->GetAtom(ap2,
true,
true);
156 if(atom1 && atom2 &&
157(atom1->
site- atom2->
site).length() <=
164 id, prevResidue->
id, prevResidue->
alphaID,
170(
const_cast<Bond*
>(prevBond))->nextVirtual = bond;
180prevResidue = residue;
193 intorder = j->GetObject().IsSetBond_order() ?
196j->GetObject().GetAtom_id_1(),
197j->GetObject().GetAtom_id_2(),
203j->GetObject().GetAtom_id_1(), j->GetObject().GetAtom_id_2(),
206 disulfideMap[j->GetObject().GetAtom_id_1().GetResidue_id().Get()] =
207j->GetObject().GetAtom_id_2().GetResidue_id().Get();
208 disulfideMap[j->GetObject().GetAtom_id_2().GetResidue_id().Get()] =
209j->GetObject().GetAtom_id_1().GetResidue_id().Get();
220 static const Vectorgray(.5,.5,.5);
225ResidueMap::const_iterator
r=
residues.find(sequenceIndex + 1);
228 const Residue*residue =
r->second;
237 const AtomCoord*atomCoord =
object->coordSets.front()->atomSet->
239 if(!atomCoord)
returngray;
243 returnstyle.
color;
251 ERRORMSG(
"Can't align structures with multiple CoordSets");
256 for(
int i=0;
i<nResidues; ++
i) {
260 if(seqIndexes[
i] < 0)
262 intrID = seqIndexes[
i] + 1;
264ResidueMap::const_iterator
r=
residues.find(rID);
266 ERRORMSG(
"Can't find residueID "<< rID
273 intaID = (
r->second->alphaID);
275 WARNINGMSG(
"No alpha atom in residueID "<< rID
283 const AtomCoord* atomCoord =
object->coordSets.front()->atomSet->GetAtom(atom);
286<<
id<<
",r"<< rID <<
",a"<< aID <<
")");
290coords[
i] = &(atomCoord->
site);
300 if(!
DrawAll(atomSet))
return false;
310 static const Vectorwhite(1,1,1), black(0,0,0);
311 const Vector& labelColor =
315 for(
intstartTerminus=1; startTerminus>=0; --startTerminus) {
319 intres = startTerminus ? 1 :
residues.size(),
320resEnd = startTerminus ?
residues.size() : 1,
321resInc = startTerminus ? 1 : -1;
325 for(; res!=resEnd; res+=resInc) {
333alphaPos = &(atom->
site);
335}
else if(!prevPos) {
336prevPos = &(atom->
site);
342 if(!(alphaPos && prevPos)) {
343 WARNINGMSG(
"Molecule::DrawAllWithTerminiLabels() - " 344<<
"can't get two terminal alpha coords");
348 VectorlabelPosition = *alphaPos + 0.5 * (*alphaPos - *prevPos);
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.
const Bond * MakeBond(StructureBase *parent, int mID1, int rID1, int aID1, int mID2, int rID2, int aID2, int bondOrder)
static const CBiostruc_residue_graph_set * standardDictionary
const AtomCoord * GetAtom(const AtomPntr &atom, bool getAny=false, bool suppressWarning=false) const
const Bond * previousVirtual
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
bool CheckForDisulfide(const Molecule *molecule, const ncbi::objects::CAtom_pntr &atomPtr1, const ncbi::objects::CAtom_pntr &atomPtr2, std::list< const Bond * > *bondList, Bond *bond, StructureBase *parent)
static bool IsLightColor(const Vector &color)
std::list< ncbi::CRef< ncbi::objects::CSeq_id > > SeqIdList
static const MoleculeIdentifier * GetIdentifier(const Molecule *molecule, const SeqIdList &ids)
std::vector< int > residueDomains
int GetAlphaCoords(int nResidues, const int *seqIndexes, const Vector **coords) const
DisulfideMap disulfideMap
bool IsNucleotide(void) const
Vector GetResidueColor(int sequenceIndex) const
std::vector< eSecStruc > residueSecondaryStructures
static const int NO_DOMAIN_SET
const MoleculeIdentifier * identifier
bool DrawAllWithTerminiLabels(const AtomSet *atomSet=NULL) const
BondList interResidueBonds
Molecule(ChemicalGraph *parentGraph, const ncbi::objects::CMolecule_graph &graph, const ResidueGraphList &standardDictionary, const ResidueGraphList &localDictionary)
bool IsProtein(void) const
unsigned int NResidues(void) const
void DrawLabel(const std::string &text, const Vector ¢er, const Vector &color)
int NAtomsWithAnyCoords(void) const
static const int NO_ALPHA_ID
bool OverlayConfEnsembles(void) const
bool IsVisible(const StructureBase *entity) const
virtual bool DrawAll(const AtomSet *atomSet=NULL) const
bool GetParentOfType(const T **ptr, bool warnIfNotFound=true) const
ShowHideManager * showHideManager
OpenGLRenderer * renderer
StyleManager * styleManager
const StyleSettings & GetGlobalStyle(void) const
bool GetAtomStyle(const Residue *residue, const AtomPntr &atom, const AtomCoord *coord, AtomStyle *atomStyle, const StyleSettings::BackboneStyle **saveBackboneStyle=NULL, const StyleSettings::GeneralStyle **saveGeneralStyle=NULL) const
LabelStyle nucleotideLabels
Include a standard set of the NCBI C++ Toolkit most basic headers.
const TPrim & Get(void) const
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_SCOPE(ns)
Define a new scope.
bool IsSetInter_residue_bonds(void) const
Check if a value has been assigned to Inter_residue_bonds data member.
const TDescr & GetDescr(void) const
Get the Descr member data.
const TSeq_id & GetSeq_id(void) const
Get the Seq_id member data.
const TInter_residue_bonds & GetInter_residue_bonds(void) const
Get the Inter_residue_bonds member data.
const TId & GetId(void) const
Get the Id member data.
bool IsSetSeq_id(void) const
Check if a value has been assigned to Seq_id data member.
const TResidue_sequence & GetResidue_sequence(void) const
Get the Residue_sequence member data.
std::list< ncbi::CRef< ncbi::objects::CResidue_graph > > ResidueGraphList
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
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