def test9(self):
        inFilter = InteractionFilter()
        inFilter.set_target_elements(False, ["N", "O"])

        self.assertFalse(inFilter.is_target_element('O'))
        self.assertFalse(inFilter.is_target_element('N'))
        self.assertTrue(inFilter.is_target_element('S'))
    def test1(self):
        interactionFilter = InteractionFilter()
        #interactionFilter.set_distance_cutoff(4.0)
        interactionFilter.set_distance_cutoff(3.0)
        #interactionFilter.set_target_elements(True, ['O'])
        interactionFilter.set_target_elements(False, ['C','H','P'])
        metals = {"V", "CR", "MN", "MN3", "FE", "FE2", "CO", "3CO", "NI", "3NI", "CU", "CU1", "CU3", "ZN", "MO", "4MO",
                 "6MO"}
        interactionFilter.set_query_groups(True, metals)
        #interactionFilter.set_query_elements(False, ['C', 'H', 'P'])
        #interactionFilter.set_query_groups(False, "HOH")  # ignore water interactions

        t0 = time.time()
        interactions = InteractionExtractor.get_ligand_polymer_interactions(self.pdb, interactionFilter, level='group')
        interactions.show()
        print(interactions.count())
        t1 = time.time()
        print("Interactions: ", t1-t0)
Beispiel #3
0
pdb = pdb.filter(Pisces(sequenceIdentity = 30, resolution = 2.5))         


# ## Setup criteria for metal interactions

# In[15]:


# Chemical component codes of metals in different oxidation states
metals = {"V","CR","MN","MN3","FE","FE2","CO","3CO","NI","3NI", "CU","CU1","CU3","ZN","MO","4MO","6MO"}

interactions_filter = InteractionFilter(distanceCutoff = 3.0, minInteractions=4, maxInteractions=6)
interactions_filter.set_query_groups(True, metals)

# Exclude non-polar interactions
interactions_filter.set_target_elements(False, ['H','C','P'])


# ## Tabulate interactions in a Dataframe

# In[16]:


interactions = GroupInteractionExtractor().get_interactions(pdb,interactions_filter).cache()
print(f"Metal interactions: {interactions.count()}")


# ## Select interacting atoms and orientational order parameters (q4-q6)

# In[17]:
Beispiel #4
0
pdb = mmtfReader.read_sequence_file(path, sc)
pdb = pdb.filter(Resolution(minResolution=0.0, maxResolution=2.0)).filter(
    ContainsLProteinChain(exclusive=True))

# ## Setup criteria for metal interactions

# In[4]:

interactions_filter = InteractionFilter()
interactions_filter.set_distance_cutoff(3.0)
interactions_filter.set_normalized_b_factor_cutoff(1.645)
interactions_filter.set_min_interactions(2)
interactions_filter.set_max_interactions(4)
interactions_filter.set_query_groups(True, ["HOH"])
interactions_filter.set_query_elements(True, "O")  # Only use water oxygen
interactions_filter.set_target_elements(True, ["O", "N", "S"])

# ## Exclude "uninteresting" ligands

# In[5]:

prohibitedGroups = ExcludedLigandSets.ALL_GROUPS
if not includeWaters:
    prohibitedGroups.add("HOH")
interactions_filter.set_prohibited_target_groups(prohibitedGroups)

# ## Calculate interactions

# In[6]:

data = GroupInteractionExtractor().get_interactions(