/// <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); }
/// <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; }
/// <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); }