renamed extract chain file
This commit is contained in:
parent
65db4a090e
commit
01a7cbf26e
2 changed files with 32 additions and 2 deletions
30
scripts/chain_extract.py
Normal file
30
scripts/chain_extract.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
#=======================================================================
|
||||
# TASK: select specified chains from the pdb & save a cropped PDB with
|
||||
# the selected chains. Useful for dimer, etc modelling.
|
||||
|
||||
# link for saving each chain as a separate file
|
||||
# https://stackoverflow.com/questions/11685716/how-to-extract-chains-from-a-pdb-file
|
||||
#=======================================================================
|
||||
|
||||
from Bio.PDB import PDBParser, PDBIO, Select
|
||||
|
||||
io = PDBIO()
|
||||
pdb = PDBParser().get_structure("3byw", "3byw.pdb")
|
||||
|
||||
|
||||
# Select() Method to return True for every chain in 'chains'
|
||||
class ChainSelect(Select):
|
||||
def accept_chain(self, chain):
|
||||
#print dir(chain)
|
||||
if chain.id in chains:
|
||||
return 1
|
||||
else:
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
chains = ['G', 'H'] # specify selected chains
|
||||
io.set_structure(pdb)
|
||||
io.save(pdb.get_id() + "_crop.pdb", ChainSelect())
|
||||
|
|
@ -27,13 +27,13 @@ def main():
|
|||
Function to call if run from command line.
|
||||
|
||||
Example use:
|
||||
pdb_chain_splitter.py -f <your_pdb_file> -c aB
|
||||
pdb_chain_splitter.py -f <your_pdb_file> -c <chainid1><chainid2>
|
||||
Extracts chain 'A' by default.
|
||||
FIXME: extract all chains from the given pdb and write them out individually
|
||||
"""
|
||||
arg_parser = argparse.ArgumentParser()
|
||||
arg_parser.add_argument('-i', '--pdb_file', help='provide pdb file', default = 'None')
|
||||
arg_parser.add_argument('-c', '--chain', help='chain/s to extract without spaces. Case insensitive.', nargs = '+', default = 'A', type = list)
|
||||
arg_parser.add_argument('-c', '--chain', help='chain/s to extract without spaces.', nargs = '+', default = 'A', type = list)
|
||||
arg_parser.add_argument('-p', '--out_path', help='specify output path', default = '.', type = str)
|
||||
arg_parser.add_argument('-o', '--out_file', help='specify output filename. Will be used as a prefix to append chain id and pdb file extension', default = 'pdb_file_chain', type = str)
|
||||
args = arg_parser.parse_args()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue