Exemple #1
0
        public PDBFiles()
        {
            Settings set = new Settings();

            set.Load();
            mode = set.mode;
        }
Exemple #2
0
 //Flag true only CA will be readed
 public MolData(string fileName,PDBMODE flag,INPUTMODE mode,CHAIN_MODE chainFlag=CHAIN_MODE.SINGLE)
 {
     using (StreamReader rr = new StreamReader(fileName))            {
         switch (mode)
         {
             case INPUTMODE.PROTEIN:
                 mol = new Molecule( flag,chainFlag);
                 break;
             case INPUTMODE.RNA:
                 mol = new MoleculeRNA(flag);
                 break;
         }
         
         bool res = mol.ReadMolecule(rr);
         if (!res)
             return;
         if (mol.Chains.Count == 0)
         {
             ErrorBase.AddErrors("Error in reading file: " + fileName + "\nCannot find residues, file will not be considered!");
             rr.Close();
             return;
         }
        molLength = mol.Chains[0].chainSequence.Length;         
     }
     //CenterMol();
 }
Exemple #3
0
        public Aglomerative(HierarchicalCInput obj, ClusterAlgorithm alg, INPUTMODE mode, bool flag, List <string> profiles)
        {
            InitializeComponent();
            Settings set = new Settings();

            set.Load();
            switch (set.mode)
            {
            case INPUTMODE.RNA:
                distanceControl1.HideAtoms = true;
                break;

            case INPUTMODE.USER_DEFINED:
                distanceControl1.HideRmsdLike = true;
                break;
            }
            foreach (var item in Enum.GetValues(typeof(AglomerativeType)))
            {
                comboBox1.Items.Add(Enum.GetName(typeof(AglomerativeType), item));
            }

            if (obj != null)
            {
                comboBox1.SelectedItem            = Enum.GetName(typeof(AglomerativeType), obj.linkageType);
                distanceControl1.reference        = obj.reference1DjuryH;
                distanceControl1.referenceProfile = obj.jury1DProfileH;
                distanceControl1.distDef          = obj.distance;
                distanceControl1.CAtoms           = obj.atoms;
                distanceControl1.profileName      = obj.hammingProfile;
            }
        }
Exemple #4
0
        //Flag true only CA will be readed
        public MolData(string fileName, PDBMODE flag, INPUTMODE mode, CHAIN_MODE chainFlag = CHAIN_MODE.SINGLE)
        {
            using (StreamReader rr = new StreamReader(fileName))            {
                switch (mode)
                {
                case INPUTMODE.PROTEIN:
                    mol = new Molecule(flag, chainFlag);
                    break;

                case INPUTMODE.RNA:
                    mol = new MoleculeRNA(flag);
                    break;
                }

                bool res = mol.ReadMolecule(rr);
                if (!res)
                {
                    return;
                }
                if (mol.Chains.Count == 0)
                {
                    ErrorBase.AddErrors("Error in reading file: " + fileName + "\nCannot find residues, file will not be considered!");
                    rr.Close();
                    return;
                }
                molLength = mol.Chains[0].chainSequence.Length;
            }
            //CenterMol();
        }
        public uQlustTreeAdvanced(Options obj, ClusterAlgorithm alg, INPUTMODE mode, bool flag, List <string> profiles)
        {
            InitializeComponent();
            if (profiles != null)
            {
                button3.Visible = true;
                profileFile     = profiles[0];
            }
            else
            {
                button3.Visible = false;
            }

            Settings set = new Settings();

            set.Load();

            switch (set.mode)
            {
            case INPUTMODE.RNA:
                distanceControl1.HideAtoms = true;
                break;

            case INPUTMODE.USER_DEFINED:
                distanceControl1.HideRmsdLike = true;
                break;
            }
            foreach (var item in Enum.GetValues(typeof(AglomerativeType)))
            {
                comboBox1.Items.Add(Enum.GetName(typeof(AglomerativeType), item));
            }

            if (obj != null)
            {
                comboBox1.SelectedItem            = Enum.GetName(typeof(AglomerativeType), obj.hierarchical.linkageType);
                relevantC.Value                   = obj.hash.relClusters;
                percentData.Value                 = obj.hash.perData;
                distanceControl1.reference        = obj.hierarchical.reference1DjuryH;
                distanceControl1.referenceProfile = obj.hash.profileName;
                distanceControl1.distDef          = obj.hierarchical.distance;
                distanceControl1.CAtoms           = obj.hierarchical.atoms;
                distanceControl1.profileName      = obj.hierarchical.hammingProfile;

                jury1DSetup1.profileName = obj.hash.profileName;

                if (obj.hash.jury)
                {
                    radioButton1.Checked = true;
                    radioButton2.Checked = false;
                }
                else
                {
                    radioButton1.Checked = false;
                    radioButton2.Checked = true;
                }
            }
        }
        public bool CheckAccessibility(profileNode profile, INPUTMODE type)
        {
            Type t = Type.GetType(internalList[profile]);
            InternalProfileBase c = Activator.CreateInstance(t) as InternalProfileBase;

            if (c.destination.Contains(type))
            {
                return(true);
            }

            return(false);
        }
