Beispiel #1
0
void DRMSD::read( const PDB& pdb ){
  readAtomsFromPDB( pdb );

  parseFlag("NOPBC",nopbc);  
  parse("LOWER_CUTOFF",lower,true);
  parse("UPPER_CUTOFF",upper,true);
  setBoundsOnDistances( !nopbc, lower, upper );
  setup_targets();
}
Beispiel #2
0
void Action::calculateFromPDB( const PDB& pdb ) {
  activate();
  for(const auto & p : after) {
    ActionWithValue*av=dynamic_cast<ActionWithValue*>(p);
    if(av) { av->clearInputForces(); av->clearDerivatives(); }
    p->readAtomsFromPDB( pdb );
    p->calculate();
  }
  readAtomsFromPDB( pdb );
  calculate();
}
Beispiel #3
0
void Action::calculateFromPDB( const PDB& pdb ){
  activate();
  for(Dependencies::iterator p=after.begin();p!=after.end();++p){
     ActionWithValue*av=dynamic_cast<ActionWithValue*>(*p);
     if(av){ av->clearInputForces(); av->clearDerivatives(); }
     (*p)->readAtomsFromPDB( pdb ); 
     (*p)->calculate();
  }
  readAtomsFromPDB( pdb );
  calculate();
}
Beispiel #4
0
void SingleDomainRMSD::readReference( const PDB& pdb ){
  readAtomsFromPDB( pdb );
  double wa=0, wd=0;
  for(unsigned i=0;i<pdb.size();++i){ wa+=align[i]; wd+=displace[i]; }

  Vector center;
  for(unsigned i=0;i<pdb.size();++i){
     align[i]=align[i] / wa; displace[i]=displace[i] / wd;
     center+=reference_atoms[i]*align[i];
  }
  for(unsigned i=0;i<pdb.size();++i) reference_atoms[i]-=center;
} 
Beispiel #5
0
void Direction::read( const PDB& pdb ) {
  readAtomsFromPDB( pdb );
  readArgumentsFromPDB( pdb );
}
Beispiel #6
0
void DRMSD::read( const PDB& pdb ){
  readAtomsFromPDB( pdb ); readBounds(); setup_targets();
}