/// <summary> /// /// </summary> public void Initialize(bool isUpdate) { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } // for connecting to ProtBuD database, converting sequence numbers if (ProtCidSettings.pdbfamDbConnection == null) { ProtCidSettings.pdbfamDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath); } if (alignmentDbConnection == null) { alignmentDbConnection = new DbConnect(); alignmentDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.alignmentDbPath; } alignmentDbConnection.ConnectToDatabase(); FatcatTables.InitializeTables(dbAlignTableName); /* if (! isUpdate) // intend to comment out, to prevent drop the tables * { * FatcatTables.InitializeDbTable(alignmentDbConnection, dbAlignTableName); // create new fatcat alignments table in the db * FatcatTables.InitializeDbTable(alignmentDbConnection, dbAlignTableName + "Rigid"); * }*/ if (logWriter == null) { logWriter = new StreamWriter("FatcatAlignmentsParsingLog.txt", true); logWriter.WriteLine(DateTime.Today.ToShortDateString()); } }
/// <summary> /// /// </summary> /// <param name="nonAlignedPairsFile"></param> public string GetFatcatAlignmentsOnLinux(string nonAlignedPairsFile) { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (ProtCidSettings.alignmentDbConnection == null) { ProtCidSettings.alignmentDbConnection = new DbLib.DbConnect(); ProtCidSettings.alignmentDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;" + "PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.alignmentDbPath; } string repChainPairsFileName = "NonAlignRepEntryPairs.txt"; WriteRepChainPairsToFile(nonAlignedPairsFile, repChainPairsFileName); CmdOperations linuxOperator = new CmdOperations(); linuxOperator.CopyWindowsDataToLinux(repChainPairsFileName, exeFatcatDir + repChainPairsFileName); string cmdLineFile = WriteFatcatCommandFile(repChainPairsFileName); linuxOperator.RunPlink(cmdLineFile); string alignFileInLinux = fatcatDir + repChainPairsFileName.Replace(".txt", ".aln"); string alignFileInWindows = Path.Combine(ProtCidSettings.dirSettings.fatcatPath, repChainPairsFileName.Replace(".txt", ".aln")); linuxOperator.CopyLinuxDataToWindows(alignFileInLinux, alignFileInWindows); return(alignFileInWindows); }
/// <summary> /// /// </summary> /// <param name="updateGroups"></param> public string ReverseClusterInterfaceFiles(int[] updateGroups) { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (AppSettings.parameters == null) { AppSettings.LoadParameters(); } string updateReverseInterfaceFile = Path.Combine(ProtCidSettings.applicationStartPath, "ReverseInterfacesInCluster.txt"); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Update Non-symmetry interface files in the clusters."); string updateNonSymInterfaceFile = UpdateClusterNonSymmetryInterfaces(updateGroups); // string updateNonSymInterfaceFile = "UpdateClusterNonSymInterfaces.txt"; ProtCidSettings.progressInfo.progStrQueue.Enqueue("Compare Non symmetry interface files to the first interface in the cluster (in alphabet order)"); string updateNonSymInterfaceCompFile = interfaceComp.CompareClusterNonSymInterfaces(updateNonSymInterfaceFile); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Reverse interface files in pdb format."); updateReverseInterfaceFile = GetInterfacesToReversed(updateNonSymInterfaceCompFile); interfaceGenerator.ReverseInterfaceChains(updateReverseInterfaceFile); return(updateReverseInterfaceFile); }
public void WriteAsuToPdbFiles() { SetFilePaths(); ProtCidSettings.LoadDirSettings(); ProtCidSettings.pdbfamDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath); ProtCidSettings.pdbfamDbConnection.ConnectToDatabase(); string[] pdbCodes = GetMissingEntries(); string gzCoordXmlFile = ""; string coordXmlFile = ""; string coordXmlFileDir = @"D:\Qifang\ProjectData\DbProjectData\CoordXml"; foreach (string pdbCode in pdbCodes) { try { gzCoordXmlFile = Path.Combine(coordXmlFileDir, pdbCode + ".xml.gz"); coordXmlFile = ParseHelper.UnZipFile(gzCoordXmlFile, ProtCidSettings.tempDir); // read data from crystal xml file EntryCrystal thisEntryCrystal; XmlSerializer xmlSerializer = new XmlSerializer(typeof(EntryCrystal)); FileStream xmlFileStream = new FileStream(coordXmlFile, FileMode.Open); thisEntryCrystal = (EntryCrystal)xmlSerializer.Deserialize(xmlFileStream); xmlFileStream.Close(); WriteXmlFileToPdbFile(pdbCode, thisEntryCrystal); } catch (Exception ex) { ProtCidSettings.progressInfo.progStrQueue.Enqueue(pdbCode + ": " + ex.Message); } } ProtCidSettings.pdbfamDbConnection.DisconnectFromDatabase(); }
/// <summary> /// /// </summary> public void UpdateBuAssemblies() { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (!Directory.Exists(ProtCidSettings.tempDir)) { Directory.CreateDirectory(ProtCidSettings.tempDir); } bool needLigands = true; bool authorDefined = true; // add new/updated BU files on May 24, 2011 for Qiong's paper string[] updateEntries = GetUpdateFileList(); // string[] updateEntries = GetEntriesWithBugs(); ProtCidSettings.progressInfo.ResetCurrentProgressInfo(); ProtCidSettings.progressInfo.totalOperationNum = updateEntries.Length; ProtCidSettings.progressInfo.totalStepNum = updateEntries.Length; ProtCidSettings.progressInfo.currentOperationLabel = "Generate BU files"; string[] entryBuFiles = null; string newLsFileName = Path.Combine(ProtCidSettings.dirSettings.pisaPath, "newls.txt"); StreamWriter lsFileWriter = new StreamWriter(newLsFileName); foreach (string pdbId in updateEntries) { ProtCidSettings.progressInfo.currentOperationNum++; ProtCidSettings.progressInfo.currentStepNum++; ProtCidSettings.progressInfo.currentFileName = pdbId; entryBuFiles = GenerateEntryBuFiles(pdbId, needLigands, authorDefined); if (entryBuFiles != null && entryBuFiles.Length > 0) { CopyEntryBuFilesToLinux(entryBuFiles); foreach (string buFile in entryBuFiles) { FileInfo fileInfo = new FileInfo(buFile); lsFileWriter.WriteLine(fileInfo.Name); } lsFileWriter.Flush(); } } try { Directory.Delete(ProtCidSettings.tempDir); } catch { } logWriter.Close(); lsFileWriter.Close(); CopyLsFileToLinux(newLsFileName); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Done!"); ProtCidSettings.progressInfo.threadFinished = true; }
/// <summary> /// /// </summary> public void AddPeptideSequencesInfoToClusterFile() { ProtCidSettings.LoadDirSettings(); AppSettings.LoadParameters(); AppSettings.LoadSymOps(); if (ProtCidSettings.pdbfamDbConnection == null) { ProtCidSettings.pdbfamDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath); } if (ProtCidSettings.protcidDbConnection == null) { ProtCidSettings.protcidDbConnection = new DbConnect(); ProtCidSettings.protcidDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath; } string clusterFile = @"D:\DbProjectData\pfam\PfamPeptide\Pkinase\cutoff3\PfamPepInterfaceClusters3.txt"; string clusterSequenceFile = @"D:\DbProjectData\pfam\PfamPeptide\Pkinase\cutoff3\PkinaseCluster2PeptideSeq.txt"; StreamReader dataReader = new StreamReader(clusterFile); StreamWriter dataWriter = new StreamWriter(clusterSequenceFile); string line = dataReader.ReadLine(); // header line int selectedClusterId = 2; int clusterId = 0; string pdbId = ""; int domainInterfaceId = 0; while ((line = dataReader.ReadLine()) != null) { string[] fields = line.Split('\t'); clusterId = Convert.ToInt32(fields[1]); if (clusterId == selectedClusterId) { pdbId = fields[2]; domainInterfaceId = Convert.ToInt32(fields[3]); dataWriter.WriteLine(line); string[] pdbDbSeqInfos = GetPeptideSeqInfo(pdbId, domainInterfaceId); if (pdbDbSeqInfos == null) { dataWriter.WriteLine(); } else { foreach (string seq in pdbDbSeqInfos) { dataWriter.WriteLine(seq); } dataWriter.WriteLine(); } } } dataReader.Close(); dataWriter.Close(); }
public void BuildPfamDatabase() { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } DownloadPfamFiles(); string connectString = "Driver={MySQL ODBC 5.1 Driver}; Server=localhost;Database=pfam;UID=root;PWD=learnsql2011;"; mysqlConnect.ConnectString = connectString; mysqlConnect.ConnectToDatabase(); // OutputPdbPfamFiles(); string tempDir = "C:\\temp"; if (!Directory.Exists(tempDir)) { Directory.CreateDirectory(tempDir); } string[] sqlFiles = Directory.GetFiles(Path.Combine(ProtCidSettings.dirSettings.pfamPath, "pfam_database"), "*sql.gz"); string loadDataString = ""; string unzippedFile = ""; string unixFilePath = ""; string tableName = ""; string[] createTableStrings = null; foreach (string sqlFile in sqlFiles) { unzippedFile = ParseHelper.UnZipFile(sqlFile, tempDir); createTableStrings = ReadCreatTableString(unzippedFile); foreach (string createTableString in createTableStrings) { dbQuery.Query(mysqlConnect, createTableString); } } string[] pfamFiles = Directory.GetFiles(Path.Combine(ProtCidSettings.dirSettings.pfamPath, "pfam_database"), "*txt.gz"); foreach (string pfamFile in pfamFiles) { unzippedFile = ParseHelper.UnZipFile(pfamFile, tempDir); tableName = GetTableName(pfamFile); unixFilePath = unzippedFile.Replace("\\", "/"); loadDataString = "Load data local infile '" + unixFilePath + "' into table " + tableName; // " fields enclosed by '\t';"; // int fieldIndex = loadDataString.IndexOf("fields enclosed by \'"); // loadDataString = loadDataString.Insert (fieldIndex + "fields enclosed by \'".Length, "\\"); dbQuery.Query(mysqlConnect, loadDataString); } Directory.Delete(tempDir, true); OutputPdbPfamFiles(); }
/// <summary> /// /// </summary> /// <param name="isUpdate"></param> private void Initialize(bool isUpdate) { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); ProtCidSettings.alignmentDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.alignmentDbPath); } hhAlignTable = CreateHHAlignmentTable(isUpdate, hhAlignTableName); }
public FatcatEntryPairs() { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } ProtCidSettings.pdbfamDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;" + "UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath); ProtCidSettings.protcidDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;" + "UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath); }
/// <summary> /// initialize dbconnect /// </summary> public static void Initialize() { if (IsSettingInitialized) { return; } ProtCidSettings.dataType = "pfam"; ProtCidSettings.LoadDirSettings(); AppSettings.LoadParameters(); AppSettings.LoadSymOps(); ProtCidSettings.tempDir = "C:\\xtal_temp0"; if (ProtCidSettings.pdbfamDbConnection == null) { ProtCidSettings.pdbfamDbConnection = new DbConnect(); ProtCidSettings.pdbfamDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath; ProtCidSettings.pdbfamQuery = new DbQuery(ProtCidSettings.pdbfamDbConnection); } if (ProtCidSettings.protcidDbConnection == null) { ProtCidSettings.protcidDbConnection = new DbConnect(); ProtCidSettings.protcidDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath; ProtCidSettings.protcidQuery = new DbQuery(ProtCidSettings.protcidDbConnection); } if (ProtCidSettings.alignmentDbConnection == null) { ProtCidSettings.alignmentDbConnection = new DbConnect(); ProtCidSettings.alignmentDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.alignmentDbPath; ProtCidSettings.alignmentQuery = new DbQuery(ProtCidSettings.alignmentDbConnection); } if (ProtCidSettings.buCompConnection == null) { ProtCidSettings.buCompConnection = new DbConnect(); ProtCidSettings.buCompConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.baInterfaceDbPath; ProtCidSettings.buCompQuery = new DbQuery(ProtCidSettings.buCompConnection); } ProtCidSettings.logWriter.WriteLine(DateTime.Today.ToShortDateString() + "\r\n"); DataTables.GroupDbTableNames.SetGroupDbTableNames(ProtCidSettings.dataType); PfamLibSettings.InitializeFromProtCidSettings(); IsSettingInitialized = true; }
/// <summary> /// /// </summary> public static void InitializeThread() { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (AppSettings.parameters == null) { AppSettings.LoadParameters(); } if (ProtCidSettings.pdbfamDbConnection == null) { ProtCidSettings.pdbfamDbConnection = new DbConnect(); ProtCidSettings.pdbfamDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath; ProtCidSettings.pdbfamQuery = new DbQuery(ProtCidSettings.pdbfamDbConnection); } if (ProtCidSettings.protcidDbConnection == null) { ProtCidSettings.protcidDbConnection = new DbConnect(); ProtCidSettings.protcidDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath; ProtCidSettings.protcidQuery = new DbQuery(ProtCidSettings.protcidDbConnection); } if (ProtCidSettings.alignmentDbConnection == null) { ProtCidSettings.alignmentDbConnection = new DbConnect(); ProtCidSettings.alignmentDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.alignmentDbPath; ProtCidSettings.alignmentQuery = new DbQuery(ProtCidSettings.alignmentDbConnection); } if (ProtCidSettings.buCompConnection == null) { ProtCidSettings.buCompConnection = new DbConnect(); ProtCidSettings.buCompConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.baInterfaceDbPath; ProtCidSettings.buCompQuery = new DbQuery(ProtCidSettings.buCompConnection); } ProtCidSettings.tempDir = "X:\\xtal_temp"; if (!Directory.Exists(ProtCidSettings.tempDir)) { Directory.CreateDirectory(ProtCidSettings.tempDir); } PfamLibSettings.pdbfamConnection = ProtCidSettings.pdbfamDbConnection; PfamLibSettings.pdbfamDbQuery = new DbQuery(PfamLibSettings.pdbfamConnection); PfamLibSettings.alignmentDbConnection = ProtCidSettings.alignmentDbConnection; }
public DownloaderFileRename() { ProtCidSettings.LoadDirSettings(); if (ProtCidSettings.protcidDbConnection == null) { ProtCidSettings.protcidDbConnection = new DbConnect(); ProtCidSettings.protcidDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath; ProtCidSettings.protcidQuery = new DbQuery(ProtCidSettings.protcidDbConnection); } logWriter = new StreamWriter("GroupNameRenameLog.txt", true); logWriter.WriteLine(DateTime.Today.ToLongDateString()); }
/// <summary> /// /// </summary> public void SortHomoDimerInterfacesInCluster() { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (AppSettings.parameters == null) { AppSettings.LoadParameters(); } string queryString = "Select Distinct SuperGroupSeqID From PfamSuperClusterEntryInterfaces;"; DataTable groupTable = ProtCidSettings.protcidQuery.Query(queryString); int superGroupId = -1; StreamWriter logWriter = new StreamWriter("ClusterHomoDimersSortLog.txt"); string dataLine = ""; foreach (DataRow groupRow in groupTable.Rows) { superGroupId = Convert.ToInt32(groupRow["SuperGroupSeqID"].ToString()); if (!IsSuperGroupSamePfamArch(superGroupId)) { continue; } int[] clusterIds = GetGroupClusterIds(superGroupId); foreach (int clusterId in clusterIds) { string[] clusterInterfaces = GetClusterInterfaces(superGroupId, clusterId); string firstInterface = GetRepInterfaceInAlphabetOrder(superGroupId, clusterId); string[] nonSymmetryInterfaces = GetNonSymmetryDimers(clusterInterfaces); if (nonSymmetryInterfaces.Length == 0) { logWriter.WriteLine(superGroupId.ToString() + " " + clusterId.ToString() + " no non-symmetric h**o-dimers "); continue; } dataLine = superGroupId.ToString() + " " + clusterId.ToString() + " " + firstInterface; foreach (string nonSymmetryInterface in nonSymmetryInterfaces) { if (firstInterface == nonSymmetryInterface) { continue; } dataLine += ("," + nonSymmetryInterface); } logWriter.WriteLine(dataLine); } logWriter.Flush(); } logWriter.Close(); }
/// <summary> /// output entity sequences of groups to files /// </summary> /// <returns></returns> public void WriteSequencesToFastaFiles() { logWriter = new StreamWriter("SeqWriteLog.txt"); if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } ProtCidSettings.dirSettings.seqFastaPath = ProtCidSettings.dirSettings.seqFastaPath.Replace("\\fasta", "\\ChainFasta"); if (!Directory.Exists(ProtCidSettings.dirSettings.seqFastaPath)) { Directory.CreateDirectory(ProtCidSettings.dirSettings.seqFastaPath); } webFastaFileDir = ProtCidSettings.dirSettings.seqFastaPath.Replace("\\ChainFasta", "\\webChainFasta"); if (!Directory.Exists(webFastaFileDir)) { Directory.CreateDirectory(webFastaFileDir); } string queryString = "Select Distinct SuperGroupSeqID From PfamSuperInterfaceClusters Where SuperGroupSeqId > 29857"; DataTable groupTable = ProtCidSettings.protcidQuery.Query(queryString); int superGroupId = 0; ProtCidSettings.progressInfo.ResetCurrentProgressInfo(); ProtCidSettings.progressInfo.currentOperationLabel = "Update Seq Files"; ProtCidSettings.progressInfo.totalStepNum = groupTable.Rows.Count; ProtCidSettings.progressInfo.totalOperationNum = groupTable.Rows.Count; foreach (DataRow dRow in groupTable.Rows) { superGroupId = Convert.ToInt32(dRow["SuperGroupSeqID"].ToString()); ProtCidSettings.progressInfo.currentFileName = superGroupId.ToString(); ProtCidSettings.progressInfo.currentOperationNum++; ProtCidSettings.progressInfo.currentStepNum++; try { WriteSuperGroupEntrySequences(superGroupId); } catch (Exception ex) { logWriter.WriteLine(superGroupId.ToString() + " " + ex.Message); logWriter.Flush(); } } ProtCidSettings.progressInfo.progStrQueue.Enqueue("Tar Sequence files for each group and its clusters"); PrintClusterFastaFiles(); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Generate sequence files done!"); logWriter.Close(); }
/// <summary> /// initialize dbconnect /// </summary> internal void Initialize() { ProtCidSettings.LoadDirSettings(); AppSettings.LoadParameters(); AppSettings.LoadSymOps(); ProtCidSettings.protcidDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath); ProtCidSettings.pdbfamDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath); DataTables.GroupDbTableNames.SetGroupDbTableNames(ProtCidSettings.dataType); ProtCidSettings.tempDir = "C:\\xtal_temp0"; }
/// <summary> /// get data source file paths and coordinate xml file path /// from setting xml file /// </summary> private void SetFilePaths() { ProtCidSettings.LoadDirSettings(); this.xmlFilePath = ProtCidSettings.dirSettings.xmlPath; if (this.xmlFilePath[this.xmlFilePath.Length - 1] != '\\') { this.xmlFilePath += "\\"; } this.destFilePath = ProtCidSettings.dirSettings.coordXmlPath; if (this.destFilePath[this.destFilePath.Length - 1] != '\\') { this.destFilePath += "\\"; } pdbTextPath = Regex.Replace(ProtCidSettings.dirSettings.xmlPath, "xml", "regular", RegexOptions.IgnoreCase); }
private void Initialize() { ProtCidSettings.LoadDirSettings(); AppSettings.LoadParameters(); if (ProtCidSettings.protcidDbConnection == null) { ProtCidSettings.protcidDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath); } string dbv26Path = @"F:\Firebird\Xtal\Pfam\protbud.fdb"; dbConnectv26.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + dbv26Path; }
public BuAssemblyGenerator() { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (AppSettings.parameters == null) { AppSettings.LoadParameters(); } if (ProtCidSettings.pdbfamDbConnection == null) { ProtCidSettings.pdbfamDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath); } }
/// <summary> /// /// </summary> private void InitializeDbConnect() { string connectString = "Driver={MySQL ODBC 5.3 Unicode Driver}; Server=localhost;Database=" + dbName + ";UID=qifang;PWD=DunbrackR462*;"; localMysqlDbConnect.ConnectString = connectString; localMysqlDbConnect.ConnectToDatabase(); // connectString = string.Format ("Driver={MySQL ODBC 5.3 Unicode Driver}; Server={0};Database=bioinformatics;UID={1};PWD={2};", remoteMysqlServer, uname, psw); // always got input format error, so hard code the server, uid, psw /* connectString = "Driver={MySQL ODBC 5.3 Unicode Driver}; Server=10.40.16.45;Database=bioinformatics;UID=qifang;PWD=mysqlqxu;"; * remotePiscesDbConnect.ConnectString = connectString; * remotePiscesDbConnect.ConnectToDatabase(); */ ProtCidSettings.LoadDirSettings(); protcidDbConnect.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath; protcidDbConnect.ConnectToDatabase(); }
public PfamData() { ProtCidSettings.LoadDirSettings(); if (ProtCidSettings.pdbfamDbConnection == null) { ProtCidSettings.pdbfamDbConnection = new DbConnect(); ProtCidSettings.pdbfamDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath; ProtCidSettings.pdbfamQuery = new DbQuery(ProtCidSettings.pdbfamDbConnection); } if (ProtCidSettings.protcidDbConnection == null) { ProtCidSettings.protcidDbConnection = new DbConnect(); ProtCidSettings.protcidDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath; ProtCidSettings.protcidQuery = new DbQuery(ProtCidSettings.protcidDbConnection); } }
public PiscesFileParser() { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (ProtCidSettings.alignmentDbConnection == null) { ProtCidSettings.alignmentDbConnection = new DbConnect(); } if (ProtCidSettings.alignmentDbConnection.ConnectString == "") { ProtCidSettings.alignmentDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;" + "UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.alignmentDbPath; } asymChainFinder = new AsuInfoFinder(ProtCidSettings.dirSettings.pdbfamDbPath); }
/// <summary> /// Compare cryst and bu interfaces for the entries /// </summary> public void CompareEntryCrystBuInterfaces(string[] updatePdbList) { if (!Directory.Exists(ProtCidSettings.tempDir)) { Directory.CreateDirectory(ProtCidSettings.tempDir); } if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (AppSettings.parameters == null) { AppSettings.LoadParameters(); } InitializeTables(); ProtCidSettings.progressInfo.ResetCurrentProgressInfo(); ProtCidSettings.progressInfo.currentOperationLabel = "Comparing Cryst BU Interface"; ProtCidSettings.progressInfo.totalOperationNum = updatePdbList.Length; ProtCidSettings.progressInfo.totalStepNum = updatePdbList.Length; foreach (string pdbId in updatePdbList) { ProtCidSettings.progressInfo.currentOperationNum++; ProtCidSettings.progressInfo.currentStepNum++; ProtCidSettings.progressInfo.currentFileName = pdbId; if (IsBuCompExist(pdbId)) { continue; } CompareEntryCrystBuInterfaces(pdbId); dbInsert.InsertDataIntoDBtables(ProtCidSettings.protcidDbConnection, crystBuInterfaceCompTables); ClearTables(); } try { Directory.Delete(ProtCidSettings.tempDir, true); } catch {} }
/// <summary> /// initialize dbconnect /// </summary> internal void Initialize() { ProtCidSettings.LoadDirSettings(); AppSettings.LoadParameters(); AppSettings.LoadSymOps(); ProtCidSettings.pdbfamDbConnection = new DbConnect(); ProtCidSettings.pdbfamDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath; ProtCidSettings.protcidDbConnection = new DbConnect(); ProtCidSettings.protcidDbConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath; ProtCidSettings.buCompConnection = new DbConnect(); ProtCidSettings.buCompConnection.ConnectString = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.baInterfaceDbPath; DataTables.GroupDbTableNames.SetGroupDbTableNames(ProtCidSettings.dataType); }
/// <summary> /// /// </summary> /// <param name="superGroupIds"></param> public void UpdateSeqFastaFiles(int[] superGroupIds) { logWriter = new StreamWriter("SeqWriteLog.txt"); if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } ProtCidSettings.progressInfo.ResetCurrentProgressInfo(); ProtCidSettings.progressInfo.totalStepNum = superGroupIds.Length; ProtCidSettings.progressInfo.totalOperationNum = superGroupIds.Length; ProtCidSettings.progressInfo.currentOperationLabel = "Seq Fasta Files"; ProtCidSettings.dirSettings.seqFastaPath = ProtCidSettings.dirSettings.seqFastaPath.Replace("\\fasta", "\\ChainFasta"); // UpdateClusterFastaFiles(superGroupIds); foreach (int superGroupId in superGroupIds) { try { ProtCidSettings.progressInfo.currentFileName = superGroupId.ToString(); ProtCidSettings.progressInfo.currentOperationNum++; ProtCidSettings.progressInfo.currentStepNum++; DeleteObsoleteSeqFiles(superGroupId); WriteSuperGroupEntrySequences(superGroupId); } catch (Exception ex) { logWriter.WriteLine(superGroupId.ToString() + " " + ex.Message); logWriter.Flush(); ProtCidSettings.progressInfo.progStrQueue.Enqueue(superGroupId.ToString() + " " + ex.Message); } } ProtCidSettings.progressInfo.progStrQueue.Enqueue("Tar the sequence files of group and clusters for the web server."); UpdateClusterFastaFiles(superGroupIds); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Update sequence files done!"); logWriter.Close(); }
/// <summary> /// /// </summary> public string ReverseClusterInterfaceFiles() { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (AppSettings.parameters == null) { AppSettings.LoadParameters(); } // string reverseInterfaceFile = "ReverseInterfacesInCluster.txt"; string querystring = "Select PdbID, InterfaceID From CrystEntryInterfaces Where IsSymmetry = '1';"; symInterfaceTable = ProtCidSettings.protcidQuery.Query(querystring); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Find Non-symmetry interface files in the clusters."); string nonSymInterfaceFile = GetClusterNonSymmetryInterfaces(); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Compare Non symmetry interface files to the first interface in the cluster (in alphabet order)"); string nonSymInterfaceCompFile = interfaceComp.CompareClusterNonSymInterfaces(nonSymInterfaceFile); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Reverse interface files in pdb format."); string reverseInterfaceFile = GetInterfacesToReversed(nonSymInterfaceCompFile); interfaceGenerator.ReverseInterfaceChains(reverseInterfaceFile); ProtCidSettings.progressInfo.progStrQueue.Enqueue("The current working directory: " + System.Environment.CurrentDirectory); ProtCidSettings.logWriter.WriteLine("Reverse interface files in pdb format."); ProtCidSettings.logWriter.WriteLine("The current working directory: " + System.Environment.CurrentDirectory); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Reverse hetero interface files in reversed pfam arch order"); ReverseInterfaceFilesInDifPfamOrder(); ProtCidSettings.progressInfo.progStrQueue.Enqueue("The current working directory: " + System.Environment.CurrentDirectory); ProtCidSettings.logWriter.WriteLine("Reverse hetero interface files in reversed pfam arch order"); ProtCidSettings.logWriter.WriteLine("The current working directory: " + System.Environment.CurrentDirectory); return(reverseInterfaceFile); }
/// <summary> /// /// </summary> public void ClusterSuperDomainInterfaces() { ProtCidSettings.dataType = "clan"; ProtCidSettings.LoadDirSettings(); ProtCidSettings.protcidDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.protcidDbPath); ProtCidSettings.pdbfamDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath); InitializeTable(); InitializeDbTable(); isDomain = true; GroupDbTableNames.SetGroupDbTableNames(ProtCidSettings.dataType); ProtCidSettings.progressInfo.ResetCurrentProgressInfo(); ProtCidSettings.progressInfo.currentOperationLabel = "Cluster on Clans"; ProtCidSettings.progressInfo.progStrQueue.Enqueue("Cluster domain interfaces in clan"); string queryString = "Select Distinct ClanSeqID From PfamDomainFamilyRelation;"; DataTable clanSeqIdTable = ProtCidSettings.protcidQuery.Query(queryString); ProtCidSettings.progressInfo.totalOperationNum = clanSeqIdTable.Rows.Count; ProtCidSettings.progressInfo.totalStepNum = clanSeqIdTable.Rows.Count; int clanSeqId = 0; foreach (DataRow clanIdRow in clanSeqIdTable.Rows) { clanSeqId = Convert.ToInt32(clanIdRow["ClanSeqID"].ToString()); ProtCidSettings.progressInfo.currentOperationNum++; ProtCidSettings.progressInfo.currentStepNum++; ProtCidSettings.progressInfo.currentFileName = clanSeqId.ToString(); ClusterClanDomainInterfaces(clanSeqId); } ProtCidSettings.progressInfo.progStrQueue.Enqueue("Done!"); }
/// <summary> /// create crystal XML files /// </summary> public void CreateCrystalXmlFiles() { AsymUnitBuilder asuBuilder = new AsymUnitBuilder(); // bool asuChanged = false; ProtCidSettings.LoadDirSettings(); AppSettings.LoadParameters(); ProtCidSettings.pdbfamDbConnection = new DbConnect("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=fbmonkeyox;DATABASE=" + ProtCidSettings.dirSettings.pdbfamDbPath); ProtCidSettings.progressInfo.Reset(); SetFilePaths(); string atomType = ""; if (AppSettings.parameters.contactParams.atomType == "CA") { atomType = "CA"; } else if (AppSettings.parameters.contactParams.atomType == "CB") { atomType = "CB"; } else { atomType = "ALL"; } // save the file list for those just created List <string> parsedCoordXmlFiles = new List <string> (); XmlAtomParser xmlParser = new XmlAtomParser(); if (!Directory.Exists(destFilePath.Trim('\\'))) { Directory.CreateDirectory(destFilePath.Trim('\\')); } modifyType = "update"; // temporary directory if (!Directory.Exists(ProtCidSettings.tempDir)) { Directory.CreateDirectory(ProtCidSettings.tempDir); } // get the common list of XML files, ent files and BU symmetry matrix files ProtCidSettings.progressInfo.progStrQueue.Enqueue("Retrieving file list. Please wait..."); string [] pdbCodes = GetFileNames(); /* string[] pdbCodes = { "4p6d"}; * string[] pdbCodes = GetMissingEntries();*/ ProtCidSettings.progressInfo.progStrQueue.Enqueue("Done!"); ProtCidSettings.progressInfo.currentOperationLabel = "PDB Processing"; ProtCidSettings.progressInfo.totalStepNum = pdbCodes.Length; ProtCidSettings.progressInfo.totalOperationNum = pdbCodes.Length; ProtCidSettings.progressInfo.progressInterval = 1; ProtCidSettings.progressInfo.progStrQueue.Enqueue("Building Coordinate XML files. Please wait..."); string crystalXmlFile = ""; foreach (string pdbCode in pdbCodes) { ///////////////////////////////////////// // display progress information // get just the fileName ProtCidSettings.progressInfo.currentFileName = pdbCode; ProtCidSettings.progressInfo.currentOperationNum++; ProtCidSettings.progressInfo.currentStepNum++; crystalXmlFile = destFilePath + pdbCode + ".xml"; FileInfo fileInfo = new FileInfo(crystalXmlFile + ".gz"); if (fileInfo.LastWriteTime.Day == DateTime.Today.Day) { continue; } string zippedXmlFile = xmlFilePath + pdbCode + xmlExtName; if (!File.Exists(zippedXmlFile)) { webClient.DownloadFile(pdbWebAddress + pdbCode + ".xml.gz", pdbCode + ".xml.gz"); File.Move(pdbCode + ".xml.gz", zippedXmlFile); } string xmlFile = ParseHelper.UnZipFile(zippedXmlFile, ProtCidSettings.tempDir); EntryCrystal thisEntryCrystal = new EntryCrystal(pdbCode); try { xmlParser.ParseXmlFile(xmlFile, ref thisEntryCrystal, atomType); /*if (thisEntryCrystal != null) * { * if (thisEntryCrystal.ncsCat.NcsOperatorList.Length > 0) * { * asuBuilder.BuildAsymUnitFromNcs (ref thisEntryCrystal, out asuChanged); * if (asuChanged) * { * UpdateAsymUnitDbTable (thisEntryCrystal); * } * } * }*/ } catch (Exception ex) { // record the error, continue to the next file string errorMsg = string.Format("Processing {0} file errors: {1}. Skip it.", pdbCode, ex.Message); ProtCidSettings.progressInfo.progStrQueue.Enqueue(errorMsg); } finally { // delete this processed file File.Delete(xmlFile); } // save entry crystal data into a XML file try { if (thisEntryCrystal != null) { XmlSerializer xmlSerializer = new XmlSerializer(thisEntryCrystal.GetType()); TextWriter crystalWriter = new StreamWriter(crystalXmlFile); xmlSerializer.Serialize(crystalWriter, thisEntryCrystal); crystalWriter.Close(); ParseHelper.ZipPdbFile(crystalXmlFile); parsedCoordXmlFiles.Add(pdbCode + ".xml.gz"); WriteXmlFileToPdbFile(pdbCode, thisEntryCrystal); // CopyPdbFileToLinux(pdbCode); } } catch (Exception ex) { ProtCidSettings.progressInfo.progStrQueue.Enqueue(ex.Message); } } try { Directory.Delete(ProtCidSettings.tempDir, true); } catch {} SaveFileList(parsedCoordXmlFiles); /* progressInfo.progStrQueue.Enqueue("Copy PDB files to Linux server."); * CopyPdbFilesToLinux(pdbCodes); * progressInfo.progStrQueue.Enqueue ("Done!"); */ ProtCidSettings.progressInfo.progStrQueue.Enqueue("Copy updated files to new directory"); string updateFilePath = pdbTextPath.Replace("regular", "updateRegular"); if (Directory.Exists(updateFilePath)) { Directory.Delete(updateFilePath, true); } Directory.CreateDirectory(updateFilePath); DateTime dtTime = DateTime.Today; ParseHelper.CopyNewFiles(pdbTextPath, updateFilePath, dtTime); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Done!"); ProtCidSettings.progressInfo.threadFinished = true; }
/* BUs: if PISA BUs defined, * * if ASU heteromultimer and PISA homomultimer * then generate BUs from PDB * else * then generate BUs from PISA * * else PISA BUs not defined * generate BUs from PDB * */ /// <summary> /// /// </summary> public void GenerateBuAssemblies() { if (ProtCidSettings.dirSettings == null) { ProtCidSettings.LoadDirSettings(); } if (!Directory.Exists(ProtCidSettings.tempDir)) { Directory.CreateDirectory(ProtCidSettings.tempDir); } bool needLigands = true; bool authorDefined = true; logWriter.WriteLine(DateTime.Today.ToShortDateString()); string queryString = "Select Distinct PdbID From AsymUnit Where PolymerType = 'polypeptide';"; DataTable entryTable = ProtCidSettings.pdbfamQuery.Query(queryString); ProtCidSettings.progressInfo.ResetCurrentProgressInfo(); ProtCidSettings.progressInfo.totalOperationNum = entryTable.Rows.Count; ProtCidSettings.progressInfo.totalStepNum = entryTable.Rows.Count; ProtCidSettings.progressInfo.currentOperationLabel = "Generate BU files"; string lsFile = Path.Combine(ProtCidSettings.dirSettings.pisaPath, "ls.txt"); StreamWriter lsFileWriter = new StreamWriter(lsFile); string pdbId = ""; string[] buFiles = null; foreach (DataRow entryRow in entryTable.Rows) { pdbId = entryRow["PdbID"].ToString(); ProtCidSettings.progressInfo.currentOperationNum++; ProtCidSettings.progressInfo.currentStepNum++; ProtCidSettings.progressInfo.currentFileName = pdbId; if (AreFilesGenerated(pdbId)) { continue; } try { buFiles = GenerateEntryBuFiles(pdbId, needLigands, authorDefined); if (buFiles != null && buFiles.Length > 0) { CopyEntryBuFilesToLinux(buFiles); foreach (string buFile in buFiles) { FileInfo fileInfo = new FileInfo(buFile); lsFileWriter.WriteLine(fileInfo.Name); } lsFileWriter.Flush(); } } catch (Exception ex) { logWriter.WriteLine(pdbId + " Generate BU files error: " + ex.Message); logWriter.Flush(); ProtCidSettings.progressInfo.progStrQueue.Enqueue(pdbId + " Generate BU files error: " + ex.Message); } } try { Directory.Delete(ProtCidSettings.tempDir); } catch { } logWriter.Close(); lsFileWriter.Close(); CopyLsFileToLinux(lsFile); ProtCidSettings.progressInfo.progStrQueue.Enqueue("Done!"); ProtCidSettings.progressInfo.threadFinished = true; }