Exemple #7
0
        public KMeansForm(KmeansInput obj, bool flag, INPUTMODE inputmode, List <string> profiles = null)
        {
            InitializeComponent();
            this.inputmode = inputmode;
            if (profiles != null)
            {
                button3.Visible = true;
                profileFile     = profiles[0];
            }
            else
            {
                button3.Visible = false;
            }
            distanceControl1.changedProfile = juryChanged;
            Settings set = new Settings();

            set.Load();
            if (set.mode == INPUTMODE.RNA)
            {
                distanceControl1.HideAtoms = true;
            }

            jury1DSetup1.profileNameChanged = juryChanged;
            if (flag)
            {
                distanceControl1.FreezDist();
            }


            if (obj != null)
            {
                kmeansMaxK.Value = (decimal)obj.maxK;
                if (obj.kMeans_init == Initialization.Jury1D)
                {
                    juryRadio.Checked   = true;
                    randomRadio.Checked = false;
                }
                else
                {
                    juryRadio.Checked   = false;
                    randomRadio.Checked = true;
                }

                distanceControl1.distDef          = obj.kDistance;
                distanceControl1.CAtoms           = obj.kAtoms;
                distanceControl1.profileName      = obj.hammingProfile;
                jury1DSetup1.profileName          = obj.jury1DProfile;
                numericUpDown1.Value              = obj.maxIter;
                distanceControl1.reference        = obj.reference1Djury;
                distanceControl1.referenceProfile = obj.jury1DProfile;
            }
        }
