From e38fcd7abcc9af854fe3afb167cc519dc604f751 Mon Sep 17 00:00:00 2001
From: Fabien Mareuil <fmareuil@pasteur.fr>
Date: Thu, 12 Apr 2018 14:45:08 +0200
Subject: [PATCH] method get_molecules

Former-commit-id: be15bd63263293acf0dbbe23e7ad4965ef7b4b10
---
 ...nterface_residues_ppc_dimer_IN_PROGRESS.py | 31 +++++++++----------
 1 file changed, 14 insertions(+), 17 deletions(-)

diff --git a/pyScripts/get_interface_residues_ppc_dimer_IN_PROGRESS.py b/pyScripts/get_interface_residues_ppc_dimer_IN_PROGRESS.py
index 66883850..1f5e103b 100644
--- a/pyScripts/get_interface_residues_ppc_dimer_IN_PROGRESS.py
+++ b/pyScripts/get_interface_residues_ppc_dimer_IN_PROGRESS.py
@@ -48,12 +48,12 @@ Return:
 import os
 import sys
 import argparse
-import textwrap
 import logging
 import time
 
 from Bio.PDB import Select, PDBIO
 from Bio.PDB.PDBParser import PDBParser
+from argparse import RawTextHelpFormatter
 import itertools
 
 # =============================================================================
@@ -140,10 +140,10 @@ def main(pdb, distance):
 
 
         # Save each chain in different file
-        for chain in target_partner_chain:
-            io = PDBIO()
-            io.set_structure(model)
-            io.save('{}_{}.pdb'.format(pdb_code, chain), select = ChainSelection(chain),
+        #for chain in target_partner_chain:
+        io = PDBIO()
+        io.set_structure(model)
+        io.save('{}_{}.pdb'.format(pdb_code, chain), select = ChainSelection(target_partner_chain),
                     preserve_atom_numbering = True)
 
             
@@ -153,11 +153,11 @@ def main(pdb, distance):
 
 
 class ChainSelection(Select):
-    def __init__(self, chain):
-        self.chain = chain
+    def __init__(self, chains):
+        self.chains = chains
 
     def accept_chain(self, chain):
-        if chain.get_id() == self.chain:
+        if chain.get_id() in self.chains:
             return 1
         else:
             return 0
@@ -297,21 +297,18 @@ def setlogger():
 # =============================================================================
 
 if __name__ == '__main__':
-    parser = argparse.ArgumentParser(description = 
-    textwrap.dedent('''
+    parser = argparse.ArgumentParser(description = '''
     1) Format protein/protein complex PDB structure (no ligand)
         1.a) Number of models
         1.b) Alternative atomic locations
         1.c) Heteroatoms
     2) Identify protein/protein interface residues 
        (for combinations of first chain of each protein)
-    3) Save each chain in separate files'''))
-    parser.add_argument('pdb', help = 
-    textwrap.dedent(''' Input [.pdb file]: PBD 3D structure
-    (with HEADER included)'''))
-    parser.add_argument('-d', dest = 'distance', help = 
-    textwrap.dedent('''Input [float or integer]: distance threshold
-    {by default, 6 Angstroms}'''))
+    3) Save each chain in separate files''', formatter_class=RawTextHelpFormatter)
+    parser.add_argument('pdb', help = '''Input [.pdb file]: PBD 3D structure
+    (with HEADER included)''')
+    parser.add_argument('-d', dest = 'distance', help = '''Input [float or integer]: distance threshold
+    {by default, 6 Angstroms}''')
     options = parser.parse_args()
     
     if options.distance is None:
-- 
GitLab