Exemplo n.º 1
0
 public HashClusterDendrog(DCDFile dcd, HashCInput input, HierarchicalCInput dendrogOpt) : base(dcd, input)
 {
     this.dMeasure       = dendrogOpt.distance;
     this.linkageType    = dendrogOpt.linkageType;
     this.atoms          = dendrogOpt.atoms;
     this.jury1d         = dendrogOpt.reference1DjuryH;
     this.profileName    = dendrogOpt.hammingProfile;
     this.refJuryProfile = dendrogOpt.jury1DProfileH;
     hier = dendrogOpt;
 }
Exemplo n.º 2
0
  public HashClusterDendrog(string dirName, string alignFile, HashCInput input, DistanceMeasures dMeasure, AglomerativeType linkageType, PDB.PDBMODE atoms, bool jury1d, string alignFileName,
                                       string profileName = null, string refJuryProfile = null):base(dirName,alignFile,input)
 {
     this.dMeasure=dMeasure;
     this.linkageType=linkageType;
     this.atoms = atoms;
     this.jury1d = jury1d;
     this.profileName = profileName;
     this.refJuryProfile = refJuryProfile;
     this.dirName = dirName;
 }
Exemplo n.º 3
0
        private DistanceMeasure CreateMeasure(string processName, string dirName, DistanceMeasures measure, PDB.PDBMODE atoms, bool jury1d, string alignFileName,
                                              string profileName = null, string refJuryProfile = null)
        {
            DistanceMeasure dist = null;

            switch (measure)
            {
            case DistanceMeasures.HAMMING:
                if (alignFileName != null)
                {
                    dist = new JuryDistance(alignFileName, jury1d, profileName, refJuryProfile);
                }
                else
                {
                    dist = new JuryDistance(dirName, alignFileName, jury1d, profileName, refJuryProfile);
                }
                break;

            case DistanceMeasures.TANIMOTO:
                if (alignFileName != null)
                {
                    dist = new Tanimoto(alignFileName, jury1d, profileName, refJuryProfile);
                }
                else
                {
                    dist = new Tanimoto(dirName, alignFileName, jury1d, profileName, refJuryProfile);
                }
                break;

            case DistanceMeasures.COSINE:
                if (alignFileName != null)
                {
                    dist = new CosineDistance(alignFileName, jury1d, profileName, refJuryProfile);
                }
                else
                {
                    dist = new CosineDistance(dirName, alignFileName, jury1d, profileName, refJuryProfile);
                }
                break;

            case DistanceMeasures.RMSD:
                if (dirName == null)
                {
                    throw new Exception("RMSD and MAXSUB measures cannot be used for aligned profiles!");
                }
                dist = new Rmsd(dirName, alignFileName, jury1d, atoms, refJuryProfile);
                break;

            case DistanceMeasures.MAXSUB:
                if (dirName == null)
                {
                    throw new Exception("RMSD and MAXSUB measures cannot be used for aligned profiles!");
                }
                dist = new MaxSub(dirName, alignFileName, jury1d, refJuryProfile);
                break;

            case DistanceMeasures.GDT_TS:
                if (dirName == null)
                {
                    throw new Exception("RMSD and MAXSUB measures cannot be used for aligned profiles!");
                }
                dist = new GDT_TS(dirName, alignFileName, jury1d, refJuryProfile);
                break;
            }
            return(dist);
        }
Exemplo n.º 4
0
        private DistanceMeasure CreateMeasureForDCD(DCDFile dcd, DistanceMeasures measure, PDB.PDBMODE atoms, bool jury1d, string alignFileName,
                                                    string profileName = null, string refJuryProfile = null)
        {
            DistanceMeasure dist = null;

            switch (measure)
            {
            case DistanceMeasures.HAMMING:
                if (refJuryProfile == null || !jury1d)
                {
                    throw new Exception("Sorry but for jury measure you have to define 1djury profile to find reference structure");
                }
                else
                {
                    dist = new JuryDistance(dcd, alignFileName, true, profileName, refJuryProfile);
                }
                break;

            case DistanceMeasures.RMSD:
                dist = new Rmsd(dcd, alignFileName, jury1d, atoms, refJuryProfile);
                break;

            case DistanceMeasures.MAXSUB:
                dist = new MaxSub(dcd, alignFileName, jury1d, refJuryProfile);
                break;

            case DistanceMeasures.GDT_TS:
                dist = new GDT_TS(dcd, alignFileName, jury1d, refJuryProfile);
                break;
            }

            dist.InitMeasure();
            return(dist);
        }