Exemple #8
0
        public KMeansForm(KmeansInput obj, bool flag,INPUTMODE inputmode,List<string> profiles=null)
        {
            InitializeComponent();
            this.inputmode = inputmode;
            if (profiles != null)
            {
                button3.Visible = true;
                profileFile = profiles[0];
            }
            else
                button3.Visible = false;
            distanceControl1.changedProfile = juryChanged;
            Settings set = new Settings();
            set.Load();
            if (set.mode == INPUTMODE.RNA)
                distanceControl1.HideAtoms = true;

            jury1DSetup1.profileNameChanged = juryChanged;
            if (flag)
                distanceControl1.FreezDist();


            if (obj != null)
            {
                kmeansMaxK.Value = (decimal)obj.maxK;
                if (obj.kMeans_init == Initialization.Jury1D)
                {
                    juryRadio.Checked = true;
                    randomRadio.Checked = false;
                }
                else
                {
                    juryRadio.Checked = false;
                    randomRadio.Checked = true;
                }

                distanceControl1.distDef = obj.kDistance;
                distanceControl1.CAtoms = obj.kAtoms;
                distanceControl1.profileName = obj.hammingProfile;
                jury1DSetup1.profileName = obj.jury1DProfile;
                numericUpDown1.Value = obj.maxIter;
                distanceControl1.reference = obj.reference1Djury;
                distanceControl1.referenceProfile = obj.jury1DProfile;
            }
        }
        public HashClusterForm(HashCInput input, INPUTMODE mode, List <string> profilesF = null)
        {
            InitializeComponent();
            this.mode = mode;
            if (profilesF != null)
            {
                profileFile     = profilesF[0];
                button3.Visible = true;
            }
            else
            {
                button3.Visible = false;
            }
            checkBox1.Checked        = input.regular;
            numericUpDown2.Value     = input.wSize;
            numericUpDown3.Value     = input.regThreshold;
            radioButton3.Checked     = input.combine;
            jury1DSetup1.profileName = input.profileName;
            relevantC.Value          = input.relClusters;
            percentData.Value        = input.perData;
            radioButton4.Checked     = input.fcolumns;
            switch (input.selectionMethod)
            {
            case COL_SELECTION.ENTROPY:
                comboBox1.SelectedIndex = 1;
                break;

            case COL_SELECTION.META_COL:
                comboBox1.SelectedIndex = 0;
                break;
            }


            if (input.jury)
            {
                radioButton1.Checked = true;
                radioButton2.Checked = false;
            }
            else
            {
                radioButton1.Checked = false;
                radioButton2.Checked = true;
            }
        }
        public HashClusterForm(HashCInput input,INPUTMODE mode,List<string> profilesF=null)
        {
            InitializeComponent();
            this.mode = mode;
            if (profilesF != null)
            {
                profileFile = profilesF[0];
                button3.Visible = true;
            }
            else
                button3.Visible = false;
            checkBox1.Checked = input.regular;
            numericUpDown2.Value = input.wSize;
            numericUpDown3.Value = input.regThreshold;
            radioButton3.Checked = input.combine;
            jury1DSetup1.profileName = input.profileName;
            jury1DSetup2.profileName = input.profileNameReg;
            relevantC.Value = input.relClusters;
            percentData.Value = input.perData;
            radioButton4.Checked = input.fcolumns;
            switch (input.selectionMethod)
            {
                case COL_SELECTION.ENTROPY:
                    comboBox1.SelectedIndex = 1;
                    break;
                case COL_SELECTION.META_COL:
                    comboBox1.SelectedIndex = 0;
                    break;
            }


            if (input.jury)
            {
                radioButton1.Checked = true;
                radioButton2.Checked = false;
            }
            else
            {
                radioButton1.Checked = false;
                radioButton2.Checked = true;
            }
        }
Exemple #11
0
        public RankingCForm(RankingCInput obj,ClusterAlgorithm alg,bool flag,INPUTMODE inputMode,List<string> profFiles=null)
        {
            this.alg = alg;
            this.inputMode = inputMode;
            InitializeComponent();
            if (profFiles != null)
            {
                profileFile = profFiles[0];
                button3.Visible = true;
            }
            else
                button3.Visible = false;
            Settings set = new Settings();
            set.Load();
            if (set.mode == INPUTMODE.RNA)
                distanceControl1.HideAtoms = true;

            if (flag)
            {
                distanceControl1.FreezDist();
                sift.Enabled = false;
                if (sift.Checked)
                {
                    jury1d.Checked = true;
                
                }
            }
            switch(alg)
            {    
                case ClusterAlgorithm.Jury1D:            
                    jury1d.Checked = true;
                    jury3d.Checked = false;
                    sift.Checked = false;
                    break;
                case ClusterAlgorithm.Jury3D:
                    jury1d.Checked = false;
                    jury3d.Checked = true;
                    sift.Checked = false;
                    break;
                case ClusterAlgorithm.Sift:
                    jury1d.Checked = false;
                    jury3d.Checked = false;
                    sift.Checked = true;
                    break;
                default:
                    jury1d.Checked = true;
                    jury3d.Checked = false;
                    sift.Checked = false;
                    break;
             }
            if (obj != null)
            {
                distanceControl1.distDef = obj.oDistance;
                distanceControl1.CAtoms = obj.oAtoms;
                distanceControl1.profileName = obj.hammingProfile;
                jury1DSetup1.profileName = obj.juryProfile;
                distanceControl1.referenceProfile = obj.referenceProfile;
                distanceControl1.reference = obj.reference1Djury;
            }
            if(jury1d.Checked)
                distanceControl1.Enabled = false;
        }
