示例#1
0
        /// <summary>
        /// generate interface files for a list representative entries
        /// </summary>
        /// <param name="pdbList"></param>
        public void GenerateRepEntryInterfaceFiles(string[] pdbList)
        {
            Initialize();
            CrystInterfaceProcessor interfaceFileGen = new CrystInterfaceProcessor();

            interfaceFileGen.GenerateRepEntryInterfaceFiles(pdbList);
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pdbList"></param>
        /// <param name="userGroupName"></param>
        public void FindCommonInterfaceInGroup(string[] pdbList, string userGroupName)
        {
            Initialize();

            ProtCidSettings.progressInfo.Reset();
            int groupId = 111111;

            int[] updateGroups = new int [1];
            updateGroups[0] = groupId;

            ClearPreviousUserData(groupId);

            ProtCidSettings.progressInfo.progStrQueue.Enqueue("1. Classify PDB entries into homologous groups");
            HomoEntryClassifier entryClassifier = new HomoEntryClassifier(groupId);

            entryClassifier.ClassifyHomoEntries(pdbList, userGroupName);
            ProtCidSettings.progressInfo.currentOperationIndex++;

            ProtCidSettings.progressInfo.progStrQueue.Enqueue("2. Build crystal, detect common interfaces in a group");
            HomoGroupInterfacesFinder interfaceFinder = new HomoGroupInterfacesFinder();

            HomoGroupInterfacesFinder.modifyType = "update";
            interfaceFinder.DetectHomoGroupInterfaces(updateGroups);
            ProtCidSettings.progressInfo.currentOperationIndex++;

            ProtCidSettings.progressInfo.progStrQueue.Enqueue("3. Generate interface files, calculate ASA in interfaces");
            CrystInterfaceProcessor interfaceProcessor = new CrystInterfaceProcessor();

            interfaceProcessor.GenerateEntryInterfaceFiles(pdbList);
            ProtCidSettings.progressInfo.currentOperationIndex++;

            ProtCidSettings.progressInfo.progStrQueue.Enqueue("4. Compare cryst interfaces with PDB/PISA BUs and ASU Interfaces");
            EntryCrystBuInterfaceComp buInterfaceComp = new EntryCrystBuInterfaceComp();

            buInterfaceComp.CompareEntryCrystBuInterfaces(pdbList);
            ProtCidSettings.progressInfo.currentOperationIndex++;

            ProtCidSettings.progressInfo.progStrQueue.Enqueue("5. Deal With Redundant Crystal Forms.");
            RedundantCrystForms reduntCf = new RedundantCrystForms();

            reduntCf.UpdateReduntCrystForms(updateGroups);
            NonredundantCfGroups nonreduntCfGroups = new NonredundantCfGroups();

            nonreduntCfGroups.UpdateCfGroupInfo(updateGroups);
            ProtCidSettings.progressInfo.currentOperationIndex++;

            ProtCidSettings.progressInfo.progStrQueue.Enqueue("6. Cluster cryst common interfaces");
            InterfaceCluster interfaceCluster = new InterfaceCluster();

            interfaceCluster.UpdateInterfaceClusters(updateGroups);
            ProtCidSettings.progressInfo.currentOperationIndex++;

            ProtCidSettings.progressInfo.progStrQueue.Enqueue("7. Print cryst common interfaces");
            ClusterStat clusterStat = new ClusterStat();

            clusterStat.PrintCrystInterfaceClusters(groupId, ProtCidSettings.dataType);

            ProtCidSettings.progressInfo.threadFinished = true;
        }
示例#3
0
        /// <summary>
        /// generate interface files for a list input entries
        /// </summary>
        /// <param name="pdbList"></param>
        public void GenerateEntryInterfaceFiles(string[] pdbList)
        {
            Initialize();
            if (pdbList == null)
            {
                DbQuery   dbQuery     = new DbQuery();
                string    queryString = "Select Distinct PdbID From CrystEntryInterfaces Where SurfaceArea < 0;";
                DataTable entryTable  = ProtCidSettings.protcidQuery.Query(queryString);
                pdbList = new string [entryTable.Rows.Count];
                int i = 0;
                foreach (DataRow dRow in entryTable.Rows)
                {
                    pdbList[i] = dRow["PdbID"].ToString();
                    i++;
                }
            }
            CrystInterfaceProcessor interfaceFileGen = new CrystInterfaceProcessor();

            interfaceFileGen.GenerateEntryInterfaceFiles(pdbList);
        }