コード例 #1
0
        public static HessCoarseResiIter.HessInfoCoarseResiIter GetHessCoarseResiIter_SymrcmBlockWise
            (Hess.HessInfo hessinfo
            , Vector[] coords
            , double?symrcm_filter_blckwise_interact // null (use 1 as default)
            , ILinAlg ila
            , int clus_width                         ///= 18    | (18,500) is good for large sparse proteins
            , int num_atom_merge                     ///= 500   | (14,400) is good for small densely packed globular proteins
            , double thres_zeroblk                   ///= 0.001 | 0.001 could be fairly good for ssNMA (possibly for sbNMA and NMA, too)
            , string[] nameToKeep
            )
        {
            if (clus_width <= 0)
            {
                throw new Exception("clus_width should be > 0");
            }

            HessCoarseResiIter.FuncGetIdxKeepListRemv GetIdxKeepListRemv = delegate(object[] latoms, Vector[] lcoords)
            {
                Universe.Atom[] lunivatoms = latoms.HToType(null as Universe.Atom[]);
                return(HessCoarseResiIter.GetIdxKeepListRemv_ResiCluster_SymrcmBlockWise(lunivatoms, lcoords, hessinfo.hess, clus_width, num_atom_merge, symrcm_filter_blckwise_interact, nameToKeep));
            };
            return(HessCoarseResiIter.GetHessCoarseResiIter
                       (hessinfo, coords, GetIdxKeepListRemv, ila, thres_zeroblk
                       , HessCoarseResiIter.IterOption.Matlab_experimental
                       ));
        }
コード例 #2
0
        public static HessCoarseResiIter.HessInfoCoarseResiIter GetHessCoarseResiIter_BlockWise
            (Hess.HessInfo hessinfo
            , Vector[] coords
            , ILinAlg ila
            , int clus_width       ///= 18    | (18,500) is good for large sparse proteins
            , int num_atom_merge   ///= 500   | (14,400) is good for small densely packed globular proteins
            , double thres_zeroblk ///= 0.001 | 0.001 could be fairly good for ssNMA (possibly for sbNMA and NMA, too)
            , IList <Universe.Atom> keeps
            , HessCoarseResiIter.IterOption iteropt
            , params string[] options
            )
        {
            if (clus_width <= 0)
            {
                throw new Exception("clus_width should be > 0");
            }

            HessCoarseResiIter.FuncGetIdxKeepListRemv GetIdxKeepListRemv = delegate(object[] latoms, Vector[] lcoords)
            {
                Universe.Atom[] lunivatoms = latoms.HToType(null as Universe.Atom[]);
                return(HessCoarseResiIter.GetIdxKeepListRemv_ResiCluster2(lunivatoms, lcoords, clus_width, num_atom_merge, keeps));
            };
            return(HessCoarseResiIter.GetHessCoarseResiIter
                       (hessinfo, coords, GetIdxKeepListRemv, ila, thres_zeroblk
                       , iteropt
                       , options: options
                       ));
        }
コード例 #3
0
 public static HessCoarseResiIter.HessInfoCoarseResiIter GetHessCoarseResiIter_SymrcmAtomWise
     (Hess.HessInfo hessinfo
     , Vector[] coords
     , ILinAlg ila
     , int num_atom_merge   ///= 500   | (14,400) is good for small densely packed globular proteins
     , double thres_zeroblk ///= 0.001 | 0.001 could be fairly good for ssNMA (possibly for sbNMA and NMA, too)
     , string[] nameToKeep
     )
 {
     HessCoarseResiIter.FuncGetIdxKeepListRemv GetIdxKeepListRemv = delegate(object[] latoms, Vector[] lcoords)
     {
         Universe.Atom[] lunivatoms = latoms.HToType(null as Universe.Atom[]);
         return(HessCoarseResiIter.GetIdxKeepListRemv_ResiCluster_SymrcmAtomWise(lunivatoms, lcoords, hessinfo.hess, num_atom_merge, thres_zeroblk, nameToKeep));
     };
     return(HessCoarseResiIter.GetHessCoarseResiIter
                (hessinfo, coords, GetIdxKeepListRemv, ila, thres_zeroblk
                , HessCoarseResiIter.IterOption.Matlab_experimental
                ));
 }
コード例 #4
0
 public static HessCoarseResiIter.HessInfoCoarseResiIter GetHessCoarseResiIter
     (Hess.HessInfo hessinfo
     , Vector[] coords
     , HessCoarseResiIter.FuncGetIdxKeepListRemv GetIdxKeepListRemv
     , ILinAlg ila
     , double thres_zeroblk = 0.001
     , HessCoarseResiIter.IterOption iteropt = HessCoarseResiIter.IterOption.Matlab_experimental
     , string[] options = null
     )
 {
     return(HessCoarseResiIter.GetHessCoarseResiIter
                (hessinfo: hessinfo
                , coords: coords
                , GetIdxKeepListRemv: GetIdxKeepListRemv
                , ila: ila
                , thres_zeroblk: thres_zeroblk
                , iteropt: iteropt
                , options: options
                ));
 }