Exemple #12
0
 public PDBFiles()
 {
     Settings set = new Settings();
     set.Load();
     mode = set.mode;
 }
        public HierarchicalCForm(HierarchicalCInput obj,ClusterAlgorithm alg,INPUTMODE mode,bool flag,List<string> profiles)
        {
            this.alg = alg;
            objCopy = obj;
            this.mode = mode;
            InitializeComponent();
            if (profiles != null)
            {
                button3.Visible = true;
                profileFile = profiles[0];
            }
            else
                button3.Visible = false;

            userHash1.regularizationOff();
            SizeHeight = this.Size.Height;
            distanceControl1.refChanged = ReferanceCheckChanged;
            //distanceControl1.FreezeCAtoms();
            Settings set = new Settings();
            set.Load();
            if (set.mode == INPUTMODE.RNA)
                distanceControl1.HideAtoms = true;
            
            foreach (var item in Enum.GetValues(typeof(AglomerativeType)))
                comboBox1.Items.Add(Enum.GetName(typeof(AglomerativeType),item));

            if (obj != null)
            {                
                comboBox1.SelectedItem=Enum.GetName(typeof(AglomerativeType),obj.linkageType);                
                numericBox1.Text = obj.numInitNodes.ToString();
                DBIndex.Value = (decimal)obj.indexDB;
                threshold.Value = (decimal)obj.numberOfStruct;
                maxRepeat.Value = (decimal)obj.repeatTime;
                maxK.Value = (decimal)obj.maxK;
                
                switch (alg)
                {
                    case ClusterAlgorithm.FastHCluster:
                        AglomRadio.Checked = false;
                        FastHClusterRadio.Checked = true;
                        KmeansRadio.Checked = false;
                        userHash1.Visible = false;
                        radioButton3.Checked = false;
                        groupBox1.Visible = true;
                        if (radioButton1.Checked)
                            if (distanceControl1.reference)
                                jury1DSetup3.Visible = false;
                            else
                                jury1DSetup3.Visible = true;
                        this.Size = new Size(this.Size.Width, SizeHeight / 2 + SizeHeight / 4);
                        distanceControl1.reference = obj.reference1DjuryFast;
                        distanceControl1.referenceProfile = obj.consensusProfile;
                        userHash1.profRefFile = obj.jury1DProfileFast;
                        break;
                    case ClusterAlgorithm.HKmeans:
                        AglomRadio.Checked = false;
                        FastHClusterRadio.Checked = false;
                        KmeansRadio.Checked = true;
                        groupBox1.Visible = false;
                        radioButton3.Checked = false;
                        userHash1.Visible = false;
                        this.Size = new Size(this.Size.Width, SizeHeight / 2 + SizeHeight/3);
                        distanceControl1.reference = obj.reference1DjuryKmeans;
                        distanceControl1.referenceProfile = obj.jury1DProfileKmeans;
                        break;
                    case ClusterAlgorithm.uQlustTree:
                        userHash1.Visible = true;
                        AglomRadio.Checked = false;
                        FastHClusterRadio.Checked = false;
                        KmeansRadio.Checked = false;
                        groupBox1.Visible = false;
                        radioButton3.Checked = true;
                        this.Size = new Size(this.Size.Width, SizeHeight);
                        distanceControl1.reference = obj.reference1DjuryH;
                        distanceControl1.referenceProfile = obj.jury1DProfileH;
                        break;
                    default://Aglomerative
                        AglomRadio.Checked = true;
                        FastHClusterRadio.Checked = false;
                        KmeansRadio.Checked = false;
                        groupBox1.Visible = false;
                        userHash1.Visible = false;
                        radioButton3.Checked = false;
                        distanceControl1.reference = obj.reference1DjuryAglom;
                        distanceControl1.referenceProfile = obj.jury1DProfileAglom;
                        break;
                }
                distanceControl1.distDef = obj.distance;
                distanceControl1.CAtoms = obj.atoms;
                distanceControl1.profileName = obj.hammingProfile;
                
                jury1DSetup3.profileName = obj.consensusProfile;
                checkBox2.Checked = obj.ItMeans;
                numericUpDown1.Value = obj.ItNum;
                if (obj.HConsensus)
                {
                    radioButton1.Checked = false;
                    radioButton2.Checked = true;
                }
                else
                {
                    radioButton1.Checked = true;
                    radioButton2.Checked = false;
                }
                if (flag)
                {
                    distanceControl1.FreezDist();
                  //  distanceControl1.distDef = DistanceMeasures.HAMMING;
                }
               // distanceControl1.CAtoms = PDB.PDBMODE.ONLY_CA;
                userHash1.SetHash(obj.hash);
            }
        }
