Run workflow using API¶
from pathlib import Path
from rich import print as pprint
import logging
logging.basicConfig(level=logging.WARNING)
# Set to WARNING to see only warnings
# Set to INFO to see sparql queries
# Set to DEBUG to see raw results
Setup session directory¶
In this directory files like PDB files are stored and a DuckDB database for meta data.
session_dir = Path("session1")
session_dir
PosixPath('session1')
Search Uniprot for structures¶
from protein_quest.uniprot import Query
from protein_detective.workflow import search_structures_in_uniprot
query = Query(
taxon_id="9606",
reviewed=True,
subcellular_location_uniprot="nucleus",
subcellular_location_go=["GO:0005634"], # Cellular component - Nucleus
molecular_function_go=["GO:0003677"], # Molecular function - DNA binding
)
nr_uniprot, nr_pdbe, nr_pdb_uniprot, nr_af = search_structures_in_uniprot(query, session_dir, limit=100)
nr_uniprot, nr_pdbe, nr_pdb_uniprot, nr_af
WARNING:protein_detective.uniprot:Search for uniprot accessions returned 100 results. There may be more results available, but they are not returned due to the limit of 100. Consider increasing the limit to get more results. WARNING:protein_detective.uniprot:Search for pdbs on uniprot returned 100 results. There may be more results available, but they are not returned due to the limit of 100. Consider increasing the limit to get more results.
(84, 100, 84)
Use database queries to see what was found.
Fetch structures from PDBe and Alphafold found in Uniprot¶
from protein_detective.workflow import retrieve_structures
download_path, nr_pdbs, nr_alphafolds = retrieve_structures(session_dir)
download_path, nr_pdbs, nr_alphafolds
Downloading PDBe mmCIF files: 100%|██████████| 100/100 [00:12<00:00, 8.12it/s] Fetching Alphafold summaries: 100%|██████████| 84/84 [00:03<00:00, 21.60it/s] Downloading AlphaFold files: 100%|██████████| 84/84 [00:00<00:00, 137.21it/s]
(PosixPath('session1/downloads'), 100, 84)
Filter out AlphafoldDB structures with low confidence¶
And write PDB files without those low confidence residues to new directory.
from protein_quest.alphafold.confidence import ConfidenceFilterQuery
from protein_detective.workflow import confidence_filter
dquery = ConfidenceFilterQuery(
confidence=70.0,
min_threshold=100,
max_threshold=500,
)
result = confidence_filter(session_dir, dquery)
pprint(result)
--------------------------------------------------------------------------- StructureHandlerNotFoundError Traceback (most recent call last) Cell In[9], line 1 ----> 1 result = confidence_filter(session_dir, dquery) 2 pprint(result) File ~/git/protein-detective/protein-detective/src/protein_detective/workflow.py:170, in confidence_filter(session_dir, query) 167 filtered_dir.mkdir(parents=True, exist_ok=True) 169 with connect(session_dir) as con: --> 170 afs = load_alphafolds(con) 171 alphafold_cif_files = [e.cif_file for e in afs if e.cif_file is not None] 172 uniprot_accs = [e.uniprot_acc for e in afs] File ~/git/protein-detective/protein-detective/src/protein_detective/db.py:397, in load_alphafolds(con) 367 query = """ 368 SELECT 369 uniprot_acc, (...) 391 FROM alphafolds 392 """ 393 rows = con.execute(query).fetchall() 394 return [ 395 AlphaFoldEntry( 396 uniprot_acc=row[0], --> 397 summary=converter.loads(row[1], EntrySummary) if row[0] else None, 398 bcif_file=Path(row[2]) if row[2] else None, 399 cif_file=Path(row[3]) if row[3] else None, 400 pdb_file=Path(row[4]) if row[4] else None, 401 pae_image_file=Path(row[5]) if row[5] else None, 402 pae_doc_file=Path(row[6]) if row[6] else None, 403 am_annotations_file=Path(row[7]) if row[7] else None, 404 am_annotations_hg19_file=Path(row[8]) if row[8] else None, 405 am_annotations_hg38_file=Path(row[9]) if row[9] else None, 406 ) 407 for row in rows 408 ] File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/preconf/json.py:26, in JsonConverter.loads(self, data, cl, **kwargs) 25 def loads(self, data: Union[bytes, str], cl: type[T], **kwargs: Any) -> T: ---> 26 return self.structure(loads(data, **kwargs), cl) File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/converters.py:576, in BaseConverter.structure(self, obj, cl) 574 def structure(self, obj: UnstructuredValue, cl: type[T]) -> T: 575 """Convert unstructured Python data structures to structured data.""" --> 576 return self._structure_func.dispatch(cl)(obj, cl) File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/dispatch.py:133, in MultiStrategyDispatch.dispatch_without_caching(self, typ) 130 if direct_dispatch is not None: 131 return direct_dispatch --> 133 res = self._function_dispatch.dispatch(typ) 134 return res if res is not None else self._fallback_factory(typ) File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/dispatch.py:76, in FunctionDispatch.dispatch(self, typ) 74 if takes_converter: 75 return handler(typ, self._converter) ---> 76 return handler(typ) 78 return handler 79 return None File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/converters.py:1296, in Converter.gen_structure_attrs_fromdict(self, cl) 1290 resolve_types(cl) 1291 attrib_overrides = { 1292 a.name: self.type_overrides[a.type] 1293 for a in attribs 1294 if a.type in self.type_overrides 1295 } -> 1296 return make_dict_structure_fn( 1297 cl, 1298 self, 1299 _cattrs_forbid_extra_keys=self.forbid_extra_keys, 1300 _cattrs_prefer_attrib_converters=self._prefer_attrib_converters, 1301 _cattrs_detailed_validation=self.detailed_validation, 1302 **attrib_overrides, 1303 ) File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/gen/__init__.py:747, in make_dict_structure_fn(cl, converter, _cattrs_forbid_extra_keys, _cattrs_use_linecache, _cattrs_prefer_attrib_converters, _cattrs_detailed_validation, _cattrs_use_alias, _cattrs_include_init_false, **kwargs) 744 working_set.add(cl) 746 try: --> 747 return make_dict_structure_fn_from_attrs( 748 attrs, 749 cl, 750 converter, 751 mapping, 752 _cattrs_forbid_extra_keys=_cattrs_forbid_extra_keys, 753 _cattrs_use_linecache=_cattrs_use_linecache, 754 _cattrs_prefer_attrib_converters=_cattrs_prefer_attrib_converters, 755 _cattrs_detailed_validation=_cattrs_detailed_validation, 756 _cattrs_use_alias=_cattrs_use_alias, 757 _cattrs_include_init_false=_cattrs_include_init_false, 758 **kwargs, 759 ) 760 finally: 761 working_set.remove(cl) File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/gen/__init__.py:388, in make_dict_structure_fn_from_attrs(attrs, cl, converter, typevar_map, _cattrs_forbid_extra_keys, _cattrs_use_linecache, _cattrs_prefer_attrib_converters, _cattrs_detailed_validation, _cattrs_use_alias, _cattrs_include_init_false, **kwargs) 386 handler = override.struct_hook 387 else: --> 388 handler = find_structure_handler( 389 a, t, converter, _cattrs_prefer_attrib_converters 390 ) 392 struct_handler_name = f"__c_structure_{an}" 393 if handler is not None: File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/gen/_shared.py:58, in find_structure_handler(a, type, c, prefer_attrs_converters) 55 return _h(v, type) 57 else: ---> 58 handler = c.get_structure_hook(type, cache_result=False) 59 else: 60 handler = c.structure File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/converters.py:594, in BaseConverter.get_structure_hook(self, type, cache_result) 578 def get_structure_hook(self, type: Any, cache_result: bool = True) -> StructureHook: 579 """Get the structure hook for the given type. 580 581 This hook can be manually called, or composed with other functions (...) 589 .. versionadded:: 24.1.0 590 """ 591 return ( 592 self._structure_func.dispatch(type) 593 if cache_result --> 594 else self._structure_func.dispatch_without_caching(type) 595 ) File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/dispatch.py:134, in MultiStrategyDispatch.dispatch_without_caching(self, typ) 131 return direct_dispatch 133 res = self._function_dispatch.dispatch(typ) --> 134 return res if res is not None else self._fallback_factory(typ) File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/converters.py:1050, in Converter.<lambda>(t) 1030 """A converter which generates specialized un/structuring functions.""" 1032 __slots__ = ( 1033 "_unstruct_collection_overrides", 1034 "forbid_extra_keys", 1035 "omit_if_default", 1036 "type_overrides", 1037 ) 1039 def __init__( 1040 self, 1041 dict_factory: Callable[[], Any] = dict, 1042 unstruct_strat: UnstructureStrategy = UnstructureStrategy.AS_DICT, 1043 omit_if_default: bool = False, 1044 forbid_extra_keys: bool = False, 1045 type_overrides: Mapping[type, AttributeOverride] = {}, 1046 unstruct_collection_overrides: Mapping[type, UnstructureHook] = {}, 1047 prefer_attrib_converters: bool = False, 1048 detailed_validation: bool = True, 1049 unstructure_fallback_factory: HookFactory[UnstructureHook] = lambda _: identity, -> 1050 structure_fallback_factory: HookFactory[StructureHook] = lambda t: raise_error( 1051 None, t 1052 ), 1053 ): 1054 """ 1055 :param detailed_validation: Whether to use a slightly slower mode for detailed 1056 validation errors. (...) 1066 more eagerly, surfacing problems earlier. 1067 """ 1068 super().__init__( 1069 dict_factory=dict_factory, 1070 unstruct_strat=unstruct_strat, (...) 1074 structure_fallback_factory=structure_fallback_factory, 1075 ) File ~/git/protein-detective/protein-detective/.venv/lib/python3.13/site-packages/cattrs/fns.py:22, in raise_error(_, cl) 20 """At the bottom of the condition stack, we explode if we can't handle it.""" 21 msg = f"Unsupported type: {cl!r}. Register a structure hook for it." ---> 22 raise StructureHandlerNotFoundError(msg, type_=cl) StructureHandlerNotFoundError: Unsupported type: <class 'yarl.URL'>. Register a structure hook for it.
Prune PDBe files¶
Prune the PDB files to only keep the first chain of the found Uniprot entries and rename that chain to A.
from protein_detective.workflow import prune_pdbs
Use the number of residues in the chain as a proxy for the volume of the unknown density.
(single_chain_dir, nr_passed) = prune_pdbs(session_dir, min_residues=100, max_residues=500, scheduler_address=None)
(single_chain_dir, nr_passed)
Saving single chain PDB files from PDBe: 100%|██████████| 100/100 [01:03<00:00, 1.59it/s]
(PosixPath('session1/single_chain'), 79)
Powerfit¶
from protein_detective.powerfit.options import PowerfitOptions
from protein_detective.powerfit.workflow import powerfit_commands
To run you must have cloned the https://github.com/haddocking/powerfit-tutorial repository in '../../powerfit-tutorial'.
options = PowerfitOptions(
target=Path("../../powerfit-tutorial/ribosome-KsgA.map"),
resolution=13,
angle=20,
laplace=True,
)
Run¶
Here we use printed commands to run powerfit, see powerfit.ipynb for running powerfits using the API.
commands, powerfit_run_id = powerfit_commands(session_dir, options)
powerfit_run_id
1
cwd = str(Path.cwd())
rel_commands = [c.replace(cwd, ".") for c in commands]
pprint(rel_commands)
[ 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7edx_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7edx_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_8wan_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_8wan_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7eg9_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7eg9_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_8gxs_DD2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_8gxs_DD2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7eg7_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7eg7_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_8gxq_DD2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_8gxq_DD2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7egf_d2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7egf_d2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7ege_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7ege_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_6mzl_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_6mzl_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_6mzm_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_6mzm_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7egj_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7egj_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7egd_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7egd_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_8wao_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_8wao_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_6mzd_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_6mzd_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7ena_DD2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7ena_DD2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7ega_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7ega_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7egg_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7egg_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_8wap_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_8wap_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7egc_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7egc_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7enc_DD2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7enc_DD2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_8wal_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_8wal_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_8war_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_8war_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_8wak_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_8wak_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7eg8_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7eg8_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_8waq_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_8waq_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_6mzc_E2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_6mzc_E2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7egi_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7egi_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00268_7egb_D2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00268_7egb_D2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_7o9t_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_7o9t_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5ddb_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5ddb_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6e1a_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6e1a_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_7o9z_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_7o9z_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4og7_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4og7_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5dde_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5dde_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5ddf_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5ddf_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_8va6_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_8va6_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_8e90_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_8e90_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_7uj4_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_7uj4_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_8gpn_K2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_8gpn_K2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6pkc_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6pkc_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4x5y_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4x5y_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_7m4t_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_7m4t_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4gpq_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4gpq_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_3u86_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_3u86_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_7oa9_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_7oa9_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5dda_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5dda_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5dd9_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5dd9_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_3u85_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_3u85_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4x5z_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4x5z_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4og6_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4og6_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_8va5_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_8va5_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6o5i_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6o5i_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6wnh_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6wnh_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_7o9x_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_7o9x_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_8ig0_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_8ig0_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5ddc_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5ddc_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4og5_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4og5_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4og8_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4og8_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4gq4_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4gq4_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6s2k_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6s2k_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6opj_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6opj_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5ddd_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5ddd_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6b41_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6b41_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_3u88_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_3u88_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6by8_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6by8_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4gq6_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4gq6_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5db0_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5db0_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4og4_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4og4_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4gq3_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4gq3_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4i80_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4i80_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5db1_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5db1_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5db3_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5db3_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6bxy_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6bxy_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_6bxh_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_6bxh_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_4og3_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_4og3_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00255_5db2_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00255_5db2_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00327_8rw6_B2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00327_8rw6_B2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/O00327_8rw8_B2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/O00327_8rw8_B2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/single_chain/A9YTQ3_5y7y_A2A.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/A9YTQ3_5y7y_A2A --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A0A087WUV0-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A0A087WUV0-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A0A0U1RQI7-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A0A0U1RQI7-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A0A1B0GTS1-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A0A1B0GTS1-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A0A1B0GWH4-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A0A1B0GWH4-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A0A1W2PPF3-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A0A1W2PPF3-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A0A1W2PQL4-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A0A1W2PQL4-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A1YPR0-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A1YPR0-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A2RRD8-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A2RRD8-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NDX5-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NDX5-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NFD8-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NFD8-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NFI3-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NFI3-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NGD5-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NGD5-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NHJ4-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NHJ4-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NJL1-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NJL1-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NJT0-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NJT0-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NK53-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NK53-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NK75-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NK75-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NKF2-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NKF2-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NLW8-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NLW8-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NM28-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NM28-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A6NP11-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A6NP11-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A8K0S8-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A8K0S8-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A8K8V0-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A8K8V0-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A8MT65-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A8MT65-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A8MTY0-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A8MTY0-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A8MUV8-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A8MUV8-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A8MUZ8-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A8MUZ8-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A8MWA4-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A8MWA4-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-A9YTQ3-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-A9YTQ3-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-B2RPK0-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-B2RPK0-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-B4DU55-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-B4DU55-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-B4DX44-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-B4DX44-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-B4DXR9-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-B4DXR9-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-C9JN71-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-C9JN71-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-C9JSJ3-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-C9JSJ3-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-E7ETH6-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-E7ETH6-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-E9PAV3-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-E9PAV3-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-E9PGG2-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-E9PGG2-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-O00110-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-O00110-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-O00255-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-O00255-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-O00268-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-O00268-F1-model_v4 --delimiter , --angle 20', 'powerfit ./session1/powerfit/1/ribosome-KsgA.map 13 ./session1/density_filtered/AF-O00327-F1-model_v4.pdb --laplace --resampling-rate 2 --num 0 --nproc 1 --directory ./session1/powerfit/1/AF-O00327-F1-model_v4 --delimiter , --angle 20' ]
These commands should be run on a cluster. Here we will just run a couple of them to show how it works.
!{rel_commands[6]}
Target file read from: /home/verhoes/git/protein-detective/protein-detective/docs/session1/powerfit/1/r ibosome-KsgA.map Target resolution: 13.00 Initial shape of density: 128 128 128 Shape after trimming: 60 73 67 Shape after extending: 60 75 70 Template file read from: /home/verhoes/git/protein-detective/protein-detective/docs/session1/single_chain /O00268_7egf_d2A.pdb Reading in rotations. Requested rotational sampling density: 20.00 Real rotational sampling density: 20.83 Requested number of processors: 1 Starting search Processing rotations: 100%|██████████████████| 648/648 [00:08<00:00, 72.15rot/s] Time for search: 0m 9s Analyzing results Writing solutions to file. Writing PDBs to file. Total time: 0m 9s
!{rel_commands[0]}
Target file read from: /home/verhoes/git/protein-detective/protein-detective/docs/session1/powerfit/1/r ibosome-KsgA.map Target resolution: 13.00 Initial shape of density: 128 128 128 Shape after trimming: 60 73 67 Shape after extending: 60 75 70 Template file read from: /home/verhoes/git/protein-detective/protein-detective/docs/session1/single_chain /O00268_7edx_D2A.pdb Reading in rotations. Requested rotational sampling density: 20.00 Real rotational sampling density: 20.83 Requested number of processors: 1 Starting search Processing rotations: 100%|██████████████████| 648/648 [00:09<00:00, 70.64rot/s] Time for search: 0m 9s Analyzing results Writing solutions to file. Writing PDBs to file. Total time: 0m 9s
!{rel_commands[-1]}
Target file read from: /home/verhoes/git/protein-detective/protein-detective/docs/session1/powerfit/1/r ibosome-KsgA.map Target resolution: 13.00 Initial shape of density: 128 128 128 Shape after trimming: 60 73 67 Shape after extending: 60 75 70 Template file read from: /home/verhoes/git/protein-detective/protein-detective/docs/session1/density_filt ered/AF-O00327-F1-model_v4.pdb Reading in rotations. Requested rotational sampling density: 20.00 Real rotational sampling density: 20.83 Requested number of processors: 1 Starting search Processing rotations: 100%|█████████████████▉| 647/648 [00:09<00:00, 71.34rot/s] Time for search: 0m 9s Analyzing results Writing solutions to file. Writing PDBs to file. Total time: 0m 9s
See powerfit.ipynb for running all powerfits using the API.
Report¶
Once all powerfit jobs are done the results can be parsed and reported.
from protein_detective.powerfit.workflow import powerfit_report
solutions = powerfit_report(session_dir)
len(solutions)
4420
solutions
powerfit_run_id | structure | rank | cc | fishz | relz | translation | rotation | af_id | pdb_id | pdb_file | uniprot_acc | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | O00268_7edx_D2A | 1 | 0.282 | 0.289 | 9.595 | [150.43, 150.43, 181.13] | [0.184, 0.816, -0.548, -0.816, -0.184, -0.548,... | None | 7EDX | session1/single_chain/O00268_7edx_D2A.pdb | O00268 |
1 | 1 | O00268_7egf_d2A | 1 | 0.275 | 0.282 | 9.141 | [205.69, 217.97, 187.27] | [0.0, 0.604, 0.797, -0.0, -0.797, 0.604, 1.0, ... | None | 7EGF | session1/single_chain/O00268_7egf_d2A.pdb | O00268 |
2 | 1 | O00268_7edx_D2A | 2 | 0.274 | 0.281 | 9.329 | [239.46, 153.5, 187.27] | [0.548, -0.184, 0.816, -0.632, 0.548, 0.548, -... | None | 7EDX | session1/single_chain/O00268_7edx_D2A.pdb | O00268 |
3 | 1 | O00268_7edx_D2A | 3 | 0.272 | 0.279 | 9.238 | [254.81, 267.09, 178.06] | [0.797, 0.0, -0.604, -0.604, -0.0, -0.797, 0.0... | None | 7EDX | session1/single_chain/O00268_7edx_D2A.pdb | O00268 |
4 | 1 | O00268_7egf_d2A | 2 | 0.269 | 0.276 | 8.958 | [196.48, 184.2, 156.57] | [0.0, -0.797, -0.604, 0.0, -0.604, 0.797, -1.0... | None | 7EGF | session1/single_chain/O00268_7egf_d2A.pdb | O00268 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
4415 | 1 | AF-O00327-F1-model_v4 | 1505 | 0.107 | 0.108 | 4.857 | [257.88, 260.95, 168.85] | [-0.362, 0.896, -0.258, 0.896, 0.258, -0.362, ... | O00327 | None | session1/density_filtered/AF-O00327-F1-model_v... | O00327 |
4416 | 1 | AF-O00327-F1-model_v4 | 1507 | 0.106 | 0.106 | 4.792 | [150.43, 98.24, 193.41] | [0.797, -0.604, 0.0, 0.0, -0.0, 1.0, -0.604, -... | O00327 | None | session1/density_filtered/AF-O00327-F1-model_v... | O00327 |
4417 | 1 | AF-O00327-F1-model_v4 | 1506 | 0.106 | 0.107 | 4.815 | [214.9, 89.03, 116.66] | [0.0, -0.797, -0.604, 0.0, -0.604, 0.797, -1.0... | O00327 | None | session1/density_filtered/AF-O00327-F1-model_v... | O00327 |
4418 | 1 | AF-O00327-F1-model_v4 | 1509 | 0.105 | 0.106 | 4.768 | [251.74, 273.23, 122.8] | [-0.258, 0.362, -0.896, -0.362, -0.896, -0.258... | O00327 | None | session1/density_filtered/AF-O00327-F1-model_v... | O00327 |
4419 | 1 | AF-O00327-F1-model_v4 | 1508 | 0.105 | 0.106 | 4.775 | [233.32, 132.01, 233.32] | [0.604, 0.0, 0.797, -0.797, 0.0, 0.604, 0.0, -... | O00327 | None | session1/density_filtered/AF-O00327-F1-model_v... | O00327 |
4420 rows × 12 columns
Fit model to solution¶
Rotate/translate the input model PDB files to the top 5 powerfit solutions.
from protein_detective.powerfit.workflow import powerfit_fit_models
fitted = powerfit_fit_models(session_dir, top=5)
fitted
Writing fitted model PDB files: 100%|██████████| 5/5 [00:00<00:00, 128.84it/s]
powerfit_run_id | structure | rank | fitted_model_file | unfitted_model_file | |
---|---|---|---|---|---|
index | |||||
0 | 1 | O00268_7edx_D2A | 1 | session1/powerfit/1/O00268_7edx_D2A/fit_1.pdb | session1/single_chain/O00268_7edx_D2A.pdb |
1 | 1 | O00268_7egf_d2A | 1 | session1/powerfit/1/O00268_7egf_d2A/fit_1.pdb | session1/single_chain/O00268_7egf_d2A.pdb |
2 | 1 | O00268_7edx_D2A | 2 | session1/powerfit/1/O00268_7edx_D2A/fit_2.pdb | session1/single_chain/O00268_7edx_D2A.pdb |
3 | 1 | O00268_7edx_D2A | 3 | session1/powerfit/1/O00268_7edx_D2A/fit_3.pdb | session1/single_chain/O00268_7edx_D2A.pdb |
4 | 1 | O00268_7egf_d2A | 2 | session1/powerfit/1/O00268_7egf_d2A/fit_2.pdb | session1/single_chain/O00268_7egf_d2A.pdb |