コード例 #1
0
        public void BuildClanDomainInterfaces(int step)
        {
            ProtCidSettings.dataType = "pfam";
            DomainInterfaceBuilder.InitializeThread();

            DomainInterfaceTables.InitializeTables();
            ProtCidSettings.progressInfo.Reset();
            ProtCidSettings.progressInfo.progStrQueue.Enqueue("Retrieving domain-domain interactions.");

            switch (step)
            {
            case 1:
                ClanDomainInterfaceComp domainInterfaceComp = new ClanDomainInterfaceComp();
                int relSeqId1 = 11619;
                int relSeqId2 = 11642;
                int clanSeqId = 398;
                domainInterfaceComp.CompareRepDomainInterfaces2PfamRelations(clanSeqId, relSeqId1, relSeqId2);
                break;

            case 2:
                ClanDomainInterfaceCluster clanInterfaceCluster = new ClanDomainInterfaceCluster();
                clanInterfaceCluster.ClusterSuperDomainInterfaces();
                break;

            case 3:     // output coordinate domain interfaces for each cluster
                break;

            default:
                break;
            }
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        public void ClusterUserDefinedGroupDomainInterfaces()
        {
            ProtCidSettings.dataType = "pfam";
            DomainInterfaceBuilder.InitializeThread();

            DomainInterfaceTables.InitializeTables();
            ProtCidSettings.progressInfo.Reset();
            ProtCidSettings.progressInfo.progStrQueue.Enqueue("Retrieving domain-domain interactions for user-defined group.");

            // structure alignments between representative domains from PFAMs in a group
            int groupSeqId = 100000;

            /*     Hashtable groupPfamHash = new Hashtable();
             *     string[] groupPfams = { "Integrase_Zn", "zf-H2C2" };
             *     groupPfamHash.Add(groupSeqId, groupPfams);
             *
             *     PfamLib.DomainAlign.PfamDomainAlign domainAlign = new PfamLib.DomainAlign.PfamDomainAlign();
             *     domainAlign.AlignPfamDomainsForUserDefinedGroups(groupPfamHash);
             */
            // calcuate the Q score between two different relations
            groupSeqId = 100000;
            Dictionary <int, int[]> groupRelationHash = new Dictionary <int, int[]> ();
            List <int> relSeqIdList = new List <int> ();

            relSeqIdList.Add(7956);
            relSeqIdList.Add(15374);
            int[] relSeqIds = new int[relSeqIdList.Count];
            relSeqIdList.CopyTo(relSeqIds);
            groupRelationHash.Add(groupSeqId, relSeqIds);

            groupSeqId++;
            relSeqIdList = new List <int> ();
            relSeqIdList.Add(7954);
            relSeqIdList.Add(15481);
            relSeqIds = new int[relSeqIdList.Count];
            relSeqIdList.CopyTo(relSeqIds);
            groupRelationHash.Add(groupSeqId, relSeqIds);

            Dictionary <string, string> pfamClanHash = new Dictionary <string, string> ();

            pfamClanHash.Add("Integrase_Zn", "Zn_N");
            pfamClanHash.Add("zf-H2C2", "Zn_N");

            ClanDomainInterfaceComp domainInterfaceComp = new ClanDomainInterfaceComp();

            domainInterfaceComp.CompareRepDomainInterfaces2PfamRelations(groupRelationHash, pfamClanHash);
        }