Exemple #14
0
        public RankingCForm(RankingCInput obj, ClusterAlgorithm alg, bool flag, INPUTMODE inputMode, List <string> profFiles = null)
        {
            this.alg       = alg;
            this.inputMode = inputMode;
            InitializeComponent();
            if (profFiles != null)
            {
                profileFile     = profFiles[0];
                button3.Visible = true;
            }
            else
            {
                button3.Visible = false;
            }
            Settings set = new Settings();

            set.Load();
            if (set.mode == INPUTMODE.RNA)
            {
                distanceControl1.HideAtoms = true;
            }

            if (flag)
            {
                distanceControl1.FreezDist();
                sift.Enabled = false;
                if (sift.Checked)
                {
                    jury1d.Checked = true;
                }
            }
            switch (alg)
            {
            case ClusterAlgorithm.Jury1D:
                jury1d.Checked = true;
                jury3d.Checked = false;
                sift.Checked   = false;
                break;

            case ClusterAlgorithm.Jury3D:
                jury1d.Checked = false;
                jury3d.Checked = true;
                sift.Checked   = false;
                break;

            case ClusterAlgorithm.Sift:
                jury1d.Checked = false;
                jury3d.Checked = false;
                sift.Checked   = true;
                break;

            default:
                jury1d.Checked = true;
                jury3d.Checked = false;
                sift.Checked   = false;
                break;
            }
            if (obj != null)
            {
                distanceControl1.distDef          = obj.oDistance;
                distanceControl1.CAtoms           = obj.oAtoms;
                distanceControl1.profileName      = obj.hammingProfile;
                jury1DSetup1.profileName          = obj.juryProfile;
                distanceControl1.referenceProfile = obj.referenceProfile;
                distanceControl1.reference        = obj.reference1Djury;
            }
            if (jury1d.Checked)
            {
                distanceControl1.Enabled = false;
            }
        }
        public HierarchicalCForm(Options opt, ClusterAlgorithm alg, INPUTMODE mode, bool flag, List <string> profiles)
        {
            HierarchicalCInput obj = opt.hierarchical;

            this.alg  = alg;
            objCopy   = obj;
            this.mode = mode;
            InitializeComponent();
            if (profiles != null)
            {
                button3.Visible = true;
                profileFile     = profiles[0];
            }
            else
            {
                button3.Visible = false;
            }

            userHash1.regularizationOff();
            SizeHeight = this.Size.Height;
            distanceControl1.refChanged = ReferanceCheckChanged;
            //distanceControl1.FreezeCAtoms();
            Settings set = new Settings();

            set.Load();
            if (set.mode == INPUTMODE.RNA)
            {
                distanceControl1.HideAtoms = true;
            }

            foreach (var item in Enum.GetValues(typeof(AglomerativeType)))
            {
                comboBox1.Items.Add(Enum.GetName(typeof(AglomerativeType), item));
            }

            if (obj != null)
            {
                comboBox1.SelectedItem = Enum.GetName(typeof(AglomerativeType), obj.linkageType);
                numericBox1.Text       = obj.numInitNodes.ToString();
                DBIndex.Value          = (decimal)obj.indexDB;
                threshold.Value        = (decimal)obj.numberOfStruct;
                maxRepeat.Value        = (decimal)obj.repeatTime;
                maxK.Value             = (decimal)obj.maxK;

                switch (alg)
                {
                case ClusterAlgorithm.FastHCluster:
                    AglomRadio.Checked        = false;
                    FastHClusterRadio.Checked = true;
                    KmeansRadio.Checked       = false;
                    userHash1.Visible         = false;
                    radioButton3.Checked      = false;
                    groupBox1.Visible         = true;
                    if (radioButton1.Checked)
                    {
                        if (distanceControl1.reference)
                        {
                            jury1DSetup3.Visible = false;
                        }
                        else
                        {
                            jury1DSetup3.Visible = true;
                        }
                    }
                    this.Size = new Size(this.Size.Width, SizeHeight / 2 + SizeHeight / 4);
                    distanceControl1.reference        = obj.reference1DjuryFast;
                    distanceControl1.referenceProfile = obj.consensusProfile;
                    userHash1.profRefFile             = obj.jury1DProfileFast;
                    break;

                case ClusterAlgorithm.HKmeans:
                    AglomRadio.Checked        = false;
                    FastHClusterRadio.Checked = false;
                    KmeansRadio.Checked       = true;
                    groupBox1.Visible         = false;
                    radioButton3.Checked      = false;
                    userHash1.Visible         = false;
                    this.Size = new Size(this.Size.Width, SizeHeight / 2 + SizeHeight / 3);
                    distanceControl1.reference        = obj.reference1DjuryKmeans;
                    distanceControl1.referenceProfile = obj.jury1DProfileKmeans;
                    break;

                case ClusterAlgorithm.uQlustTree:
                    userHash1.Visible         = true;
                    AglomRadio.Checked        = false;
                    FastHClusterRadio.Checked = false;
                    KmeansRadio.Checked       = false;
                    groupBox1.Visible         = false;
                    radioButton3.Checked      = true;
                    this.Size = new Size(this.Size.Width, SizeHeight);
                    distanceControl1.reference        = obj.reference1DjuryH;
                    distanceControl1.referenceProfile = obj.jury1DProfileH;
                    break;

                default:    //Aglomerative
                    AglomRadio.Checked                = true;
                    FastHClusterRadio.Checked         = false;
                    KmeansRadio.Checked               = false;
                    groupBox1.Visible                 = false;
                    userHash1.Visible                 = false;
                    radioButton3.Checked              = false;
                    distanceControl1.reference        = obj.reference1DjuryAglom;
                    distanceControl1.referenceProfile = obj.jury1DProfileAglom;
                    break;
                }
                distanceControl1.distDef     = obj.distance;
                distanceControl1.CAtoms      = obj.atoms;
                distanceControl1.profileName = obj.hammingProfile;

                jury1DSetup3.profileName = obj.consensusProfile;
                checkBox2.Checked        = obj.ItMeans;
                numericUpDown1.Value     = obj.ItNum;
                if (obj.HConsensus)
                {
                    radioButton1.Checked = false;
                    radioButton2.Checked = true;
                }
                else
                {
                    radioButton1.Checked = true;
                    radioButton2.Checked = false;
                }
                if (flag)
                {
                    distanceControl1.FreezDist();
                    //  distanceControl1.distDef = DistanceMeasures.HAMMING;
                }
                // distanceControl1.CAtoms = PDB.PDBMODE.ONLY_CA;
                userHash1.SetHash(opt.hash);
            }
        }
        public bool CheckAccessibility(profileNode profile,INPUTMODE type)
        {
            Type t = Type.GetType(internalList[profile]);
            InternalProfileBase c = Activator.CreateInstance(t) as InternalProfileBase;

            if (c.destination.Contains(type))
                return true;

            return false;
        }