Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
types.cc
Go to the documentation of this file.
1 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 // vi: set ts=2 noet:
3 //
4 // (c) Copyright Rosetta Commons Member Institutions.
5 // (c) This file is part of the Rosetta software suite and is made available under license.
6 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 
10 /// @file core/scoring/hbonds/types.cc
11 /// @brief Functions for manipulating hydrogen bond types
12 /// @author Matthew O'Meara
13 
14 #include <core/chemical/types.hh>
16 #include <ObjexxFCL/FArray3D.hh>
17 #include <utility/exit.hh>
18 
19 namespace core {
20 namespace scoring {
21 namespace hbonds {
22 
23 
24 Size
26  HBDonChemType don_chem_type,
27  HBAccChemType acc_chem_type,
28  HBSeqSep seq_sep_type){
29 
30  return
31  (don_chem_type-1)*(hbacc_MAX-2)*(seq_sep_MAX-2) +
32  (acc_chem_type-1)*(seq_sep_MAX-2) +
33  (seq_sep_type-1) + 1;
34 }
35 
36 
37 void
38 HBEval_lookup_initializer( ObjexxFCL::FArray3D<HBEvalType> & hbe )
39 {
494 }
495 ObjexxFCL::FArray3D<HBEvalType> const HBEval_lookup(hbdon_MAX, hbacc_MAX, seq_sep_MAX, HBEval_lookup_initializer);
496 
499 {
500  using namespace chemical;
501  switch(hbe){
502  case hbe_NONE: return SP2_HYBRID; break;
503  case hbe_dPBAaPBAsepM4helix: return SP2_HYBRID; break;
504  case hbe_dPBAaPBAsepM3turn: return SP2_HYBRID; break;
505  case hbe_dPBAaPBAsepM2turn: return SP2_HYBRID; break;
506  case hbe_dPBAaPBAsepPM1: return SP2_HYBRID; break;
507  case hbe_dPBAaPBAsepP2turn: return SP2_HYBRID; break;
508  case hbe_dPBAaPBAsepP3turn: return SP2_HYBRID; break;
509  case hbe_dPBAaPBAsepP4helix: return SP2_HYBRID; break;
510  case hbe_dPBAaPBAsepother: return SP2_HYBRID; break;
511  case hbe_dCXAaPBAsepPM1: return SP2_HYBRID; break;
512  case hbe_dIMDaPBAsepPM1: return SP2_HYBRID; break;
513  case hbe_dIMEaPBAsepPM1: return SP2_HYBRID; break;
514  case hbe_dINDaPBAsepPM1: return SP2_HYBRID; break;
515  case hbe_dAMOaPBAsepPM1: return SP2_HYBRID; break;
516  case hbe_dGDEaPBAsepPM1: return SP2_HYBRID; break;
517  case hbe_dGDHaPBAsepPM1: return SP2_HYBRID; break;
518  case hbe_dAHXaPBAsepPM1: return SP2_HYBRID; break;
519  case hbe_dHXLaPBAsepPM1: return SP2_HYBRID; break;
520  case hbe_dCXAaPBAsepother: return SP2_HYBRID; break;
521  case hbe_dIMDaPBAsepother: return SP2_HYBRID; break;
522  case hbe_dIMEaPBAsepother: return SP2_HYBRID; break;
523  case hbe_dINDaPBAsepother: return SP2_HYBRID; break;
524  case hbe_dAMOaPBAsepother: return SP2_HYBRID; break;
525  case hbe_dGDEaPBAsepother: return SP2_HYBRID; break;
526  case hbe_dGDHaPBAsepother: return SP2_HYBRID; break;
527  case hbe_dAHXaPBAsepother: return SP2_HYBRID; break;
528  case hbe_dHXLaPBAsepother: return SP2_HYBRID; break;
529  case hbe_dH2OaPBA: return SP2_HYBRID; break;
530  case hbe_dPBAaCXAsepPM1: return SP2_HYBRID; break;
531  case hbe_dPBAaCXAsepother: return SP2_HYBRID; break;
532  case hbe_dCXAaCXA: return SP2_HYBRID; break;
533  case hbe_dIMDaCXA: return SP2_HYBRID; break;
534  case hbe_dIMEaCXA: return SP2_HYBRID; break;
535  case hbe_dINDaCXA: return SP2_HYBRID; break;
536  case hbe_dAMOaCXA: return SP2_HYBRID; break;
537  case hbe_dGDEaCXA: return SP2_HYBRID; break;
538  case hbe_dGDHaCXA: return SP2_HYBRID; break;
539  case hbe_dAHXaCXA: return SP2_HYBRID; break;
540  case hbe_dHXLaCXA: return SP2_HYBRID; break;
541  case hbe_dH2OaCXA: return SP2_HYBRID; break;
542  case hbe_dPBAaCXLsepPM1: return SP2_HYBRID; break;
543  case hbe_dPBAaCXLsepother: return SP2_HYBRID; break;
544  case hbe_dCXAaCXL: return SP2_HYBRID; break;
545  case hbe_dIMDaCXL: return SP2_HYBRID; break;
546  case hbe_dIMEaCXL: return SP2_HYBRID; break;
547  case hbe_dINDaCXL: return SP2_HYBRID; break;
548  case hbe_dAMOaCXL: return SP2_HYBRID; break;
549  case hbe_dGDEaCXL: return SP2_HYBRID; break;
550  case hbe_dGDHaCXL: return SP2_HYBRID; break;
551  case hbe_dAHXaCXL: return SP2_HYBRID; break;
552  case hbe_dHXLaCXL: return SP2_HYBRID; break;
553  case hbe_dH2OaCXL: return SP2_HYBRID; break;
554  case hbe_dPBAaIMDsepPM1: return RING_HYBRID; break;
555  case hbe_dPBAaIMDsepother: return RING_HYBRID; break;
556  case hbe_dCXAaIMD: return RING_HYBRID; break;
557  case hbe_dIMDaIMD: return RING_HYBRID; break;
558  case hbe_dIMEaIMD: return RING_HYBRID; break;
559  case hbe_dINDaIMD: return RING_HYBRID; break;
560  case hbe_dAMOaIMD: return RING_HYBRID; break;
561  case hbe_dGDEaIMD: return RING_HYBRID; break;
562  case hbe_dGDHaIMD: return RING_HYBRID; break;
563  case hbe_dAHXaIMD: return RING_HYBRID; break;
564  case hbe_dHXLaIMD: return RING_HYBRID; break;
565  case hbe_dH2OaIMD: return RING_HYBRID; break;
566  case hbe_dPBAaIMEsepPM1: return RING_HYBRID; break;
567  case hbe_dPBAaIMEsepother: return RING_HYBRID; break;
568  case hbe_dCXAaIME: return RING_HYBRID; break;
569  case hbe_dIMDaIME: return RING_HYBRID; break;
570  case hbe_dIMEaIME: return RING_HYBRID; break;
571  case hbe_dINDaIME: return RING_HYBRID; break;
572  case hbe_dAMOaIME: return RING_HYBRID; break;
573  case hbe_dGDEaIME: return RING_HYBRID; break;
574  case hbe_dGDHaIME: return RING_HYBRID; break;
575  case hbe_dAHXaIME: return RING_HYBRID; break;
576  case hbe_dHXLaIME: return RING_HYBRID; break;
577  case hbe_dH2OaIME: return RING_HYBRID; break;
578  case hbe_dPBAaAHXsepPM1: return SP3_HYBRID; break;
579  case hbe_dPBAaAHXsepother: return SP3_HYBRID; break;
580  case hbe_dCXAaAHX: return SP3_HYBRID; break;
581  case hbe_dIMDaAHX: return SP3_HYBRID; break;
582  case hbe_dIMEaAHX: return SP3_HYBRID; break;
583  case hbe_dINDaAHX: return SP3_HYBRID; break;
584  case hbe_dAMOaAHX: return SP3_HYBRID; break;
585  case hbe_dGDEaAHX: return SP3_HYBRID; break;
586  case hbe_dGDHaAHX: return SP3_HYBRID; break;
587  case hbe_dAHXaAHX: return SP3_HYBRID; break;
588  case hbe_dHXLaAHX: return SP3_HYBRID; break;
589  case hbe_dH2OaAHX: return SP3_HYBRID; break;
590  case hbe_dPBAaHXLsepPM1: return SP3_HYBRID; break;
591  case hbe_dPBAaHXLsepother: return SP3_HYBRID; break;
592  case hbe_dCXAaHXL: return SP3_HYBRID; break;
593  case hbe_dIMDaHXL: return SP3_HYBRID; break;
594  case hbe_dIMEaHXL: return SP3_HYBRID; break;
595  case hbe_dINDaHXL: return SP3_HYBRID; break;
596  case hbe_dAMOaHXL: return SP3_HYBRID; break;
597  case hbe_dGDEaHXL: return SP3_HYBRID; break;
598  case hbe_dGDHaHXL: return SP3_HYBRID; break;
599  case hbe_dAHXaHXL: return SP3_HYBRID; break;
600  case hbe_dHXLaHXL: return SP3_HYBRID; break;
601  case hbe_dH2OaHXL: return SP3_HYBRID; break;
602  case hbe_dPBAaPCA_DNAsepPM1: return SP2_HYBRID; break;
603  case hbe_dPBAaPCA_DNAsepother: return SP2_HYBRID; break;
604  case hbe_dCXAaPCA_DNA: return SP2_HYBRID; break;
605  case hbe_dIMDaPCA_DNA: return SP2_HYBRID; break;
606  case hbe_dIMEaPCA_DNA: return SP2_HYBRID; break;
607  case hbe_dINDaPCA_DNA: return SP2_HYBRID; break;
608  case hbe_dAMOaPCA_DNA: return SP2_HYBRID; break;
609  case hbe_dGDEaPCA_DNA: return SP2_HYBRID; break;
610  case hbe_dGDHaPCA_DNA: return SP2_HYBRID; break;
611  case hbe_dAHXaPCA_DNA: return SP2_HYBRID; break;
612  case hbe_dHXLaPCA_DNA: return SP2_HYBRID; break;
613  case hbe_dH2OaPCA_DNA: return SP2_HYBRID; break;
614  case hbe_dPBAaPCA_RNAsepPM1: return SP2_HYBRID; break;
615  case hbe_dPBAaPCA_RNAsepother: return SP2_HYBRID; break;
616  case hbe_dCXAaPCA_RNAsepPM1: return SP2_HYBRID; break;
617  case hbe_dCXAaPCA_RNAsepother: return SP2_HYBRID; break;
618  case hbe_dIMDaPCA_RNAsepPM1: return SP2_HYBRID; break;
619  case hbe_dIMDaPCA_RNAsepother: return SP2_HYBRID; break;
620  case hbe_dIMEaPCA_RNAsepPM1: return SP2_HYBRID; break;
621  case hbe_dIMEaPCA_RNAsepother: return SP2_HYBRID; break;
622  case hbe_dINDaPCA_RNAsepPM1: return SP2_HYBRID; break;
623  case hbe_dINDaPCA_RNAsepother: return SP2_HYBRID; break;
624  case hbe_dAMOaPCA_RNAsepPM1: return SP2_HYBRID; break;
625  case hbe_dAMOaPCA_RNAsepother: return SP2_HYBRID; break;
626  case hbe_dGDEaPCA_RNAsepPM1: return SP2_HYBRID; break;
627  case hbe_dGDEaPCA_RNAsepother: return SP2_HYBRID; break;
628  case hbe_dGDHaPCA_RNAsepPM1: return SP2_HYBRID; break;
629  case hbe_dGDHaPCA_RNAsepother: return SP2_HYBRID; break;
630  case hbe_dAHXaPCA_RNAsepPM1: return SP2_HYBRID; break;
631  case hbe_dAHXaPCA_RNAsepother: return SP2_HYBRID; break;
632  case hbe_dHXLaPCA_RNAsepPM1: return SP2_HYBRID; break;
633  case hbe_dHXLaPCA_RNAsepother: return SP2_HYBRID; break;
634  case hbe_dH2OaPCA_RNA: return SP2_HYBRID; break;
635  case hbe_dPBAaPES_DNAsepPM1: return SP2_HYBRID; break;
636  case hbe_dPBAaPES_DNAsepother: return SP2_HYBRID; break;
637  case hbe_dCXAaPES_DNA: return SP2_HYBRID; break;
638  case hbe_dIMDaPES_DNA: return SP2_HYBRID; break;
639  case hbe_dIMEaPES_DNA: return SP2_HYBRID; break;
640  case hbe_dINDaPES_DNA: return SP2_HYBRID; break;
641  case hbe_dAMOaPES_DNA: return SP2_HYBRID; break;
642  case hbe_dGDEaPES_DNA: return SP2_HYBRID; break;
643  case hbe_dGDHaPES_DNA: return SP2_HYBRID; break;
644  case hbe_dAHXaPES_DNA: return SP2_HYBRID; break;
645  case hbe_dHXLaPES_DNA: return SP2_HYBRID; break;
646  case hbe_dH2OaPES_DNA: return SP2_HYBRID; break;
647  case hbe_dPBAaPES_RNAsepPM1: return SP2_HYBRID; break;
648  case hbe_dPBAaPES_RNAsepother: return SP2_HYBRID; break;
649  case hbe_dCXAaPES_RNAsepPM1: return SP2_HYBRID; break;
650  case hbe_dCXAaPES_RNAsepother: return SP2_HYBRID; break;
651  case hbe_dIMDaPES_RNAsepPM1: return SP2_HYBRID; break;
652  case hbe_dIMDaPES_RNAsepother: return SP2_HYBRID; break;
653  case hbe_dIMEaPES_RNAsepPM1: return SP2_HYBRID; break;
654  case hbe_dIMEaPES_RNAsepother: return SP2_HYBRID; break;
655  case hbe_dINDaPES_RNAsepPM1: return SP2_HYBRID; break;
656  case hbe_dINDaPES_RNAsepother: return SP2_HYBRID; break;
657  case hbe_dAMOaPES_RNAsepPM1: return SP2_HYBRID; break;
658  case hbe_dAMOaPES_RNAsepother: return SP2_HYBRID; break;
659  case hbe_dGDEaPES_RNAsepPM1: return SP2_HYBRID; break;
660  case hbe_dGDEaPES_RNAsepother: return SP2_HYBRID; break;
661  case hbe_dGDHaPES_RNAsepPM1: return SP2_HYBRID; break;
662  case hbe_dGDHaPES_RNAsepother: return SP2_HYBRID; break;
663  case hbe_dAHXaPES_RNAsepPM1: return SP2_HYBRID; break;
664  case hbe_dAHXaPES_RNAsepother: return SP2_HYBRID; break;
665  case hbe_dHXLaPES_RNAsepPM1: return SP2_HYBRID; break;
666  case hbe_dHXLaPES_RNAsepother: return SP2_HYBRID; break;
667  case hbe_dH2OaPES_RNA: return SP2_HYBRID; break;
668  case hbe_dPBAaRRI_DNAsepPM1: return SP3_HYBRID; break;
669  case hbe_dPBAaRRI_DNAsepother: return SP3_HYBRID; break;
670  case hbe_dCXAaRRI_DNA: return SP3_HYBRID; break;
671  case hbe_dIMDaRRI_DNA: return SP3_HYBRID; break;
672  case hbe_dIMEaRRI_DNA: return SP3_HYBRID; break;
673  case hbe_dINDaRRI_DNA: return SP3_HYBRID; break;
674  case hbe_dAMOaRRI_DNA: return SP3_HYBRID; break;
675  case hbe_dGDEaRRI_DNA: return SP3_HYBRID; break;
676  case hbe_dGDHaRRI_DNA: return SP3_HYBRID; break;
677  case hbe_dAHXaRRI_DNA: return SP3_HYBRID; break;
678  case hbe_dHXLaRRI_DNA: return SP3_HYBRID; break;
679  case hbe_dH2OaRRI_DNA: return SP3_HYBRID; break;
680  case hbe_dPBAaRRI_RNAsepPM1: return SP3_HYBRID; break;
681  case hbe_dPBAaRRI_RNAsepother: return SP3_HYBRID; break;
682  case hbe_dCXAaRRI_RNAsepPM1: return SP3_HYBRID; break;
683  case hbe_dCXAaRRI_RNAsepother: return SP3_HYBRID; break;
684  case hbe_dIMDaRRI_RNAsepPM1: return SP3_HYBRID; break;
685  case hbe_dIMDaRRI_RNAsepother: return SP3_HYBRID; break;
686  case hbe_dIMEaRRI_RNAsepPM1: return SP3_HYBRID; break;
687  case hbe_dIMEaRRI_RNAsepother: return SP3_HYBRID; break;
688  case hbe_dINDaRRI_RNAsepPM1: return SP3_HYBRID; break;
689  case hbe_dINDaRRI_RNAsepother: return SP3_HYBRID; break;
690  case hbe_dAMOaRRI_RNAsepPM1: return SP3_HYBRID; break;
691  case hbe_dAMOaRRI_RNAsepother: return SP3_HYBRID; break;
692  case hbe_dGDEaRRI_RNAsepPM1: return SP3_HYBRID; break;
693  case hbe_dGDEaRRI_RNAsepother: return SP3_HYBRID; break;
694  case hbe_dGDHaRRI_RNAsepPM1: return SP3_HYBRID; break;
695  case hbe_dGDHaRRI_RNAsepother: return SP3_HYBRID; break;
696  case hbe_dAHXaRRI_RNAsepPM1: return SP3_HYBRID; break;
697  case hbe_dAHXaRRI_RNAsepother: return SP3_HYBRID; break;
698  case hbe_dHXLaRRI_RNAsepPM1: return SP3_HYBRID; break;
699  case hbe_dHXLaRRI_RNAsepother: return SP3_HYBRID; break;
700  case hbe_dH2OaRRI_RNA: return SP3_HYBRID; break;
701  case hbe_dPBAaH2O: return SP3_HYBRID; break;
702  case hbe_dCXAaH2O: return SP3_HYBRID; break;
703  case hbe_dIMDaH2O: return SP3_HYBRID; break;
704  case hbe_dIMEaH2O: return SP3_HYBRID; break;
705  case hbe_dINDaH2O: return SP3_HYBRID; break;
706  case hbe_dAMOaH2O: return SP3_HYBRID; break;
707  case hbe_dGDEaH2O: return SP3_HYBRID; break;
708  case hbe_dGDHaH2O: return SP3_HYBRID; break;
709  case hbe_dAHXaH2O: return SP3_HYBRID; break;
710  case hbe_dHXLaH2O: return SP3_HYBRID; break;
711  case hbe_dH2OaH2O: return SP3_HYBRID; break;
712  case hbe_GENERIC_SP2BB_SR: return SP2_HYBRID; break;
713  case hbe_GENERIC_SP2BB_LR: return SP2_HYBRID; break;
714  case hbe_GENERIC_SP3BB_SR: return SP3_HYBRID; break;
715  case hbe_GENERIC_SP3BB_LR: return SP3_HYBRID; break;
716  case hbe_GENERIC_RINGBB_SR: return RING_HYBRID; break;
717  case hbe_GENERIC_RINGBB_LR: return RING_HYBRID; break;
718  case hbe_GENERIC_SP2BSC_SR: return SP2_HYBRID; break;
719  case hbe_GENERIC_SP2BSC_LR: return SP2_HYBRID; break;
720  case hbe_GENERIC_SP3BSC_SR: return SP3_HYBRID; break;
721  case hbe_GENERIC_SP3BSC_LR: return SP3_HYBRID; break;
722  case hbe_GENERIC_RINGBSC_SR: return RING_HYBRID; break;
723  case hbe_GENERIC_RINGBSC_LR: return RING_HYBRID; break;
724  case hbe_GENERIC_SP2SCSC_SR: return SP2_HYBRID; break;
725  case hbe_GENERIC_SP2SCSC_LR: return SP2_HYBRID; break;
726  case hbe_GENERIC_SP3SCSC_SR: return SP3_HYBRID; break;
727  case hbe_GENERIC_SP3SCSC_LR: return SP3_HYBRID; break;
728  case hbe_GENERIC_RINGSCSC_SR: return RING_HYBRID; break;
729  case hbe_GENERIC_RINGSCSC_LR: return RING_HYBRID; break;
730  }
731  return UNKNOWN_HYBRID;
732 }
733 
734 
735 
736 ///////////////////////////////////////////////////////////
737 //:::DEPRICATION NOTICE::::
738 //
739 // Note backbone/sidechain identification is used
740 //1) packing: eg since the backbone is fixed, backbone-backbone, and
741 // backbone-sidechain interactions can be precomputed. This is found
742 // by looking at rsd.is_backbone()
743 //2) environmental dependence is only applied to side chains, (ask
744 //Tanja or Lin, because I don't know why)
745 //3) to take some account of variable correlation,
746 //sidechain-sidechain hbonds have two different angle potentials
747 //that depend on the AH distance so hbe_is_BB_type is used.
748 //
749 //
750 //Backbone/sidechain distinctions are tricky when one looks at
751 //modified-proteins or non-proteins. Since these functions are only
752 //used in questional circumstances they are depricated and will be
753 //removed in subsiquent versions of the hbond-potential.
754 //
755 //
756 
757 bool
759 {
760  switch(hbe){
761  case hbe_NONE: return false; break;
762  case hbe_dPBAaPBAsepM4helix: return true; break;
763  case hbe_dPBAaPBAsepM3turn: return true; break;
764  case hbe_dPBAaPBAsepM2turn: return true; break;
765  case hbe_dPBAaPBAsepPM1: return true; break;
766  case hbe_dPBAaPBAsepP2turn: return true; break;
767  case hbe_dPBAaPBAsepP3turn: return true; break;
768  case hbe_dPBAaPBAsepP4helix: return true; break;
769  case hbe_dPBAaPBAsepother: return true; break;
770  case hbe_dCXAaPBAsepPM1: return false; break;
771  case hbe_dIMDaPBAsepPM1: return false; break;
772  case hbe_dIMEaPBAsepPM1: return false; break;
773  case hbe_dINDaPBAsepPM1: return false; break;
774  case hbe_dAMOaPBAsepPM1: return false; break;
775  case hbe_dGDEaPBAsepPM1: return false; break;
776  case hbe_dGDHaPBAsepPM1: return false; break;
777  case hbe_dAHXaPBAsepPM1: return false; break;
778  case hbe_dHXLaPBAsepPM1: return false; break;
779  case hbe_dCXAaPBAsepother: return false; break;
780  case hbe_dIMDaPBAsepother: return false; break;
781  case hbe_dIMEaPBAsepother: return false; break;
782  case hbe_dINDaPBAsepother: return false; break;
783  case hbe_dAMOaPBAsepother: return false; break;
784  case hbe_dGDEaPBAsepother: return false; break;
785  case hbe_dGDHaPBAsepother: return false; break;
786  case hbe_dAHXaPBAsepother: return false; break;
787  case hbe_dHXLaPBAsepother: return false; break;
788  case hbe_dH2OaPBA: return false; break;
789  case hbe_dPBAaCXAsepPM1: return false; break;
790  case hbe_dPBAaCXAsepother: return false; break;
791  case hbe_dCXAaCXA: return false; break;
792  case hbe_dIMDaCXA: return false; break;
793  case hbe_dIMEaCXA: return false; break;
794  case hbe_dINDaCXA: return false; break;
795  case hbe_dAMOaCXA: return false; break;
796  case hbe_dGDEaCXA: return false; break;
797  case hbe_dGDHaCXA: return false; break;
798  case hbe_dAHXaCXA: return false; break;
799  case hbe_dHXLaCXA: return false; break;
800  case hbe_dH2OaCXA: return false; break;
801  case hbe_dPBAaCXLsepPM1: return false; break;
802  case hbe_dPBAaCXLsepother: return false; break;
803  case hbe_dCXAaCXL: return false; break;
804  case hbe_dIMDaCXL: return false; break;
805  case hbe_dIMEaCXL: return false; break;
806  case hbe_dINDaCXL: return false; break;
807  case hbe_dAMOaCXL: return false; break;
808  case hbe_dGDEaCXL: return false; break;
809  case hbe_dGDHaCXL: return false; break;
810  case hbe_dAHXaCXL: return false; break;
811  case hbe_dHXLaCXL: return false; break;
812  case hbe_dH2OaCXL: return false; break;
813  case hbe_dPBAaIMDsepPM1: return false; break;
814  case hbe_dPBAaIMDsepother: return false; break;
815  case hbe_dCXAaIMD: return false; break;
816  case hbe_dIMDaIMD: return false; break;
817  case hbe_dIMEaIMD: return false; break;
818  case hbe_dINDaIMD: return false; break;
819  case hbe_dAMOaIMD: return false; break;
820  case hbe_dGDEaIMD: return false; break;
821  case hbe_dGDHaIMD: return false; break;
822  case hbe_dAHXaIMD: return false; break;
823  case hbe_dHXLaIMD: return false; break;
824  case hbe_dH2OaIMD: return false; break;
825  case hbe_dPBAaIMEsepPM1: return false; break;
826  case hbe_dPBAaIMEsepother: return false; break;
827  case hbe_dCXAaIME: return false; break;
828  case hbe_dIMDaIME: return false; break;
829  case hbe_dIMEaIME: return false; break;
830  case hbe_dINDaIME: return false; break;
831  case hbe_dAMOaIME: return false; break;
832  case hbe_dGDEaIME: return false; break;
833  case hbe_dGDHaIME: return false; break;
834  case hbe_dAHXaIME: return false; break;
835  case hbe_dHXLaIME: return false; break;
836  case hbe_dH2OaIME: return false; break;
837  case hbe_dPBAaAHXsepPM1: return false; break;
838  case hbe_dPBAaAHXsepother: return false; break;
839  case hbe_dCXAaAHX: return false; break;
840  case hbe_dIMDaAHX: return false; break;
841  case hbe_dIMEaAHX: return false; break;
842  case hbe_dINDaAHX: return false; break;
843  case hbe_dAMOaAHX: return false; break;
844  case hbe_dGDEaAHX: return false; break;
845  case hbe_dGDHaAHX: return false; break;
846  case hbe_dAHXaAHX: return false; break;
847  case hbe_dHXLaAHX: return false; break;
848  case hbe_dH2OaAHX: return false; break;
849  case hbe_dPBAaHXLsepPM1: return false; break;
850  case hbe_dPBAaHXLsepother: return false; break;
851  case hbe_dCXAaHXL: return false; break;
852  case hbe_dIMDaHXL: return false; break;
853  case hbe_dIMEaHXL: return false; break;
854  case hbe_dINDaHXL: return false; break;
855  case hbe_dAMOaHXL: return false; break;
856  case hbe_dGDEaHXL: return false; break;
857  case hbe_dGDHaHXL: return false; break;
858  case hbe_dAHXaHXL: return false; break;
859  case hbe_dHXLaHXL: return false; break;
860  case hbe_dH2OaHXL: return false; break;
861  case hbe_dPBAaPCA_DNAsepPM1: return false; break;
862  case hbe_dPBAaPCA_DNAsepother: return false; break;
863  case hbe_dCXAaPCA_DNA: return false; break;
864  case hbe_dIMDaPCA_DNA: return false; break;
865  case hbe_dIMEaPCA_DNA: return false; break;
866  case hbe_dINDaPCA_DNA: return false; break;
867  case hbe_dAMOaPCA_DNA: return false; break;
868  case hbe_dGDEaPCA_DNA: return false; break;
869  case hbe_dGDHaPCA_DNA: return false; break;
870  case hbe_dAHXaPCA_DNA: return false; break;
871  case hbe_dHXLaPCA_DNA: return false; break;
872  case hbe_dH2OaPCA_DNA: return false; break;
873  case hbe_dPBAaPCA_RNAsepPM1: return true; break;
874  case hbe_dPBAaPCA_RNAsepother: return true; break;
875  case hbe_dCXAaPCA_RNAsepPM1: return false; break;
876  case hbe_dCXAaPCA_RNAsepother: return false; break;
877  case hbe_dIMDaPCA_RNAsepPM1: return false; break;
878  case hbe_dIMDaPCA_RNAsepother: return false; break;
879  case hbe_dIMEaPCA_RNAsepPM1: return false; break;
880  case hbe_dIMEaPCA_RNAsepother: return false; break;
881  case hbe_dINDaPCA_RNAsepPM1: return false; break;
882  case hbe_dINDaPCA_RNAsepother: return false; break;
883  case hbe_dAMOaPCA_RNAsepPM1: return false; break;
884  case hbe_dAMOaPCA_RNAsepother: return false; break;
885  case hbe_dGDEaPCA_RNAsepPM1: return false; break;
886  case hbe_dGDEaPCA_RNAsepother: return false; break;
887  case hbe_dGDHaPCA_RNAsepPM1: return false; break;
888  case hbe_dGDHaPCA_RNAsepother: return false; break;
889  case hbe_dAHXaPCA_RNAsepPM1: return false; break;
890  case hbe_dAHXaPCA_RNAsepother: return false; break;
891  case hbe_dHXLaPCA_RNAsepPM1: return false; break;
892  case hbe_dHXLaPCA_RNAsepother: return false; break;
893  case hbe_dH2OaPCA_RNA: return false; break;
894  case hbe_dPBAaPES_DNAsepPM1: return false; break;
895  case hbe_dPBAaPES_DNAsepother: return false; break;
896  case hbe_dCXAaPES_DNA: return false; break;
897  case hbe_dIMDaPES_DNA: return false; break;
898  case hbe_dIMEaPES_DNA: return false; break;
899  case hbe_dINDaPES_DNA: return false; break;
900  case hbe_dAMOaPES_DNA: return false; break;
901  case hbe_dGDEaPES_DNA: return false; break;
902  case hbe_dGDHaPES_DNA: return false; break;
903  case hbe_dAHXaPES_DNA: return false; break;
904  case hbe_dHXLaPES_DNA: return false; break;
905  case hbe_dH2OaPES_DNA: return false; break;
906  case hbe_dPBAaPES_RNAsepPM1: return true; break;
907  case hbe_dPBAaPES_RNAsepother: return true; break;
908  case hbe_dCXAaPES_RNAsepPM1: return false; break;
909  case hbe_dCXAaPES_RNAsepother: return false; break;
910  case hbe_dIMDaPES_RNAsepPM1: return false; break;
911  case hbe_dIMDaPES_RNAsepother: return false; break;
912  case hbe_dIMEaPES_RNAsepPM1: return false; break;
913  case hbe_dIMEaPES_RNAsepother: return false; break;
914  case hbe_dINDaPES_RNAsepPM1: return false; break;
915  case hbe_dINDaPES_RNAsepother: return false; break;
916  case hbe_dAMOaPES_RNAsepPM1: return false; break;
917  case hbe_dAMOaPES_RNAsepother: return false; break;
918  case hbe_dGDEaPES_RNAsepPM1: return false; break;
919  case hbe_dGDEaPES_RNAsepother: return false; break;
920  case hbe_dGDHaPES_RNAsepPM1: return false; break;
921  case hbe_dGDHaPES_RNAsepother: return false; break;
922  case hbe_dAHXaPES_RNAsepPM1: return false; break;
923  case hbe_dAHXaPES_RNAsepother: return false; break;
924  case hbe_dHXLaPES_RNAsepPM1: return false; break;
925  case hbe_dHXLaPES_RNAsepother: return false; break;
926  case hbe_dH2OaPES_RNA: return false; break;
927  case hbe_dPBAaRRI_DNAsepPM1: return false; break;
928  case hbe_dPBAaRRI_DNAsepother: return false; break;
929  case hbe_dCXAaRRI_DNA: return false; break;
930  case hbe_dIMDaRRI_DNA: return false; break;
931  case hbe_dIMEaRRI_DNA: return false; break;
932  case hbe_dINDaRRI_DNA: return false; break;
933  case hbe_dAMOaRRI_DNA: return false; break;
934  case hbe_dGDEaRRI_DNA: return false; break;
935  case hbe_dGDHaRRI_DNA: return false; break;
936  case hbe_dAHXaRRI_DNA: return false; break;
937  case hbe_dHXLaRRI_DNA: return false; break;
938  case hbe_dH2OaRRI_DNA: return false; break;
939  case hbe_dPBAaRRI_RNAsepPM1: return false; break;
940  case hbe_dPBAaRRI_RNAsepother: return false; break;
941  case hbe_dCXAaRRI_RNAsepPM1: return false; break;
942  case hbe_dCXAaRRI_RNAsepother: return false; break;
943  case hbe_dIMDaRRI_RNAsepPM1: return false; break;
944  case hbe_dIMDaRRI_RNAsepother: return false; break;
945  case hbe_dIMEaRRI_RNAsepPM1: return false; break;
946  case hbe_dIMEaRRI_RNAsepother: return false; break;
947  case hbe_dINDaRRI_RNAsepPM1: return false; break;
948  case hbe_dINDaRRI_RNAsepother: return false; break;
949  case hbe_dAMOaRRI_RNAsepPM1: return false; break;
950  case hbe_dAMOaRRI_RNAsepother: return false; break;
951  case hbe_dGDEaRRI_RNAsepPM1: return false; break;
952  case hbe_dGDEaRRI_RNAsepother: return false; break;
953  case hbe_dGDHaRRI_RNAsepPM1: return false; break;
954  case hbe_dGDHaRRI_RNAsepother: return false; break;
955  case hbe_dAHXaRRI_RNAsepPM1: return false; break;
956  case hbe_dAHXaRRI_RNAsepother: return false; break;
957  case hbe_dHXLaRRI_RNAsepPM1: return false; break;
958  case hbe_dHXLaRRI_RNAsepother: return false; break;
959  case hbe_dH2OaRRI_RNA: return false; break;
960  case hbe_dPBAaH2O: return false; break;
961  case hbe_dCXAaH2O: return false; break;
962  case hbe_dIMDaH2O: return false; break;
963  case hbe_dIMEaH2O: return false; break;
964  case hbe_dINDaH2O: return false; break;
965  case hbe_dAMOaH2O: return false; break;
966  case hbe_dGDEaH2O: return false; break;
967  case hbe_dGDHaH2O: return false; break;
968  case hbe_dAHXaH2O: return false; break;
969  case hbe_dHXLaH2O: return false; break;
970  case hbe_dH2OaH2O: return false; break;
971  case hbe_GENERIC_SP2BB_SR: return true; break;
972  case hbe_GENERIC_SP2BB_LR: return true; break;
973  case hbe_GENERIC_SP3BB_SR: return true; break;
974  case hbe_GENERIC_SP3BB_LR: return true; break;
975  case hbe_GENERIC_RINGBB_SR: return true; break;
976  case hbe_GENERIC_RINGBB_LR: return true; break;
977  case hbe_GENERIC_SP2BSC_SR: return false; break;
978  case hbe_GENERIC_SP2BSC_LR: return false; break;
979  case hbe_GENERIC_SP3BSC_SR: return false; break;
980  case hbe_GENERIC_SP3BSC_LR: return false; break;
981  case hbe_GENERIC_RINGBSC_SR: return false; break;
982  case hbe_GENERIC_RINGBSC_LR: return false; break;
983  case hbe_GENERIC_SP2SCSC_SR: return false; break;
984  case hbe_GENERIC_SP2SCSC_LR: return false; break;
985  case hbe_GENERIC_SP3SCSC_SR: return false; break;
986  case hbe_GENERIC_SP3SCSC_LR: return false; break;
987  case hbe_GENERIC_RINGSCSC_SR: return false; break;
988  case hbe_GENERIC_RINGSCSC_LR: return false; break;
989  }
990  return false; // <- to assure gcc a bool will be returned
991 }
992 bool hbe_is_SC_type( HBEvalType hbe ){return !hbe_is_BB_type(hbe);}
993 
994 
995 
998 {
999  switch(hbe_type){
1000  case hbe_NONE: return hbw_SR_BB; break;
1001  case hbe_dPBAaPBAsepM4helix: return hbw_SR_BB; break;
1002  case hbe_dPBAaPBAsepM3turn: return hbw_SR_BB; break;
1003  case hbe_dPBAaPBAsepM2turn: return hbw_SR_BB; break;
1004  case hbe_dPBAaPBAsepPM1: return hbw_SR_BB; break;
1005  case hbe_dPBAaPBAsepP2turn: return hbw_SR_BB; break;
1006  case hbe_dPBAaPBAsepP3turn: return hbw_SR_BB; break;
1007  case hbe_dPBAaPBAsepP4helix: return hbw_SR_BB; break;
1008  case hbe_dPBAaPBAsepother: return hbw_LR_BB; break;
1009  case hbe_dCXAaPBAsepPM1: return hbw_SR_BB_SC; break;
1010  case hbe_dIMDaPBAsepPM1: return hbw_SR_BB_SC; break;
1011  case hbe_dIMEaPBAsepPM1: return hbw_SR_BB_SC; break;
1012  case hbe_dINDaPBAsepPM1: return hbw_SR_BB_SC; break;
1013  case hbe_dAMOaPBAsepPM1: return hbw_SR_BB_SC; break;
1014  case hbe_dGDEaPBAsepPM1: return hbw_SR_BB_SC; break;
1015  case hbe_dGDHaPBAsepPM1: return hbw_SR_BB_SC; break;
1016  case hbe_dAHXaPBAsepPM1: return hbw_SR_BB_SC; break;
1017  case hbe_dHXLaPBAsepPM1: return hbw_SR_BB_SC; break;
1018  case hbe_dCXAaPBAsepother: return hbw_LR_BB_SC; break;
1019  case hbe_dIMDaPBAsepother: return hbw_LR_BB_SC; break;
1020  case hbe_dIMEaPBAsepother: return hbw_LR_BB_SC; break;
1021  case hbe_dINDaPBAsepother: return hbw_LR_BB_SC; break;
1022  case hbe_dAMOaPBAsepother: return hbw_LR_BB_SC; break;
1023  case hbe_dGDEaPBAsepother: return hbw_LR_BB_SC; break;
1024  case hbe_dGDHaPBAsepother: return hbw_LR_BB_SC; break;
1025  case hbe_dAHXaPBAsepother: return hbw_LR_BB_SC; break;
1026  case hbe_dHXLaPBAsepother: return hbw_LR_BB_SC; break;
1027  case hbe_dH2OaPBA: return hbw_LR_BB_SC; break;
1028  case hbe_dPBAaCXAsepPM1: return hbw_SR_BB_SC; break;
1029  case hbe_dPBAaCXAsepother: return hbw_LR_BB_SC; break;
1030  case hbe_dCXAaCXA: return hbw_SC; break;
1031  case hbe_dIMDaCXA: return hbw_SC; break;
1032  case hbe_dIMEaCXA: return hbw_SC; break;
1033  case hbe_dINDaCXA: return hbw_SC; break;
1034  case hbe_dAMOaCXA: return hbw_SC; break;
1035  case hbe_dGDEaCXA: return hbw_SC; break;
1036  case hbe_dGDHaCXA: return hbw_SC; break;
1037  case hbe_dAHXaCXA: return hbw_SC; break;
1038  case hbe_dHXLaCXA: return hbw_SC; break;
1039  case hbe_dH2OaCXA: return hbw_SC; break;
1040  case hbe_dPBAaCXLsepPM1: return hbw_SR_BB_SC; break;
1041  case hbe_dPBAaCXLsepother: return hbw_LR_BB_SC; break;
1042  case hbe_dCXAaCXL: return hbw_SC; break;
1043  case hbe_dIMDaCXL: return hbw_SC; break;
1044  case hbe_dIMEaCXL: return hbw_SC; break;
1045  case hbe_dINDaCXL: return hbw_SC; break;
1046  case hbe_dAMOaCXL: return hbw_SC; break;
1047  case hbe_dGDEaCXL: return hbw_SC; break;
1048  case hbe_dGDHaCXL: return hbw_SC; break;
1049  case hbe_dAHXaCXL: return hbw_SC; break;
1050  case hbe_dHXLaCXL: return hbw_SC; break;
1051  case hbe_dH2OaCXL: return hbw_SC; break;
1052  case hbe_dPBAaIMDsepPM1: return hbw_SR_BB_SC; break;
1053  case hbe_dPBAaIMDsepother: return hbw_LR_BB_SC; break;
1054  case hbe_dCXAaIMD: return hbw_SC; break;
1055  case hbe_dIMDaIMD: return hbw_SC; break;
1056  case hbe_dIMEaIMD: return hbw_SC; break;
1057  case hbe_dINDaIMD: return hbw_SC; break;
1058  case hbe_dAMOaIMD: return hbw_SC; break;
1059  case hbe_dGDEaIMD: return hbw_SC; break;
1060  case hbe_dGDHaIMD: return hbw_SC; break;
1061  case hbe_dAHXaIMD: return hbw_SC; break;
1062  case hbe_dHXLaIMD: return hbw_SC; break;
1063  case hbe_dH2OaIMD: return hbw_SC; break;
1064  case hbe_dPBAaIMEsepPM1: return hbw_SR_BB_SC; break;
1065  case hbe_dPBAaIMEsepother: return hbw_LR_BB_SC; break;
1066  case hbe_dCXAaIME: return hbw_SC; break;
1067  case hbe_dIMDaIME: return hbw_SC; break;
1068  case hbe_dIMEaIME: return hbw_SC; break;
1069  case hbe_dINDaIME: return hbw_SC; break;
1070  case hbe_dAMOaIME: return hbw_SC; break;
1071  case hbe_dGDEaIME: return hbw_SC; break;
1072  case hbe_dGDHaIME: return hbw_SC; break;
1073  case hbe_dAHXaIME: return hbw_SC; break;
1074  case hbe_dHXLaIME: return hbw_SC; break;
1075  case hbe_dH2OaIME: return hbw_SC; break;
1076  case hbe_dPBAaAHXsepPM1: return hbw_SR_BB_SC; break;
1077  case hbe_dPBAaAHXsepother: return hbw_LR_BB_SC; break;
1078  case hbe_dCXAaAHX: return hbw_SC; break;
1079  case hbe_dIMDaAHX: return hbw_SC; break;
1080  case hbe_dIMEaAHX: return hbw_SC; break;
1081  case hbe_dINDaAHX: return hbw_SC; break;
1082  case hbe_dAMOaAHX: return hbw_SC; break;
1083  case hbe_dGDEaAHX: return hbw_SC; break;
1084  case hbe_dGDHaAHX: return hbw_SC; break;
1085  case hbe_dAHXaAHX: return hbw_SC; break;
1086  case hbe_dHXLaAHX: return hbw_SC; break;
1087  case hbe_dH2OaAHX: return hbw_SC; break;
1088  case hbe_dPBAaHXLsepPM1: return hbw_SR_BB_SC; break;
1089  case hbe_dPBAaHXLsepother: return hbw_LR_BB_SC; break;
1090  case hbe_dCXAaHXL: return hbw_SC; break;
1091  case hbe_dIMDaHXL: return hbw_SC; break;
1092  case hbe_dIMEaHXL: return hbw_SC; break;
1093  case hbe_dINDaHXL: return hbw_SC; break;
1094  case hbe_dAMOaHXL: return hbw_SC; break;
1095  case hbe_dGDEaHXL: return hbw_SC; break;
1096  case hbe_dGDHaHXL: return hbw_SC; break;
1097  case hbe_dAHXaHXL: return hbw_SC; break;
1098  case hbe_dHXLaHXL: return hbw_SC; break;
1099  case hbe_dH2OaHXL: return hbw_SC; break;
1100  case hbe_dPBAaPCA_DNAsepPM1: return hbw_SR_BB_SC; break;
1101  case hbe_dPBAaPCA_DNAsepother: return hbw_LR_BB_SC; break;
1102  case hbe_dCXAaPCA_DNA: return hbw_SC; break;
1103  case hbe_dIMDaPCA_DNA: return hbw_SC; break;
1104  case hbe_dIMEaPCA_DNA: return hbw_SC; break;
1105  case hbe_dINDaPCA_DNA: return hbw_SC; break;
1106  case hbe_dAMOaPCA_DNA: return hbw_SC; break;
1107  case hbe_dGDEaPCA_DNA: return hbw_SC; break;
1108  case hbe_dGDHaPCA_DNA: return hbw_SC; break;
1109  case hbe_dAHXaPCA_DNA: return hbw_SC; break;
1110  case hbe_dHXLaPCA_DNA: return hbw_SC; break;
1111  case hbe_dH2OaPCA_DNA: return hbw_LR_BB_SC; break;
1112  case hbe_dPBAaPCA_RNAsepPM1: return hbw_SR_BB; break;
1113  case hbe_dPBAaPCA_RNAsepother: return hbw_LR_BB; break;
1114  case hbe_dCXAaPCA_RNAsepPM1: return hbw_SR_BB_SC; break;
1115  case hbe_dCXAaPCA_RNAsepother: return hbw_LR_BB_SC; break;
1116  case hbe_dIMDaPCA_RNAsepPM1: return hbw_SR_BB_SC; break;
1117  case hbe_dIMDaPCA_RNAsepother: return hbw_LR_BB_SC; break;
1118  case hbe_dIMEaPCA_RNAsepPM1: return hbw_SR_BB_SC; break;
1119  case hbe_dIMEaPCA_RNAsepother: return hbw_LR_BB_SC; break;
1120  case hbe_dINDaPCA_RNAsepPM1: return hbw_SR_BB_SC; break;
1121  case hbe_dINDaPCA_RNAsepother: return hbw_LR_BB_SC; break;
1122  case hbe_dAMOaPCA_RNAsepPM1: return hbw_SR_BB_SC; break;
1123  case hbe_dAMOaPCA_RNAsepother: return hbw_LR_BB_SC; break;
1124  case hbe_dGDEaPCA_RNAsepPM1: return hbw_SR_BB_SC; break;
1125  case hbe_dGDEaPCA_RNAsepother: return hbw_LR_BB_SC; break;
1126  case hbe_dGDHaPCA_RNAsepPM1: return hbw_SR_BB_SC; break;
1127  case hbe_dGDHaPCA_RNAsepother: return hbw_LR_BB_SC; break;
1128  case hbe_dAHXaPCA_RNAsepPM1: return hbw_SR_BB_SC; break;
1129  case hbe_dAHXaPCA_RNAsepother: return hbw_LR_BB_SC; break;
1130  case hbe_dHXLaPCA_RNAsepPM1: return hbw_SR_BB_SC; break;
1131  case hbe_dHXLaPCA_RNAsepother: return hbw_LR_BB_SC; break;
1132  case hbe_dH2OaPCA_RNA: return hbw_LR_BB_SC; break;
1133  case hbe_dPBAaPES_DNAsepPM1: return hbw_SR_BB_SC; break;
1134  case hbe_dPBAaPES_DNAsepother: return hbw_LR_BB_SC; break;
1135  case hbe_dCXAaPES_DNA: return hbw_SC; break;
1136  case hbe_dIMDaPES_DNA: return hbw_SC; break;
1137  case hbe_dIMEaPES_DNA: return hbw_SC; break;
1138  case hbe_dINDaPES_DNA: return hbw_SC; break;
1139  case hbe_dAMOaPES_DNA: return hbw_SC; break;
1140  case hbe_dGDEaPES_DNA: return hbw_SC; break;
1141  case hbe_dGDHaPES_DNA: return hbw_SC; break;
1142  case hbe_dAHXaPES_DNA: return hbw_SC; break;
1143  case hbe_dHXLaPES_DNA: return hbw_SC; break;
1144  case hbe_dH2OaPES_DNA: return hbw_LR_BB_SC; break;
1145  case hbe_dPBAaPES_RNAsepPM1: return hbw_SR_BB; break;
1146  case hbe_dPBAaPES_RNAsepother: return hbw_LR_BB; break;
1147  case hbe_dCXAaPES_RNAsepPM1: return hbw_SR_BB_SC; break;
1148  case hbe_dCXAaPES_RNAsepother: return hbw_LR_BB_SC; break;
1149  case hbe_dIMDaPES_RNAsepPM1: return hbw_SR_BB_SC; break;
1150  case hbe_dIMDaPES_RNAsepother: return hbw_LR_BB_SC; break;
1151  case hbe_dIMEaPES_RNAsepPM1: return hbw_SR_BB_SC; break;
1152  case hbe_dIMEaPES_RNAsepother: return hbw_LR_BB_SC; break;
1153  case hbe_dINDaPES_RNAsepPM1: return hbw_SR_BB_SC; break;
1154  case hbe_dINDaPES_RNAsepother: return hbw_LR_BB_SC; break;
1155  case hbe_dAMOaPES_RNAsepPM1: return hbw_SR_BB_SC; break;
1156  case hbe_dAMOaPES_RNAsepother: return hbw_LR_BB_SC; break;
1157  case hbe_dGDEaPES_RNAsepPM1: return hbw_SR_BB_SC; break;
1158  case hbe_dGDEaPES_RNAsepother: return hbw_LR_BB_SC; break;
1159  case hbe_dGDHaPES_RNAsepPM1: return hbw_SR_BB_SC; break;
1160  case hbe_dGDHaPES_RNAsepother: return hbw_LR_BB_SC; break;
1161  case hbe_dAHXaPES_RNAsepPM1: return hbw_SR_BB_SC; break;
1162  case hbe_dAHXaPES_RNAsepother: return hbw_LR_BB_SC; break;
1163  case hbe_dHXLaPES_RNAsepPM1: return hbw_SR_BB_SC; break;
1164  case hbe_dHXLaPES_RNAsepother: return hbw_LR_BB_SC; break;
1165  case hbe_dH2OaPES_RNA: return hbw_LR_BB_SC; break;
1166  case hbe_dPBAaRRI_DNAsepPM1: return hbw_SR_BB_SC; break;
1167  case hbe_dPBAaRRI_DNAsepother: return hbw_LR_BB_SC; break;
1168  case hbe_dCXAaRRI_DNA: return hbw_SC; break;
1169  case hbe_dIMDaRRI_DNA: return hbw_SC; break;
1170  case hbe_dIMEaRRI_DNA: return hbw_SC; break;
1171  case hbe_dINDaRRI_DNA: return hbw_SC; break;
1172  case hbe_dAMOaRRI_DNA: return hbw_SC; break;
1173  case hbe_dGDEaRRI_DNA: return hbw_SC; break;
1174  case hbe_dGDHaRRI_DNA: return hbw_SC; break;
1175  case hbe_dAHXaRRI_DNA: return hbw_SC; break;
1176  case hbe_dHXLaRRI_DNA: return hbw_SC; break;
1177  case hbe_dH2OaRRI_DNA: return hbw_LR_BB_SC; break;
1178  case hbe_dPBAaRRI_RNAsepPM1: return hbw_SR_BB; break;
1179  case hbe_dPBAaRRI_RNAsepother: return hbw_LR_BB; break;
1180  case hbe_dCXAaRRI_RNAsepPM1: return hbw_SR_BB_SC; break;
1181  case hbe_dCXAaRRI_RNAsepother: return hbw_LR_BB_SC; break;
1182  case hbe_dIMDaRRI_RNAsepPM1: return hbw_SR_BB_SC; break;
1183  case hbe_dIMDaRRI_RNAsepother: return hbw_LR_BB_SC; break;
1184  case hbe_dIMEaRRI_RNAsepPM1: return hbw_SR_BB_SC; break;
1185  case hbe_dIMEaRRI_RNAsepother: return hbw_LR_BB_SC; break;
1186  case hbe_dINDaRRI_RNAsepPM1: return hbw_SR_BB_SC; break;
1187  case hbe_dINDaRRI_RNAsepother: return hbw_LR_BB_SC; break;
1188  case hbe_dAMOaRRI_RNAsepPM1: return hbw_SR_BB_SC; break;
1189  case hbe_dAMOaRRI_RNAsepother: return hbw_LR_BB_SC; break;
1190  case hbe_dGDEaRRI_RNAsepPM1: return hbw_SR_BB_SC; break;
1191  case hbe_dGDEaRRI_RNAsepother: return hbw_LR_BB_SC; break;
1192  case hbe_dGDHaRRI_RNAsepPM1: return hbw_SR_BB_SC; break;
1193  case hbe_dGDHaRRI_RNAsepother: return hbw_LR_BB_SC; break;
1194  case hbe_dAHXaRRI_RNAsepPM1: return hbw_SR_BB_SC; break;
1195  case hbe_dAHXaRRI_RNAsepother: return hbw_LR_BB_SC; break;
1196  case hbe_dHXLaRRI_RNAsepPM1: return hbw_SR_BB_SC; break;
1197  case hbe_dHXLaRRI_RNAsepother: return hbw_LR_BB_SC; break;
1198  case hbe_dH2OaRRI_RNA: return hbw_LR_BB_SC; break;
1199  case hbe_dPBAaH2O: return hbw_LR_BB_SC; break;
1200  case hbe_dCXAaH2O: return hbw_SC; break;
1201  case hbe_dIMDaH2O: return hbw_SC; break;
1202  case hbe_dIMEaH2O: return hbw_SC; break;
1203  case hbe_dINDaH2O: return hbw_SC; break;
1204  case hbe_dAMOaH2O: return hbw_SC; break;
1205  case hbe_dGDEaH2O: return hbw_SC; break;
1206  case hbe_dGDHaH2O: return hbw_SC; break;
1207  case hbe_dAHXaH2O: return hbw_SC; break;
1208  case hbe_dHXLaH2O: return hbw_SC; break;
1209  case hbe_dH2OaH2O: return hbw_SC; break;
1210  case hbe_GENERIC_SP2BB_SR: return hbw_SR_BB; break;
1211  case hbe_GENERIC_SP2BB_LR: return hbw_LR_BB; break;
1212  case hbe_GENERIC_SP3BB_SR: return hbw_SR_BB; break;
1213  case hbe_GENERIC_SP3BB_LR: return hbw_LR_BB; break;
1214  case hbe_GENERIC_RINGBB_SR: return hbw_SR_BB; break;
1215  case hbe_GENERIC_RINGBB_LR: return hbw_LR_BB; break;
1216  case hbe_GENERIC_SP2BSC_SR: return hbw_SR_BB_SC; break;
1217  case hbe_GENERIC_SP2BSC_LR: return hbw_LR_BB_SC; break;
1218  case hbe_GENERIC_SP3BSC_SR: return hbw_SR_BB_SC; break;
1219  case hbe_GENERIC_SP3BSC_LR: return hbw_LR_BB_SC; break;
1220  case hbe_GENERIC_RINGBSC_SR: return hbw_SR_BB_SC; break;
1221  case hbe_GENERIC_RINGBSC_LR: return hbw_LR_BB_SC; break;
1222  case hbe_GENERIC_SP2SCSC_SR: return hbw_SC; break;
1223  case hbe_GENERIC_SP2SCSC_LR: return hbw_SC; break;
1224  case hbe_GENERIC_SP3SCSC_SR: return hbw_SC; break;
1225  case hbe_GENERIC_SP3SCSC_LR: return hbw_SC; break;
1226  case hbe_GENERIC_RINGSCSC_SR: return hbw_SC; break;
1227  case hbe_GENERIC_RINGSCSC_LR: return hbw_SC; break;
1228  }
1229  return hbw_NONE; // <- to assure gcc an HBondWeightType is returned
1230 }
1231 
1232 } // hbonds
1233 } // scoring
1234 } // core