mirror of
https://github.com/RosettaCommons/RFdiffusion.git
synced 2026-06-04 18:44:21 +08:00
Adding files for the soon-to-be-released RFdiffusion video tutorial
The materials were created by Diego Lopez Mateos, Matthew Hvasta, and Kush Narang for the Tutorial Hackathon track of the 2026 Megathon event.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
script='/home/dlopezma/RFdiffusion/scripts/run_inference.py'
|
||||
|
||||
|
||||
python $script \
|
||||
inference.output_prefix=outputs-test/binder_ \
|
||||
inference.input_pdb=channel-toxin.pdb 'contigmap.contigs=[A1-110/0 B111-220/0 C221-330/0 D331-440/0 30-50/H462-463/20-50]' \
|
||||
'ppi.hotspot_res=[A68,A70,B178,B180,C288,C290,D398,D400]' \
|
||||
'potentials.guiding_potentials=["type:binder_ROG,min_dist:5,weight:10"]' potentials.guide_scale=10 potentials.guide_decay="quadratic" \
|
||||
denoiser.noise_scale_ca=0.5 denoiser.noise_scale_frame=0.5 \
|
||||
inference.num_designs=200
|
||||
@@ -0,0 +1,524 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Analyze backbone metrics for a directory of PDB files.
|
||||
|
||||
Computes, per PDB:
|
||||
1) N-term and C-term normalized end scores against an interface point
|
||||
2) Radius of gyration (Rg) for a chain + atom selection
|
||||
3) STRIDE secondary-structure percentages
|
||||
|
||||
Example:
|
||||
python analyze_backbones.py \
|
||||
--pdb-dir ./pdbs \
|
||||
--binder-chain A \
|
||||
--interface-point 0 0 -16.17 \
|
||||
--stride /path/to/stride \
|
||||
--atoms alpha-carbons \
|
||||
--output metrics.csv \
|
||||
--threads 8
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import csv
|
||||
import math
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
from concurrent.futures import ProcessPoolExecutor, as_completed
|
||||
from pathlib import Path
|
||||
from typing import Dict, Iterable, List, Optional, Sequence, Tuple
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
STRIDE_CLASSES: Tuple[str, ...] = ("H", "E", "C", "T", "G", "I", "B")
|
||||
ATOM_SELECTIONS: Dict[str, Optional[set[str]]] = {
|
||||
"alpha-carbons": {"CA"},
|
||||
"backbone": {"N", "CA", "C", "O"},
|
||||
"backbone-no-carbonyl": {"N", "CA", "C"},
|
||||
"all": None, # All ATOM records in the selected chain
|
||||
}
|
||||
|
||||
OUTPUT_COLUMNS: Tuple[str, ...] = (
|
||||
"pdb_file",
|
||||
"pdb_path",
|
||||
"n_atoms_rg",
|
||||
"rg",
|
||||
"n_ca_binder",
|
||||
"nterm_sc",
|
||||
"cterm_sc",
|
||||
"pct_H",
|
||||
"pct_E",
|
||||
"pct_C",
|
||||
"pct_T",
|
||||
"pct_G",
|
||||
"pct_I",
|
||||
"pct_B",
|
||||
"pct_helix_total",
|
||||
"pct_extended_total",
|
||||
"stride_total_residues",
|
||||
"status",
|
||||
"error_message",
|
||||
)
|
||||
|
||||
|
||||
class StrideFailureError(RuntimeError):
|
||||
"""Raised when STRIDE fails and --fail-on-missing-stride is enabled."""
|
||||
|
||||
|
||||
def parse_pdb_atoms(pdb_path: Path) -> List[Tuple[str, str, str, float, float, float]]:
|
||||
"""Parse ATOM records from a PDB file.
|
||||
|
||||
Returns tuples:
|
||||
(atom_name, chain_id, residue_index, x, y, z)
|
||||
"""
|
||||
atoms: List[Tuple[str, str, str, float, float, float]] = []
|
||||
with pdb_path.open("r", encoding="utf-8", errors="replace") as handle:
|
||||
for line in handle:
|
||||
if not line.startswith("ATOM"):
|
||||
continue
|
||||
if len(line) < 54:
|
||||
continue
|
||||
|
||||
atom_name = line[12:16].strip()
|
||||
chain_id = line[21].strip()
|
||||
residue_index = line[22:26].strip()
|
||||
|
||||
try:
|
||||
x_coord = float(line[30:38])
|
||||
y_coord = float(line[38:46])
|
||||
z_coord = float(line[46:54])
|
||||
except ValueError:
|
||||
parts = line.split()
|
||||
if len(parts) < 9:
|
||||
continue
|
||||
try:
|
||||
atom_name = parts[2]
|
||||
chain_id = parts[4]
|
||||
x_coord = float(parts[6])
|
||||
y_coord = float(parts[7])
|
||||
z_coord = float(parts[8])
|
||||
except (ValueError, IndexError):
|
||||
continue
|
||||
|
||||
atoms.append((atom_name, chain_id, residue_index, x_coord, y_coord, z_coord))
|
||||
return atoms
|
||||
|
||||
|
||||
def compute_end_scores(
|
||||
binder_ca_coords: np.ndarray, interface_point: np.ndarray
|
||||
) -> Tuple[int, Optional[float], Optional[float], Optional[str]]:
|
||||
"""Compute normalized N-term and C-term scores."""
|
||||
n_ca = int(binder_ca_coords.shape[0])
|
||||
if n_ca == 0:
|
||||
return 0, None, None, "No binder-chain CA atoms found for end scores."
|
||||
|
||||
deltas = binder_ca_coords - interface_point
|
||||
squared_distances = np.sum(deltas * deltas, axis=1)
|
||||
distances = np.sqrt(squared_distances)
|
||||
rmsd_to_point = float(math.sqrt(float(np.mean(squared_distances))))
|
||||
|
||||
if rmsd_to_point == 0.0:
|
||||
return n_ca, None, None, "RMS distance to interface point is 0. End scores are undefined."
|
||||
|
||||
nterm_sc = float(distances[0] / rmsd_to_point)
|
||||
cterm_sc = float(distances[-1] / rmsd_to_point)
|
||||
return n_ca, nterm_sc, cterm_sc, None
|
||||
|
||||
|
||||
def compute_rg(rg_coords: np.ndarray) -> Tuple[int, Optional[float], Optional[str]]:
|
||||
"""Compute radius of gyration using geometric center."""
|
||||
n_atoms = int(rg_coords.shape[0])
|
||||
if n_atoms == 0:
|
||||
return 0, None, "No atoms found for requested Rg chain/atom selection."
|
||||
|
||||
center = np.mean(rg_coords, axis=0)
|
||||
squared_distances = np.sum((rg_coords - center) ** 2, axis=1)
|
||||
rg = float(math.sqrt(float(np.mean(squared_distances))))
|
||||
return n_atoms, rg, None
|
||||
|
||||
|
||||
def empty_stride_metrics() -> Dict[str, Optional[float]]:
|
||||
metrics: Dict[str, Optional[float]] = {f"pct_{ss_class}": None for ss_class in STRIDE_CLASSES}
|
||||
metrics["pct_helix_total"] = None
|
||||
metrics["pct_extended_total"] = None
|
||||
metrics["stride_total_residues"] = None
|
||||
return metrics
|
||||
|
||||
|
||||
def run_stride_and_parse(
|
||||
stride_executable: str, pdb_path: Path, timeout_seconds: int = 30
|
||||
) -> Tuple[Dict[str, Optional[float]], Optional[str]]:
|
||||
"""Run STRIDE and parse secondary-structure percentages."""
|
||||
command = [stride_executable, "-f", str(pdb_path)]
|
||||
try:
|
||||
completed = subprocess.run(
|
||||
command,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=timeout_seconds,
|
||||
check=False,
|
||||
)
|
||||
except FileNotFoundError as exc:
|
||||
raise RuntimeError(f"STRIDE executable not found: {stride_executable}") from exc
|
||||
except subprocess.TimeoutExpired as exc:
|
||||
raise RuntimeError(f"STRIDE timed out after {timeout_seconds}s.") from exc
|
||||
|
||||
if completed.returncode != 0:
|
||||
stderr = completed.stderr.strip()
|
||||
stdout = completed.stdout.strip()
|
||||
details = stderr or stdout or f"return code {completed.returncode}"
|
||||
raise RuntimeError(f"STRIDE failed ({details}).")
|
||||
|
||||
counts = {ss_class: 0 for ss_class in STRIDE_CLASSES}
|
||||
unknown_classes: Dict[str, int] = {}
|
||||
total_residues = 0
|
||||
|
||||
for line in completed.stdout.splitlines():
|
||||
if not line.startswith("ASG"):
|
||||
continue
|
||||
columns = line.split()
|
||||
if len(columns) <= 5:
|
||||
continue
|
||||
ss_class = columns[5].upper()
|
||||
total_residues += 1
|
||||
if ss_class in counts:
|
||||
counts[ss_class] += 1
|
||||
else:
|
||||
unknown_classes[ss_class] = unknown_classes.get(ss_class, 0) + 1
|
||||
|
||||
if total_residues == 0:
|
||||
metrics = empty_stride_metrics()
|
||||
metrics["stride_total_residues"] = 0
|
||||
return metrics, "STRIDE returned zero ASG residue assignments."
|
||||
|
||||
metrics = {
|
||||
f"pct_{ss_class}": 100.0 * counts[ss_class] / total_residues for ss_class in STRIDE_CLASSES
|
||||
}
|
||||
metrics["pct_helix_total"] = metrics["pct_H"] + metrics["pct_G"] + metrics["pct_I"]
|
||||
metrics["pct_extended_total"] = metrics["pct_E"] + metrics["pct_B"]
|
||||
metrics["stride_total_residues"] = total_residues
|
||||
|
||||
warning = None
|
||||
if unknown_classes:
|
||||
unknown_repr = ",".join(f"{key}:{value}" for key, value in sorted(unknown_classes.items()))
|
||||
warning = f"Unknown STRIDE classes encountered ({unknown_repr})."
|
||||
return metrics, warning
|
||||
|
||||
|
||||
def _collect_chain_coords(
|
||||
atoms: Iterable[Tuple[str, str, str, float, float, float]],
|
||||
chain_id: str,
|
||||
atom_filter: Optional[set[str]],
|
||||
) -> np.ndarray:
|
||||
coords = []
|
||||
for atom_name, current_chain, _residue_idx, x_coord, y_coord, z_coord in atoms:
|
||||
if current_chain != chain_id:
|
||||
continue
|
||||
if atom_filter is not None and atom_name not in atom_filter:
|
||||
continue
|
||||
coords.append((x_coord, y_coord, z_coord))
|
||||
|
||||
if not coords:
|
||||
return np.empty((0, 3), dtype=float)
|
||||
return np.asarray(coords, dtype=float)
|
||||
|
||||
|
||||
def _make_base_row(pdb_path: Path) -> Dict[str, object]:
|
||||
row: Dict[str, object] = {column: None for column in OUTPUT_COLUMNS}
|
||||
row["pdb_file"] = pdb_path.name
|
||||
row["pdb_path"] = str(pdb_path.resolve())
|
||||
row["status"] = "OK"
|
||||
row["error_message"] = ""
|
||||
return row
|
||||
|
||||
|
||||
def analyze_pdb(
|
||||
pdb_path_str: str,
|
||||
binder_chain: str,
|
||||
rg_chain: str,
|
||||
atom_selection: str,
|
||||
interface_point_xyz: Sequence[float],
|
||||
stride_executable: str,
|
||||
stride_timeout: int,
|
||||
fail_on_missing_stride: bool,
|
||||
) -> Dict[str, object]:
|
||||
"""Analyze one PDB and return a row dict for output."""
|
||||
pdb_path = Path(pdb_path_str)
|
||||
row = _make_base_row(pdb_path)
|
||||
warnings: List[str] = []
|
||||
|
||||
try:
|
||||
atoms = parse_pdb_atoms(pdb_path)
|
||||
|
||||
binder_ca = _collect_chain_coords(atoms, binder_chain, {"CA"})
|
||||
n_ca_binder, nterm_sc, cterm_sc, end_warning = compute_end_scores(
|
||||
binder_ca, np.asarray(interface_point_xyz, dtype=float)
|
||||
)
|
||||
row["n_ca_binder"] = n_ca_binder
|
||||
row["nterm_sc"] = nterm_sc
|
||||
row["cterm_sc"] = cterm_sc
|
||||
if end_warning:
|
||||
warnings.append(end_warning)
|
||||
|
||||
atom_filter = ATOM_SELECTIONS[atom_selection]
|
||||
rg_coords = _collect_chain_coords(atoms, rg_chain, atom_filter)
|
||||
n_atoms_rg, rg, rg_warning = compute_rg(rg_coords)
|
||||
row["n_atoms_rg"] = n_atoms_rg
|
||||
row["rg"] = rg
|
||||
if rg_warning:
|
||||
warnings.append(rg_warning)
|
||||
|
||||
try:
|
||||
stride_metrics, stride_warning = run_stride_and_parse(
|
||||
stride_executable, pdb_path, timeout_seconds=stride_timeout
|
||||
)
|
||||
row.update(stride_metrics)
|
||||
if stride_warning:
|
||||
warnings.append(stride_warning)
|
||||
except Exception as exc:
|
||||
if fail_on_missing_stride:
|
||||
raise StrideFailureError(f"{pdb_path}: {exc}") from exc
|
||||
row.update(empty_stride_metrics())
|
||||
warnings.append(f"STRIDE failed: {exc}")
|
||||
|
||||
if warnings:
|
||||
row["status"] = "WARNING"
|
||||
row["error_message"] = "; ".join(warnings)
|
||||
else:
|
||||
row["status"] = "OK"
|
||||
row["error_message"] = ""
|
||||
return row
|
||||
|
||||
except StrideFailureError:
|
||||
raise
|
||||
except Exception as exc:
|
||||
row.update(empty_stride_metrics())
|
||||
row["status"] = "ERROR"
|
||||
row["error_message"] = str(exc)
|
||||
return row
|
||||
|
||||
|
||||
def discover_pdb_files(pdb_dir: Path, glob_pattern: str, recursive: bool) -> List[Path]:
|
||||
if recursive:
|
||||
pdb_files = [path for path in pdb_dir.rglob(glob_pattern) if path.is_file()]
|
||||
else:
|
||||
pdb_files = [path for path in pdb_dir.glob(glob_pattern) if path.is_file()]
|
||||
return sorted(path.resolve() for path in pdb_files)
|
||||
|
||||
|
||||
def _serialize_cell(value: object) -> str:
|
||||
if value is None:
|
||||
return "NA"
|
||||
if isinstance(value, float):
|
||||
if math.isnan(value) or math.isinf(value):
|
||||
return "NA"
|
||||
return f"{value:.6f}"
|
||||
return str(value)
|
||||
|
||||
|
||||
def write_output(rows: List[Dict[str, object]], output_path: Path, delimiter_name: str) -> None:
|
||||
delimiter = "," if delimiter_name == "csv" else "\t"
|
||||
rows.sort(key=lambda row: (str(row.get("pdb_file", "")), str(row.get("pdb_path", ""))))
|
||||
|
||||
output_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
with output_path.open("w", newline="", encoding="utf-8") as handle:
|
||||
writer = csv.DictWriter(handle, fieldnames=list(OUTPUT_COLUMNS), delimiter=delimiter)
|
||||
writer.writeheader()
|
||||
for row in rows:
|
||||
writer.writerow({column: _serialize_cell(row.get(column)) for column in OUTPUT_COLUMNS})
|
||||
|
||||
|
||||
def resolve_stride_executable(stride_arg: str) -> str:
|
||||
stride_path = Path(stride_arg)
|
||||
if stride_path.is_file():
|
||||
return str(stride_path.resolve())
|
||||
|
||||
found = shutil.which(stride_arg)
|
||||
if found:
|
||||
return found
|
||||
|
||||
raise FileNotFoundError(
|
||||
f"Could not resolve STRIDE executable from '{stride_arg}'. "
|
||||
"Pass an absolute path or a command available in PATH."
|
||||
)
|
||||
|
||||
|
||||
def build_parser() -> argparse.ArgumentParser:
|
||||
parser = argparse.ArgumentParser(
|
||||
description=(
|
||||
"Analyze a directory of PDB backbones and output per-PDB metrics "
|
||||
"(end scores, Rg, STRIDE secondary structure percentages)."
|
||||
),
|
||||
formatter_class=argparse.RawTextHelpFormatter,
|
||||
epilog=(
|
||||
"Example usage:\n"
|
||||
" python analyze_backbones.py \\\n"
|
||||
" --pdb-dir ./pdbs \\\n"
|
||||
" --binder-chain A \\\n"
|
||||
" --interface-point 0 0 -16.17 \\\n"
|
||||
" --stride /path/to/stride \\\n"
|
||||
" --atoms alpha-carbons \\\n"
|
||||
" --output metrics.csv \\\n"
|
||||
" --threads 8\n"
|
||||
),
|
||||
)
|
||||
|
||||
parser.add_argument("--pdb-dir", required=True, type=Path, help="Directory containing PDB files.")
|
||||
parser.add_argument(
|
||||
"--binder-chain",
|
||||
required=True,
|
||||
type=str,
|
||||
help="Chain ID used for NtermSc/CtermSc computation.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--interface-point",
|
||||
required=True,
|
||||
nargs=3,
|
||||
type=float,
|
||||
metavar=("X", "Y", "Z"),
|
||||
help="Interface point coordinates (X Y Z).",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--stride",
|
||||
required=True,
|
||||
type=str,
|
||||
help="Path/name for STRIDE executable (used as: stride -f <pdb>).",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--rg-chain",
|
||||
default=None,
|
||||
type=str,
|
||||
help="Chain ID for Rg computation (default: same as --binder-chain).",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--atoms",
|
||||
default="alpha-carbons",
|
||||
choices=tuple(ATOM_SELECTIONS.keys()),
|
||||
help=(
|
||||
"Atom selection for Rg: "
|
||||
"alpha-carbons=CA; backbone=N,CA,C,O; "
|
||||
"backbone-no-carbonyl=N,CA,C; all=all ATOM records."
|
||||
),
|
||||
)
|
||||
parser.add_argument("--output", default="metrics.csv", type=Path, help="Output CSV/TSV file path.")
|
||||
parser.add_argument(
|
||||
"--delimiter",
|
||||
default="csv",
|
||||
choices=("csv", "tsv"),
|
||||
help="Output delimiter format.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--recursive",
|
||||
action="store_true",
|
||||
help="Recursively search for PDB files in subdirectories.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--glob",
|
||||
default="*.pdb",
|
||||
type=str,
|
||||
help="Glob pattern for PDB discovery (default: *.pdb).",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--fail-on-missing-stride",
|
||||
action="store_true",
|
||||
help="Fail immediately if STRIDE fails for any PDB.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--threads",
|
||||
default=1,
|
||||
type=int,
|
||||
help="Number of worker processes (ProcessPoolExecutor).",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--stride-timeout",
|
||||
default=30,
|
||||
type=int,
|
||||
help="Timeout in seconds for each STRIDE call (default: 30).",
|
||||
)
|
||||
return parser
|
||||
|
||||
|
||||
def _print_progress(done: int, total: int) -> None:
|
||||
if done % 25 == 0 or done == total:
|
||||
print(f"[{done}/{total}] analyzed", file=sys.stderr)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = build_parser()
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.threads < 1:
|
||||
parser.error("--threads must be >= 1")
|
||||
if args.stride_timeout < 1:
|
||||
parser.error("--stride-timeout must be >= 1")
|
||||
if not args.pdb_dir.exists() or not args.pdb_dir.is_dir():
|
||||
parser.error(f"--pdb-dir does not exist or is not a directory: {args.pdb_dir}")
|
||||
|
||||
try:
|
||||
stride_executable = resolve_stride_executable(args.stride)
|
||||
except FileNotFoundError as exc:
|
||||
parser.error(str(exc))
|
||||
return 2
|
||||
|
||||
rg_chain = args.rg_chain if args.rg_chain is not None else args.binder_chain
|
||||
pdb_files = discover_pdb_files(args.pdb_dir, args.glob, args.recursive)
|
||||
if not pdb_files:
|
||||
parser.error(
|
||||
f"No PDB files found under {args.pdb_dir} using pattern '{args.glob}' "
|
||||
f"(recursive={args.recursive})."
|
||||
)
|
||||
|
||||
total = len(pdb_files)
|
||||
print(f"Discovered {total} PDB files.", file=sys.stderr)
|
||||
|
||||
task_args = [
|
||||
(
|
||||
str(pdb_path),
|
||||
args.binder_chain,
|
||||
rg_chain,
|
||||
args.atoms,
|
||||
tuple(args.interface_point),
|
||||
stride_executable,
|
||||
args.stride_timeout,
|
||||
args.fail_on_missing_stride,
|
||||
)
|
||||
for pdb_path in pdb_files
|
||||
]
|
||||
|
||||
rows: List[Dict[str, object]] = []
|
||||
try:
|
||||
if args.threads == 1:
|
||||
for index, task in enumerate(task_args, start=1):
|
||||
rows.append(analyze_pdb(*task))
|
||||
_print_progress(index, total)
|
||||
else:
|
||||
try:
|
||||
with ProcessPoolExecutor(max_workers=args.threads) as executor:
|
||||
futures = [executor.submit(analyze_pdb, *task) for task in task_args]
|
||||
for index, future in enumerate(as_completed(futures), start=1):
|
||||
rows.append(future.result())
|
||||
_print_progress(index, total)
|
||||
except PermissionError as exc:
|
||||
print(
|
||||
"WARNING: ProcessPoolExecutor is unavailable in this environment "
|
||||
f"({exc}). Falling back to serial execution.",
|
||||
file=sys.stderr,
|
||||
)
|
||||
rows = []
|
||||
for index, task in enumerate(task_args, start=1):
|
||||
rows.append(analyze_pdb(*task))
|
||||
_print_progress(index, total)
|
||||
except StrideFailureError as exc:
|
||||
print(f"ERROR: {exc}", file=sys.stderr)
|
||||
return 1
|
||||
|
||||
write_output(rows, args.output.resolve(), args.delimiter)
|
||||
print(f"Wrote {len(rows)} rows to {args.output.resolve()}", file=sys.stderr)
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,259 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
filter_backbones.py
|
||||
|
||||
Filter a metrics CSV (one row per structure) by user-defined thresholds and
|
||||
copy the corresponding structure files to an output directory.
|
||||
|
||||
Typical usage:
|
||||
python filter_backbones.py \
|
||||
--metrics metrics.csv \
|
||||
--pdb-root /path/to/pdbs \
|
||||
--outdir Passing_Backbones \
|
||||
--min rg=9.5 --max rg=12.0 \
|
||||
--min pct_helix_total=70 \
|
||||
--max pct_C=15 \
|
||||
--min nterm_sc=0.9 --max nterm_sc=1.4
|
||||
|
||||
Threshold syntax:
|
||||
--min <col>=<value> keep rows where col >= value
|
||||
--max <col>=<value> keep rows where col <= value
|
||||
|
||||
You can provide multiple --min / --max flags.
|
||||
|
||||
By default, the script uses:
|
||||
- `pdb_path` if present and exists
|
||||
- otherwise `pdb_root / pdb_file`
|
||||
|
||||
It writes:
|
||||
- copies of passing structure files to --outdir
|
||||
- optionally, a filtered CSV with only passing rows.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import csv
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
from typing import Dict, List, Tuple, Optional
|
||||
|
||||
|
||||
def parse_threshold_kv(s: str) -> Tuple[str, float]:
|
||||
"""Parse 'col=value' into (col, float(value))."""
|
||||
if "=" not in s:
|
||||
raise argparse.ArgumentTypeError(f"Threshold must be in the form col=value, got: {s}")
|
||||
col, val = s.split("=", 1)
|
||||
col = col.strip()
|
||||
try:
|
||||
fval = float(val.strip())
|
||||
except ValueError as e:
|
||||
raise argparse.ArgumentTypeError(f"Value must be numeric in {s}") from e
|
||||
if not col:
|
||||
raise argparse.ArgumentTypeError(f"Column name is empty in {s}")
|
||||
return col, fval
|
||||
|
||||
|
||||
def safe_float(x: str) -> Optional[float]:
|
||||
"""Convert string to float; return None for empty/NA/non-numeric."""
|
||||
if x is None:
|
||||
return None
|
||||
x = str(x).strip()
|
||||
if x == "" or x.upper() in {"NA", "NAN", "NONE"}:
|
||||
return None
|
||||
try:
|
||||
return float(x)
|
||||
except ValueError:
|
||||
return None
|
||||
|
||||
|
||||
def row_passes_thresholds(
|
||||
row: Dict[str, str],
|
||||
mins: Dict[str, float],
|
||||
maxs: Dict[str, float],
|
||||
require_ok: bool = False,
|
||||
) -> Tuple[bool, str]:
|
||||
"""
|
||||
Return (passes, reason_if_failed).
|
||||
If a needed value is missing/non-numeric, row fails.
|
||||
"""
|
||||
if require_ok:
|
||||
status = (row.get("status") or "").strip().upper()
|
||||
if status != "OK":
|
||||
return False, f"status != OK ({status or 'missing'})"
|
||||
|
||||
for col, minv in mins.items():
|
||||
v = safe_float(row.get(col))
|
||||
if v is None:
|
||||
return False, f"missing/non-numeric {col}"
|
||||
if v < minv:
|
||||
return False, f"{col}={v} < min {minv}"
|
||||
|
||||
for col, maxv in maxs.items():
|
||||
v = safe_float(row.get(col))
|
||||
if v is None:
|
||||
return False, f"missing/non-numeric {col}"
|
||||
if v > maxv:
|
||||
return False, f"{col}={v} > max {maxv}"
|
||||
|
||||
return True, ""
|
||||
|
||||
|
||||
def resolve_source_path(row: Dict[str, str], pdb_root: str) -> Optional[str]:
|
||||
"""
|
||||
Prefer absolute `pdb_path` if it exists. Otherwise use pdb_root/pdb_file.
|
||||
"""
|
||||
pdb_path = (row.get("pdb_path") or "").strip()
|
||||
if pdb_path and os.path.isfile(pdb_path):
|
||||
return pdb_path
|
||||
|
||||
pdb_file = (row.get("pdb_file") or "").strip()
|
||||
if pdb_file and pdb_root:
|
||||
candidate = os.path.join(pdb_root, pdb_file)
|
||||
if os.path.isfile(candidate):
|
||||
return candidate
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser(
|
||||
prog="filter_backbones.py",
|
||||
description="Filter a metrics CSV by thresholds and copy passing structure files to a new folder.",
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
)
|
||||
parser.add_argument("--metrics", required=True, help="Path to the metrics CSV.")
|
||||
parser.add_argument(
|
||||
"--pdb-root",
|
||||
default="",
|
||||
help="Folder containing the structure files. Used if pdb_path in CSV is missing or not valid.",
|
||||
)
|
||||
parser.add_argument("--outdir", default="Passing_Backbones", help="Output directory for copied files.")
|
||||
parser.add_argument(
|
||||
"--min",
|
||||
action="append",
|
||||
default=[],
|
||||
metavar="COL=VAL",
|
||||
help="Minimum threshold (keep rows where COL >= VAL). Can be provided multiple times.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--max",
|
||||
action="append",
|
||||
default=[],
|
||||
metavar="COL=VAL",
|
||||
help="Maximum threshold (keep rows where COL <= VAL). Can be provided multiple times.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--require-ok",
|
||||
action="store_true",
|
||||
help="Only accept rows with status == OK.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--copy-mode",
|
||||
choices=["copy", "symlink"],
|
||||
default="copy",
|
||||
help="Copy files or create symlinks in the output directory.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--dry-run",
|
||||
action="store_true",
|
||||
help="Do not copy anything; just print what would pass/fail.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--filtered-csv",
|
||||
default="",
|
||||
help="Optional path to write a CSV containing only passing rows.",
|
||||
)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Parse thresholds into dicts
|
||||
mins: Dict[str, float] = {}
|
||||
maxs: Dict[str, float] = {}
|
||||
|
||||
for item in args.min:
|
||||
col, val = parse_threshold_kv(item)
|
||||
mins[col] = val
|
||||
for item in args.max:
|
||||
col, val = parse_threshold_kv(item)
|
||||
maxs[col] = val
|
||||
|
||||
# Ensure outdir exists (unless dry-run)
|
||||
if not args.dry_run:
|
||||
os.makedirs(args.outdir, exist_ok=True)
|
||||
|
||||
passed_rows: List[Dict[str, str]] = []
|
||||
total = 0
|
||||
passed = 0
|
||||
missing_files = 0
|
||||
|
||||
with open(args.metrics, newline="") as f:
|
||||
reader = csv.DictReader(f)
|
||||
if not reader.fieldnames:
|
||||
print("ERROR: metrics CSV has no header.", file=sys.stderr)
|
||||
return 2
|
||||
|
||||
for row in reader:
|
||||
total += 1
|
||||
ok, reason = row_passes_thresholds(row, mins, maxs, require_ok=args.require_ok)
|
||||
if not ok:
|
||||
if args.dry_run:
|
||||
name = row.get("pdb_file") or row.get("pdb_path") or f"row{total}"
|
||||
print(f"FAIL {name}: {reason}")
|
||||
continue
|
||||
|
||||
src = resolve_source_path(row, args.pdb_root)
|
||||
if src is None:
|
||||
missing_files += 1
|
||||
if args.dry_run:
|
||||
name = row.get("pdb_file") or row.get("pdb_path") or f"row{total}"
|
||||
print(f"PASS (but missing file) {name}")
|
||||
continue
|
||||
|
||||
dst = os.path.join(args.outdir, os.path.basename(src))
|
||||
|
||||
if args.dry_run:
|
||||
print(f"PASS {os.path.basename(src)} -> {dst}")
|
||||
else:
|
||||
# Avoid overwriting silently if same name appears twice
|
||||
if os.path.exists(dst):
|
||||
# Add a suffix
|
||||
base, ext = os.path.splitext(os.path.basename(src))
|
||||
i = 2
|
||||
while True:
|
||||
candidate = os.path.join(args.outdir, f"{base}__{i}{ext}")
|
||||
if not os.path.exists(candidate):
|
||||
dst = candidate
|
||||
break
|
||||
i += 1
|
||||
|
||||
if args.copy_mode == "copy":
|
||||
shutil.copy2(src, dst)
|
||||
else:
|
||||
os.symlink(os.path.abspath(src), dst)
|
||||
|
||||
passed += 1
|
||||
passed_rows.append(row)
|
||||
|
||||
# Optional: write filtered CSV
|
||||
if args.filtered_csv:
|
||||
if args.dry_run:
|
||||
print(f"(dry-run) Would write filtered CSV to: {args.filtered_csv}")
|
||||
else:
|
||||
with open(args.filtered_csv, "w", newline="") as out_f:
|
||||
writer = csv.DictWriter(out_f, fieldnames=passed_rows[0].keys() if passed_rows else [])
|
||||
if passed_rows:
|
||||
writer.writeheader()
|
||||
writer.writerows(passed_rows)
|
||||
|
||||
print("\nSummary")
|
||||
print(f" Total rows read: {total}")
|
||||
print(f" Passed thresholds: {len(passed_rows)}")
|
||||
print(f" Files copied/symlink: {passed}")
|
||||
print(f" Missing files: {missing_files}")
|
||||
print(f" Output directory: {args.outdir}")
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,195 @@
|
||||
pdb_file,pdb_path,n_atoms_rg,rg,n_ca_binder,nterm_sc,cterm_sc,pct_H,pct_E,pct_C,pct_T,pct_G,pct_I,pct_B,pct_helix_total,pct_extended_total,stride_total_residues,status,error_message
|
||||
binder__0.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__0.pdb,65,11.440739,65,1.208963,1.708872,79.405941,0.000000,10.495050,10.099010,0.000000,0.000000,0.000000,79.405941,0.000000,505,OK,
|
||||
binder__1.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__1.pdb,65,10.570335,65,0.456962,1.305447,79.009901,0.000000,10.891089,9.504950,0.594059,0.000000,0.000000,79.603960,0.000000,505,OK,
|
||||
binder__10.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__10.pdb,74,12.469614,74,1.199012,1.243271,80.155642,0.000000,10.505837,9.338521,0.000000,0.000000,0.000000,80.155642,0.000000,514,OK,
|
||||
binder__100.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__100.pdb,91,14.372374,91,0.882592,1.395679,80.790960,0.000000,10.169492,9.039548,0.000000,0.000000,0.000000,80.790960,0.000000,531,OK,
|
||||
binder__101.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__101.pdb,82,13.958578,82,1.483017,1.259399,80.459770,0.000000,9.770115,9.770115,0.000000,0.000000,0.000000,80.459770,0.000000,522,OK,
|
||||
binder__102.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__102.pdb,88,12.150068,88,0.364829,0.760174,79.924242,0.000000,9.848485,10.227273,0.000000,0.000000,0.000000,79.924242,0.000000,528,OK,
|
||||
binder__103.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__103.pdb,81,11.555342,81,0.596236,1.042006,80.422265,0.000000,9.213052,10.364683,0.000000,0.000000,0.000000,80.422265,0.000000,521,OK,
|
||||
binder__104.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__104.pdb,76,13.859907,76,0.850355,1.858860,80.038760,0.000000,9.496124,10.465116,0.000000,0.000000,0.000000,80.038760,0.000000,516,OK,
|
||||
binder__105.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__105.pdb,81,11.538136,81,0.577873,1.283464,79.462572,0.000000,9.980806,9.788868,0.767754,0.000000,0.000000,80.230326,0.000000,521,OK,
|
||||
binder__106.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__106.pdb,75,12.714906,75,1.382847,1.748714,79.805825,0.000000,9.514563,10.679612,0.000000,0.000000,0.000000,79.805825,0.000000,515,OK,
|
||||
binder__107.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__107.pdb,96,11.990849,96,1.440216,0.699554,79.664179,0.000000,9.514925,10.261194,0.559701,0.000000,0.000000,80.223881,0.000000,536,OK,
|
||||
binder__108.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__108.pdb,69,10.528552,69,0.597537,1.023899,78.978389,0.000000,10.805501,10.216110,0.000000,0.000000,0.000000,78.978389,0.000000,509,OK,
|
||||
binder__109.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__109.pdb,96,15.382391,96,1.902797,0.780417,80.410448,0.000000,9.701493,8.955224,0.932836,0.000000,0.000000,81.343284,0.000000,536,OK,
|
||||
binder__11.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__11.pdb,81,15.423823,81,1.947594,0.953179,80.230326,0.000000,9.788868,9.980806,0.000000,0.000000,0.000000,80.230326,0.000000,521,OK,
|
||||
binder__110.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__110.pdb,73,12.301217,73,1.624234,0.881460,79.532164,0.000000,9.746589,10.136452,0.584795,0.000000,0.000000,80.116959,0.000000,513,OK,
|
||||
binder__111.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__111.pdb,81,13.064917,81,1.273191,1.054840,80.230326,0.000000,9.980806,9.788868,0.000000,0.000000,0.000000,80.230326,0.000000,521,OK,
|
||||
binder__112.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__112.pdb,66,11.652158,66,0.735635,1.513717,79.841897,0.000000,9.486166,10.671937,0.000000,0.000000,0.000000,79.841897,0.000000,506,OK,
|
||||
binder__113.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__113.pdb,91,12.512440,91,1.083776,1.292954,79.661017,0.000000,10.734463,9.039548,0.564972,0.000000,0.000000,80.225989,0.000000,531,OK,
|
||||
binder__114.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__114.pdb,80,11.677121,80,0.878299,0.875773,79.807692,0.000000,10.192308,10.000000,0.000000,0.000000,0.000000,79.807692,0.000000,520,OK,
|
||||
binder__115.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__115.pdb,92,12.229948,92,1.146564,1.030289,79.887218,0.000000,11.090226,9.022556,0.000000,0.000000,0.000000,79.887218,0.000000,532,OK,
|
||||
binder__116.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__116.pdb,67,10.234730,67,0.935921,0.747552,79.487179,0.000000,10.453649,9.467456,0.591716,0.000000,0.000000,80.078895,0.000000,507,OK,
|
||||
binder__117.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__117.pdb,67,15.372543,67,1.658400,1.720560,79.092702,0.000000,10.650888,10.256410,0.000000,0.000000,0.000000,79.092702,0.000000,507,OK,
|
||||
binder__118.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__118.pdb,81,13.202121,81,1.694858,0.514610,80.038388,0.000000,9.980806,9.980806,0.000000,0.000000,0.000000,80.038388,0.000000,521,OK,
|
||||
binder__119.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__119.pdb,72,12.163164,72,1.047828,1.586725,79.882812,0.000000,10.156250,9.960938,0.000000,0.000000,0.000000,79.882812,0.000000,512,OK,
|
||||
binder__12.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__12.pdb,90,11.373821,90,0.606328,1.132692,80.000000,0.000000,10.943396,9.056604,0.000000,0.000000,0.000000,80.000000,0.000000,530,OK,
|
||||
binder__120.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__120.pdb,89,12.584334,89,0.990795,0.956222,79.773157,0.000000,9.451796,10.207940,0.567108,0.000000,0.000000,80.340265,0.000000,529,OK,
|
||||
binder__121.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__121.pdb,80,11.734673,80,0.985105,0.914877,79.423077,0.000000,9.807692,10.769231,0.000000,0.000000,0.000000,79.423077,0.000000,520,OK,
|
||||
binder__122.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__122.pdb,85,13.642657,85,0.895116,1.627162,79.809524,0.000000,9.714286,9.904762,0.571429,0.000000,0.000000,80.380952,0.000000,525,OK,
|
||||
binder__123.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__123.pdb,76,12.728347,76,0.759733,1.718369,80.232558,0.000000,9.883721,9.883721,0.000000,0.000000,0.000000,80.232558,0.000000,516,OK,
|
||||
binder__124.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__124.pdb,85,13.849318,85,0.928141,1.550698,80.380952,0.000000,9.714286,9.904762,0.000000,0.000000,0.000000,80.380952,0.000000,525,OK,
|
||||
binder__125.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__125.pdb,80,11.468907,80,1.343899,1.508660,80.192308,0.000000,10.000000,9.807692,0.000000,0.000000,0.000000,80.192308,0.000000,520,OK,
|
||||
binder__126.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__126.pdb,69,12.118205,69,0.819677,1.806679,80.157171,0.000000,9.823183,10.019646,0.000000,0.000000,0.000000,80.157171,0.000000,509,OK,
|
||||
binder__127.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__127.pdb,66,11.873773,66,0.379319,1.621185,80.039526,0.000000,10.474308,9.486166,0.000000,0.000000,0.000000,80.039526,0.000000,506,OK,
|
||||
binder__128.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__128.pdb,65,10.053100,65,0.784700,0.562727,78.811881,0.000000,10.495050,10.693069,0.000000,0.000000,0.000000,78.811881,0.000000,505,OK,
|
||||
binder__129.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__129.pdb,76,13.016713,76,1.178201,1.318435,80.232558,0.000000,8.914729,10.852713,0.000000,0.000000,0.000000,80.232558,0.000000,516,OK,
|
||||
binder__13.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__13.pdb,74,12.861669,74,1.870969,1.002075,80.155642,0.000000,10.505837,9.338521,0.000000,0.000000,0.000000,80.155642,0.000000,514,OK,
|
||||
binder__130.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__130.pdb,65,10.321954,65,0.991581,1.005336,79.603960,0.000000,10.297030,10.099010,0.000000,0.000000,0.000000,79.603960,0.000000,505,OK,
|
||||
binder__131.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__131.pdb,86,13.437955,86,0.867965,0.629852,79.847909,0.000000,10.456274,9.695817,0.000000,0.000000,0.000000,79.847909,0.000000,526,OK,
|
||||
binder__132.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__132.pdb,70,12.665055,70,0.929634,1.757423,79.803922,0.000000,10.196078,9.411765,0.588235,0.000000,0.000000,80.392157,0.000000,510,OK,
|
||||
binder__133.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__133.pdb,79,11.479286,79,0.663421,1.070164,79.576108,0.000000,10.019268,10.404624,0.000000,0.000000,0.000000,79.576108,0.000000,519,OK,
|
||||
binder__134.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__134.pdb,89,15.000523,89,1.564897,1.405135,81.096408,0.000000,9.829868,9.073724,0.000000,0.000000,0.000000,81.096408,0.000000,529,OK,
|
||||
binder__135.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__135.pdb,62,11.260668,62,1.476494,1.187470,79.482072,0.000000,10.358566,9.561753,0.597610,0.000000,0.000000,80.079681,0.000000,502,OK,
|
||||
binder__136.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__136.pdb,84,11.754088,84,1.250004,1.497541,80.152672,0.000000,9.732824,10.114504,0.000000,0.000000,0.000000,80.152672,0.000000,524,OK,
|
||||
binder__137.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__137.pdb,97,15.512694,97,0.855076,1.529193,80.446927,0.000000,9.869646,9.683426,0.000000,0.000000,0.000000,80.446927,0.000000,537,OK,
|
||||
binder__138.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__138.pdb,96,15.283960,96,1.465543,1.499585,81.343284,0.000000,9.701493,8.955224,0.000000,0.000000,0.000000,81.343284,0.000000,536,OK,
|
||||
binder__139.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__139.pdb,77,12.475654,77,1.146081,1.493544,80.077369,0.000000,9.864603,10.058027,0.000000,0.000000,0.000000,80.077369,0.000000,517,OK,
|
||||
binder__14.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__14.pdb,76,12.613412,76,1.414906,1.408774,79.844961,0.000000,9.689922,10.465116,0.000000,0.000000,0.000000,79.844961,0.000000,516,OK,
|
||||
binder__140.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__140.pdb,76,12.555237,76,1.241664,1.257064,79.263566,0.000000,9.496124,10.465116,0.775194,0.000000,0.000000,80.038760,0.000000,516,OK,
|
||||
binder__141.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__141.pdb,78,13.036538,78,1.575718,1.293330,80.501931,0.000000,9.652510,9.845560,0.000000,0.000000,0.000000,80.501931,0.000000,518,OK,
|
||||
binder__142.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__142.pdb,74,12.756940,74,1.106141,1.644492,79.766537,0.000000,10.311284,9.338521,0.583658,0.000000,0.000000,80.350195,0.000000,514,OK,
|
||||
binder__143.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__143.pdb,90,12.066872,90,0.952131,1.018203,79.433962,0.000000,10.377358,9.056604,1.132075,0.000000,0.000000,80.566038,0.000000,530,OK,
|
||||
binder__144.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__144.pdb,99,15.508172,99,1.613075,1.293270,81.261596,0.000000,9.833024,8.905380,0.000000,0.000000,0.000000,81.261596,0.000000,539,OK,
|
||||
binder__145.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__145.pdb,82,11.387497,82,1.211000,0.891400,79.693487,0.000000,10.344828,9.961686,0.000000,0.000000,0.000000,79.693487,0.000000,522,OK,
|
||||
binder__146.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__146.pdb,70,16.234978,70,1.394189,1.870756,80.392157,0.000000,9.607843,10.000000,0.000000,0.000000,0.000000,80.392157,0.000000,510,OK,
|
||||
binder__147.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__147.pdb,74,12.621206,74,1.254628,1.484485,80.155642,0.000000,9.922179,9.922179,0.000000,0.000000,0.000000,80.155642,0.000000,514,OK,
|
||||
binder__148.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__148.pdb,63,11.121062,63,0.365520,1.588692,79.721670,0.000000,10.139165,10.139165,0.000000,0.000000,0.000000,79.721670,0.000000,503,OK,
|
||||
binder__149.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__149.pdb,74,11.392053,74,0.874451,0.659778,79.571984,0.000000,10.700389,9.727626,0.000000,0.000000,0.000000,79.571984,0.000000,514,OK,
|
||||
binder__15.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__15.pdb,98,12.930027,98,1.267407,1.110161,79.925651,0.000000,9.293680,10.780669,0.000000,0.000000,0.000000,79.925651,0.000000,538,OK,
|
||||
binder__150.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__150.pdb,83,11.650322,83,0.835247,1.206308,80.114723,0.000000,10.133843,9.751434,0.000000,0.000000,0.000000,80.114723,0.000000,523,OK,
|
||||
binder__151.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__151.pdb,64,11.669831,64,0.757482,1.688188,79.166667,0.000000,10.515873,10.317460,0.000000,0.000000,0.000000,79.166667,0.000000,504,OK,
|
||||
binder__152.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__152.pdb,66,12.203983,66,1.660252,1.246168,79.841897,0.000000,10.079051,10.079051,0.000000,0.000000,0.000000,79.841897,0.000000,506,OK,
|
||||
binder__153.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__153.pdb,72,11.988316,72,0.983151,1.247953,79.492188,0.000000,9.765625,10.742188,0.000000,0.000000,0.000000,79.492188,0.000000,512,OK,
|
||||
binder__154.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__154.pdb,75,12.951174,75,0.832094,1.688883,79.029126,0.000000,9.514563,11.456311,0.000000,0.000000,0.000000,79.029126,0.000000,515,OK,
|
||||
binder__155.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__155.pdb,81,11.322606,81,1.599641,1.415304,79.846449,0.000000,9.788868,10.364683,0.000000,0.000000,0.000000,79.846449,0.000000,521,OK,
|
||||
binder__156.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__156.pdb,55,12.698095,55,1.567785,1.598997,79.595960,0.000000,10.101010,9.696970,0.606061,0.000000,0.000000,80.202020,0.000000,495,OK,
|
||||
binder__157.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__157.pdb,84,13.790878,84,1.039222,1.634233,80.534351,0.000000,9.732824,9.732824,0.000000,0.000000,0.000000,80.534351,0.000000,524,OK,
|
||||
binder__158.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__158.pdb,89,14.213194,89,1.235038,1.226000,80.718336,0.000000,10.207940,9.073724,0.000000,0.000000,0.000000,80.718336,0.000000,529,OK,
|
||||
binder__159.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__159.pdb,83,13.623458,83,1.295159,1.528311,80.688337,0.000000,9.560229,9.751434,0.000000,0.000000,0.000000,80.688337,0.000000,523,OK,
|
||||
binder__16.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__16.pdb,76,11.337735,76,0.526479,0.918478,79.069767,0.000000,9.689922,11.240310,0.000000,0.000000,0.000000,79.069767,0.000000,516,OK,
|
||||
binder__160.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__160.pdb,62,11.227942,62,1.247732,1.405781,79.880478,0.000000,10.159363,9.960159,0.000000,0.000000,0.000000,79.880478,0.000000,502,OK,
|
||||
binder__161.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__161.pdb,81,11.308972,81,1.450027,1.337222,79.846449,0.000000,9.596929,10.556622,0.000000,0.000000,0.000000,79.846449,0.000000,521,OK,
|
||||
binder__162.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__162.pdb,90,12.173736,90,0.740034,0.770856,79.056604,0.000000,10.377358,10.566038,0.000000,0.000000,0.000000,79.056604,0.000000,530,OK,
|
||||
binder__163.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__163.pdb,69,11.815115,69,0.462527,1.604587,79.960707,0.000000,10.019646,10.019646,0.000000,0.000000,0.000000,79.960707,0.000000,509,OK,
|
||||
binder__164.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__164.pdb,82,13.176641,82,1.508520,1.309834,80.268199,0.000000,9.961686,9.770115,0.000000,0.000000,0.000000,80.268199,0.000000,522,OK,
|
||||
binder__165.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__165.pdb,96,13.191188,96,0.593278,0.962081,78.917910,0.000000,9.888060,11.194030,0.000000,0.000000,0.000000,78.917910,0.000000,536,OK,
|
||||
binder__166.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__166.pdb,92,13.044145,92,1.146713,1.410841,79.135338,0.000000,9.210526,10.338346,1.315789,0.000000,0.000000,80.451128,0.000000,532,OK,
|
||||
binder__167.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__167.pdb,71,11.945252,71,1.145346,1.594175,79.843444,0.000000,10.176125,9.980431,0.000000,0.000000,0.000000,79.843444,0.000000,511,OK,
|
||||
binder__168.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__168.pdb,77,13.190983,77,1.736108,1.258828,79.303675,0.000000,9.864603,10.831721,0.000000,0.000000,0.000000,79.303675,0.000000,517,OK,
|
||||
binder__169.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__169.pdb,69,10.726425,69,0.860785,1.260954,79.174853,0.000000,10.805501,10.019646,0.000000,0.000000,0.000000,79.174853,0.000000,509,OK,
|
||||
binder__17.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__17.pdb,73,12.308071,73,1.102044,1.572240,80.311891,0.000000,9.746589,9.941520,0.000000,0.000000,0.000000,80.311891,0.000000,513,OK,
|
||||
binder__170.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__170.pdb,61,14.192801,61,1.516961,1.751350,80.239521,0.000000,10.179641,9.580838,0.000000,0.000000,0.000000,80.239521,0.000000,501,OK,
|
||||
binder__171.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__171.pdb,78,13.669320,78,0.973181,1.922578,80.308880,0.000000,9.845560,9.845560,0.000000,0.000000,0.000000,80.308880,0.000000,518,OK,
|
||||
binder__172.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__172.pdb,67,10.527200,67,0.352979,1.011254,79.487179,0.000000,11.045365,9.467456,0.000000,0.000000,0.000000,79.487179,0.000000,507,OK,
|
||||
binder__173.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__173.pdb,57,11.183579,57,0.391752,1.697079,78.873239,0.000000,10.865191,10.261569,0.000000,0.000000,0.000000,78.873239,0.000000,497,OK,
|
||||
binder__174.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__174.pdb,71,12.160942,71,0.827229,1.542446,80.234834,0.000000,10.371820,9.393346,0.000000,0.000000,0.000000,80.234834,0.000000,511,OK,
|
||||
binder__175.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__175.pdb,84,13.495866,84,1.286644,1.470341,79.770992,0.000000,9.732824,9.923664,0.572519,0.000000,0.000000,80.343511,0.000000,524,OK,
|
||||
binder__176.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__176.pdb,79,11.669857,79,0.549580,1.111666,79.190751,0.000000,10.789981,10.019268,0.000000,0.000000,0.000000,79.190751,0.000000,519,OK,
|
||||
binder__177.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__177.pdb,70,10.898500,70,1.165567,0.562440,79.803922,0.000000,10.196078,10.000000,0.000000,0.000000,0.000000,79.803922,0.000000,510,OK,
|
||||
binder__178.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__178.pdb,64,12.126032,64,1.704870,0.758680,79.563492,0.000000,10.119048,10.317460,0.000000,0.000000,0.000000,79.563492,0.000000,504,OK,
|
||||
binder__179.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__179.pdb,77,12.764652,77,1.760113,1.011049,79.690522,0.000000,9.864603,9.864603,0.580271,0.000000,0.000000,80.270793,0.000000,517,OK,
|
||||
binder__18.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__18.pdb,74,12.586560,74,0.824265,1.615050,79.961089,0.000000,10.116732,9.922179,0.000000,0.000000,0.000000,79.961089,0.000000,514,OK,
|
||||
binder__180.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__180.pdb,67,11.680648,67,0.764395,1.721339,80.078895,0.000000,9.861933,10.059172,0.000000,0.000000,0.000000,80.078895,0.000000,507,OK,
|
||||
binder__181.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__181.pdb,89,12.204827,89,1.084271,1.146191,79.773157,0.000000,9.829868,10.396975,0.000000,0.000000,0.000000,79.773157,0.000000,529,OK,
|
||||
binder__182.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__182.pdb,67,11.832991,67,1.755101,1.098050,78.895464,0.000000,10.059172,11.045365,0.000000,0.000000,0.000000,78.895464,0.000000,507,OK,
|
||||
binder__183.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__183.pdb,61,13.904277,61,1.585850,1.765344,80.039920,0.000000,9.780439,10.179641,0.000000,0.000000,0.000000,80.039920,0.000000,501,OK,
|
||||
binder__184.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__184.pdb,77,11.373480,77,0.872562,0.634050,79.303675,0.000000,10.058027,10.638298,0.000000,0.000000,0.000000,79.303675,0.000000,517,OK,
|
||||
binder__185.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__185.pdb,81,12.070521,81,0.878894,0.512032,80.230326,0.000000,9.596929,10.172745,0.000000,0.000000,0.000000,80.230326,0.000000,521,OK,
|
||||
binder__186.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__186.pdb,69,11.725625,69,0.558192,1.579645,79.371316,0.000000,9.626719,11.001965,0.000000,0.000000,0.000000,79.371316,0.000000,509,OK,
|
||||
binder__187.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__187.pdb,79,13.010083,79,1.749346,0.840457,79.576108,0.000000,9.826590,10.019268,0.578035,0.000000,0.000000,80.154143,0.000000,519,OK,
|
||||
binder__188.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__188.pdb,69,10.673019,69,0.640081,0.563771,77.996071,0.000000,9.626719,11.198428,1.178782,0.000000,0.000000,79.174853,0.000000,509,OK,
|
||||
binder__189.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__189.pdb,84,13.977671,84,1.862460,0.962148,80.725191,0.000000,9.541985,9.732824,0.000000,0.000000,0.000000,80.725191,0.000000,524,OK,
|
||||
binder__19.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__19.pdb,89,12.345034,89,0.472836,1.084149,79.962193,0.000000,10.207940,9.829868,0.000000,0.000000,0.000000,79.962193,0.000000,529,OK,
|
||||
binder__190.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__190.pdb,73,12.200881,73,0.958320,1.665354,79.337232,0.000000,9.746589,10.916179,0.000000,0.000000,0.000000,79.337232,0.000000,513,OK,
|
||||
binder__191.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__191.pdb,90,11.329709,90,0.905380,1.291851,79.433962,0.000000,10.943396,9.622642,0.000000,0.000000,0.000000,79.433962,0.000000,530,OK,
|
||||
binder__192.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__192.pdb,80,13.045259,80,1.414766,1.230870,80.384615,0.000000,10.384615,9.230769,0.000000,0.000000,0.000000,80.384615,0.000000,520,OK,
|
||||
binder__193.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__193.pdb,85,11.975755,85,0.629867,0.892031,79.428571,0.000000,10.095238,10.476190,0.000000,0.000000,0.000000,79.428571,0.000000,525,OK,
|
||||
binder__2.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__2.pdb,58,13.649269,58,1.340512,1.724025,80.120482,0.000000,10.240964,9.638554,0.000000,0.000000,0.000000,80.120482,0.000000,498,OK,
|
||||
binder__20.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__20.pdb,73,10.929759,73,0.662978,0.460223,80.116959,0.000000,10.526316,9.356725,0.000000,0.000000,0.000000,80.116959,0.000000,513,OK,
|
||||
binder__21.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__21.pdb,91,12.252673,91,0.625427,1.273266,78.342750,0.000000,10.357815,11.299435,0.000000,0.000000,0.000000,78.342750,0.000000,531,OK,
|
||||
binder__22.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__22.pdb,66,10.785504,66,0.378896,1.508499,79.841897,0.000000,10.079051,9.486166,0.592885,0.000000,0.000000,80.434783,0.000000,506,OK,
|
||||
binder__23.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__23.pdb,72,12.320114,72,1.471681,0.952689,78.710938,0.000000,10.156250,10.156250,0.976562,0.000000,0.000000,79.687500,0.000000,512,OK,
|
||||
binder__24.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__24.pdb,80,13.296546,80,1.576710,1.051744,80.192308,0.000000,10.576923,9.230769,0.000000,0.000000,0.000000,80.192308,0.000000,520,OK,
|
||||
binder__25.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__25.pdb,73,12.355240,73,0.651027,1.545588,80.311891,0.000000,10.331384,9.356725,0.000000,0.000000,0.000000,80.311891,0.000000,513,OK,
|
||||
binder__26.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__26.pdb,66,10.211405,66,1.247927,1.157894,78.853755,0.000000,11.067194,10.079051,0.000000,0.000000,0.000000,78.853755,0.000000,506,OK,
|
||||
binder__27.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__27.pdb,86,12.192003,86,1.128631,0.988340,79.087452,0.000000,10.266160,10.646388,0.000000,0.000000,0.000000,79.087452,0.000000,526,OK,
|
||||
binder__28.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__28.pdb,68,12.036808,68,0.621693,1.713842,78.543307,0.000000,10.039370,10.826772,0.590551,0.000000,0.000000,79.133858,0.000000,508,OK,
|
||||
binder__29.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__29.pdb,75,13.525894,75,0.943997,1.840014,80.000000,0.000000,10.097087,9.902913,0.000000,0.000000,0.000000,80.000000,0.000000,515,OK,
|
||||
binder__3.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__3.pdb,74,10.939612,74,0.838366,0.921596,78.793774,0.000000,11.089494,9.338521,0.778210,0.000000,0.000000,79.571984,0.000000,514,OK,
|
||||
binder__30.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__30.pdb,96,11.999890,96,0.494450,1.524668,79.477612,0.000000,9.701493,10.820896,0.000000,0.000000,0.000000,79.477612,0.000000,536,OK,
|
||||
binder__31.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__31.pdb,77,12.541053,77,0.963180,1.564716,80.464217,0.000000,10.251451,9.284333,0.000000,0.000000,0.000000,80.464217,0.000000,517,OK,
|
||||
binder__32.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__32.pdb,84,13.852448,84,1.238974,1.687711,79.961832,0.000000,9.732824,9.732824,0.572519,0.000000,0.000000,80.534351,0.000000,524,OK,
|
||||
binder__33.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__33.pdb,72,12.399048,72,1.040232,1.523151,79.882812,0.000000,10.156250,9.960938,0.000000,0.000000,0.000000,79.882812,0.000000,512,OK,
|
||||
binder__34.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__34.pdb,75,12.868299,75,0.811734,1.781085,79.611650,0.000000,10.485437,9.320388,0.582524,0.000000,0.000000,80.194175,0.000000,515,OK,
|
||||
binder__35.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__35.pdb,77,11.106214,77,1.085816,1.062349,79.883946,0.000000,10.831721,9.284333,0.000000,0.000000,0.000000,79.883946,0.000000,517,OK,
|
||||
binder__36.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__36.pdb,94,12.399824,94,1.140161,1.006864,80.337079,0.000000,9.737828,9.925094,0.000000,0.000000,0.000000,80.337079,0.000000,534,OK,
|
||||
binder__37.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__37.pdb,72,12.994132,72,1.882612,0.811029,79.882812,0.000000,10.156250,9.960938,0.000000,0.000000,0.000000,79.882812,0.000000,512,OK,
|
||||
binder__38.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__38.pdb,98,13.146496,98,0.951868,0.899173,79.925651,0.000000,10.594796,8.921933,0.557621,0.000000,0.000000,80.483271,0.000000,538,OK,
|
||||
binder__39.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__39.pdb,91,12.280591,91,1.180446,1.079882,80.037665,0.000000,10.357815,9.039548,0.564972,0.000000,0.000000,80.602637,0.000000,531,OK,
|
||||
binder__4.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__4.pdb,58,13.333587,58,1.524403,1.658960,79.317269,0.000000,10.441767,9.638554,0.602410,0.000000,0.000000,79.919679,0.000000,498,OK,
|
||||
binder__40.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__40.pdb,97,12.000326,97,1.556796,1.243014,80.074488,0.000000,10.428305,9.497207,0.000000,0.000000,0.000000,80.074488,0.000000,537,OK,
|
||||
binder__41.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__41.pdb,73,11.015888,73,0.507100,0.895609,79.337232,0.000000,9.941520,10.721248,0.000000,0.000000,0.000000,79.337232,0.000000,513,OK,
|
||||
binder__42.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__42.pdb,69,10.838379,69,0.437000,0.922180,79.764244,0.000000,10.216110,10.019646,0.000000,0.000000,0.000000,79.764244,0.000000,509,OK,
|
||||
binder__43.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__43.pdb,79,11.383792,79,0.773469,0.680461,79.768786,0.000000,10.982659,9.248555,0.000000,0.000000,0.000000,79.768786,0.000000,519,OK,
|
||||
binder__44.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__44.pdb,80,11.604519,80,1.204398,1.203878,80.384615,0.000000,9.807692,9.807692,0.000000,0.000000,0.000000,80.384615,0.000000,520,OK,
|
||||
binder__45.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__45.pdb,89,14.561584,89,0.778868,1.622543,80.907372,0.000000,9.451796,9.640832,0.000000,0.000000,0.000000,80.907372,0.000000,529,OK,
|
||||
binder__46.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__46.pdb,56,12.667731,56,1.287441,1.565697,78.830645,0.000000,11.491935,9.677419,0.000000,0.000000,0.000000,78.830645,0.000000,496,OK,
|
||||
binder__47.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__47.pdb,90,14.636249,90,1.179501,1.488363,80.943396,0.000000,10.000000,9.056604,0.000000,0.000000,0.000000,80.943396,0.000000,530,OK,
|
||||
binder__48.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__48.pdb,71,12.403594,71,1.507160,1.567346,80.039139,0.000000,9.980431,9.980431,0.000000,0.000000,0.000000,80.039139,0.000000,511,OK,
|
||||
binder__49.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__49.pdb,70,10.691186,70,1.251590,0.943117,79.019608,0.000000,10.392157,10.588235,0.000000,0.000000,0.000000,79.019608,0.000000,510,OK,
|
||||
binder__5.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__5.pdb,90,12.360199,90,1.010829,0.585549,80.943396,0.000000,10.000000,9.056604,0.000000,0.000000,0.000000,80.943396,0.000000,530,OK,
|
||||
binder__50.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__50.pdb,93,12.861619,93,1.099559,1.198658,80.300188,0.000000,9.943715,9.756098,0.000000,0.000000,0.000000,80.300188,0.000000,533,OK,
|
||||
binder__51.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__51.pdb,98,13.334390,98,1.425311,1.345123,81.226766,0.000000,9.293680,9.479554,0.000000,0.000000,0.000000,81.226766,0.000000,538,OK,
|
||||
binder__52.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__52.pdb,75,12.819534,75,0.994759,1.564986,80.388350,0.000000,10.291262,9.320388,0.000000,0.000000,0.000000,80.388350,0.000000,515,OK,
|
||||
binder__53.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__53.pdb,80,11.835319,80,0.699387,0.639417,79.423077,0.000000,10.384615,9.615385,0.576923,0.000000,0.000000,80.000000,0.000000,520,OK,
|
||||
binder__54.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__54.pdb,78,13.257884,78,1.186889,1.626590,79.729730,0.000000,9.652510,9.845560,0.772201,0.000000,0.000000,80.501931,0.000000,518,OK,
|
||||
binder__55.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__55.pdb,80,11.449403,80,1.432565,1.361379,79.807692,0.000000,9.807692,10.384615,0.000000,0.000000,0.000000,79.807692,0.000000,520,OK,
|
||||
binder__56.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__56.pdb,69,10.900514,69,1.614291,1.107331,79.371316,0.000000,10.412574,10.216110,0.000000,0.000000,0.000000,79.371316,0.000000,509,OK,
|
||||
binder__57.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__57.pdb,66,15.148880,66,1.695046,1.638438,80.237154,0.000000,10.276680,9.486166,0.000000,0.000000,0.000000,80.237154,0.000000,506,OK,
|
||||
binder__58.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__58.pdb,76,10.912946,76,0.854154,0.958331,79.069767,0.000000,10.465116,9.883721,0.581395,0.000000,0.000000,79.651163,0.000000,516,OK,
|
||||
binder__59.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__59.pdb,95,12.979399,95,1.292061,1.292826,78.317757,0.000000,9.532710,11.401869,0.747664,0.000000,0.000000,79.065421,0.000000,535,OK,
|
||||
binder__6.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__6.pdb,64,10.644359,64,1.299035,0.919320,79.365079,0.000000,11.111111,9.523810,0.000000,0.000000,0.000000,79.365079,0.000000,504,OK,
|
||||
binder__60.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__60.pdb,63,11.095800,63,1.057419,1.732434,79.920477,0.000000,9.940358,10.139165,0.000000,0.000000,0.000000,79.920477,0.000000,503,OK,
|
||||
binder__61.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__61.pdb,81,11.706718,81,0.707699,1.408769,80.422265,0.000000,9.788868,9.788868,0.000000,0.000000,0.000000,80.422265,0.000000,521,OK,
|
||||
binder__62.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__62.pdb,75,11.310556,75,0.538049,0.497168,78.834951,0.000000,10.291262,10.097087,0.776699,0.000000,0.000000,79.611650,0.000000,515,OK,
|
||||
binder__63.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__63.pdb,55,12.964738,55,1.609461,1.646774,79.797980,0.000000,10.505051,9.696970,0.000000,0.000000,0.000000,79.797980,0.000000,495,OK,
|
||||
binder__64.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__64.pdb,71,11.121790,71,0.553747,0.958626,80.039139,0.000000,10.567515,9.393346,0.000000,0.000000,0.000000,80.039139,0.000000,511,OK,
|
||||
binder__65.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__65.pdb,93,11.830278,93,1.078093,1.595838,79.549719,0.000000,9.756098,10.694184,0.000000,0.000000,0.000000,79.549719,0.000000,533,OK,
|
||||
binder__66.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__66.pdb,81,11.635698,81,1.160792,0.861311,79.654511,0.000000,9.980806,9.788868,0.575816,0.000000,0.000000,80.230326,0.000000,521,OK,
|
||||
binder__67.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__67.pdb,86,12.162357,86,1.002941,1.162036,79.087452,0.000000,10.646388,10.266160,0.000000,0.000000,0.000000,79.087452,0.000000,526,OK,
|
||||
binder__68.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__68.pdb,67,14.798914,67,0.933846,1.997299,80.078895,0.000000,10.453649,9.467456,0.000000,0.000000,0.000000,80.078895,0.000000,507,OK,
|
||||
binder__69.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__69.pdb,80,11.776827,80,0.683639,0.992918,79.423077,0.000000,9.807692,10.192308,0.576923,0.000000,0.000000,80.000000,0.000000,520,OK,
|
||||
binder__7.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__7.pdb,68,10.549167,68,0.932942,0.547671,78.740157,0.000000,10.039370,11.220472,0.000000,0.000000,0.000000,78.740157,0.000000,508,OK,
|
||||
binder__70.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__70.pdb,65,11.478112,65,0.430256,1.664200,80.000000,0.000000,10.495050,9.504950,0.000000,0.000000,0.000000,80.000000,0.000000,505,OK,
|
||||
binder__71.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__71.pdb,79,13.103191,79,1.057051,1.623688,80.539499,0.000000,9.633911,9.826590,0.000000,0.000000,0.000000,80.539499,0.000000,519,OK,
|
||||
binder__72.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__72.pdb,65,14.760021,65,1.361511,1.603319,80.000000,0.000000,9.900990,9.504950,0.594059,0.000000,0.000000,80.594059,0.000000,505,OK,
|
||||
binder__73.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__73.pdb,62,11.057109,62,1.044082,1.740893,79.681275,0.000000,10.159363,10.159363,0.000000,0.000000,0.000000,79.681275,0.000000,502,OK,
|
||||
binder__74.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__74.pdb,83,11.891153,83,0.940739,0.620960,80.305927,0.000000,10.516252,9.177820,0.000000,0.000000,0.000000,80.305927,0.000000,523,OK,
|
||||
binder__75.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__75.pdb,76,11.011531,76,1.180404,0.945176,79.457364,0.000000,9.883721,10.658915,0.000000,0.000000,0.000000,79.457364,0.000000,516,OK,
|
||||
binder__76.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__76.pdb,62,12.123622,62,0.610424,1.891205,80.079681,0.000000,10.358566,9.561753,0.000000,0.000000,0.000000,80.079681,0.000000,502,OK,
|
||||
binder__77.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__77.pdb,80,13.227774,80,1.233513,1.323017,80.192308,0.000000,10.000000,9.807692,0.000000,0.000000,0.000000,80.192308,0.000000,520,OK,
|
||||
binder__78.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__78.pdb,86,12.471128,86,1.638402,1.510645,80.418251,0.000000,9.695817,9.885932,0.000000,0.000000,0.000000,80.418251,0.000000,526,OK,
|
||||
binder__79.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__79.pdb,81,13.247642,81,1.757627,0.691931,80.230326,0.000000,9.788868,9.980806,0.000000,0.000000,0.000000,80.230326,0.000000,521,OK,
|
||||
binder__8.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__8.pdb,66,12.182583,66,1.816216,0.722267,79.644269,0.000000,9.486166,10.869565,0.000000,0.000000,0.000000,79.644269,0.000000,506,OK,
|
||||
binder__80.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__80.pdb,77,12.767275,77,1.494856,0.782298,79.690522,0.000000,9.864603,9.864603,0.580271,0.000000,0.000000,80.270793,0.000000,517,OK,
|
||||
binder__81.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__81.pdb,85,12.120503,85,1.122062,1.105515,80.000000,0.000000,9.714286,10.285714,0.000000,0.000000,0.000000,80.000000,0.000000,525,OK,
|
||||
binder__82.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__82.pdb,91,14.581744,91,0.836780,1.751506,80.225989,0.000000,9.039548,10.734463,0.000000,0.000000,0.000000,80.225989,0.000000,531,OK,
|
||||
binder__83.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__83.pdb,88,14.320428,88,1.523431,1.100964,80.681818,0.000000,9.090909,10.227273,0.000000,0.000000,0.000000,80.681818,0.000000,528,OK,
|
||||
binder__84.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__84.pdb,74,11.218049,74,1.369165,1.394226,80.155642,0.000000,9.922179,9.922179,0.000000,0.000000,0.000000,80.155642,0.000000,514,OK,
|
||||
binder__85.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__85.pdb,81,11.207495,81,1.054231,0.800411,79.654511,0.000000,9.980806,10.364683,0.000000,0.000000,0.000000,79.654511,0.000000,521,OK,
|
||||
binder__86.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__86.pdb,96,12.757799,96,1.179903,0.963421,79.664179,0.000000,10.074627,9.701493,0.559701,0.000000,0.000000,80.223881,0.000000,536,OK,
|
||||
binder__87.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__87.pdb,77,12.820484,77,0.695279,1.592533,79.883946,0.000000,10.058027,9.284333,0.773694,0.000000,0.000000,80.657640,0.000000,517,OK,
|
||||
binder__88.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__88.pdb,93,12.671162,93,1.139570,1.147755,80.487805,0.000000,9.943715,9.568480,0.000000,0.000000,0.000000,80.487805,0.000000,533,OK,
|
||||
binder__89.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__89.pdb,78,11.325623,78,1.773748,1.361215,79.150579,0.000000,10.810811,9.266409,0.772201,0.000000,0.000000,79.922780,0.000000,518,OK,
|
||||
binder__9.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__9.pdb,74,10.921002,74,0.644766,1.017383,79.377432,0.000000,11.284047,9.338521,0.000000,0.000000,0.000000,79.377432,0.000000,514,OK,
|
||||
binder__90.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__90.pdb,91,14.490793,91,1.113399,1.658423,81.167608,0.000000,9.227872,9.604520,0.000000,0.000000,0.000000,81.167608,0.000000,531,OK,
|
||||
binder__91.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__91.pdb,86,13.963948,86,1.320878,1.409802,80.608365,0.000000,9.695817,9.695817,0.000000,0.000000,0.000000,80.608365,0.000000,526,OK,
|
||||
binder__92.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__92.pdb,69,13.327753,69,1.580629,1.614854,79.764244,0.000000,10.216110,9.430255,0.589391,0.000000,0.000000,80.353635,0.000000,509,OK,
|
||||
binder__93.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__93.pdb,69,12.025424,69,1.031348,1.622487,79.764244,0.000000,9.823183,10.412574,0.000000,0.000000,0.000000,79.764244,0.000000,509,OK,
|
||||
binder__94.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__94.pdb,82,11.717856,82,0.817207,1.115078,79.885057,0.000000,10.344828,9.770115,0.000000,0.000000,0.000000,79.885057,0.000000,522,OK,
|
||||
binder__95.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__95.pdb,93,14.736554,93,0.790171,1.660077,80.300188,0.000000,9.943715,9.756098,0.000000,0.000000,0.000000,80.300188,0.000000,533,OK,
|
||||
binder__96.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__96.pdb,74,12.204353,74,0.431443,1.571472,79.766537,0.000000,9.727626,9.922179,0.583658,0.000000,0.000000,80.350195,0.000000,514,OK,
|
||||
binder__97.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__97.pdb,88,12.131188,88,0.706130,0.410902,79.356061,0.000000,10.037879,10.606061,0.000000,0.000000,0.000000,79.356061,0.000000,528,OK,
|
||||
binder__98.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__98.pdb,73,10.926285,73,0.355261,1.141135,79.922027,0.000000,10.136452,9.941520,0.000000,0.000000,0.000000,79.922027,0.000000,513,OK,
|
||||
binder__99.pdb,/Users/dlopezmateos/Desktop/PR-Marathon/final-tutorial-materials/Part2-Backbone-analysis/outputs-test/binder__99.pdb,67,13.462641,67,1.992265,0.738934,79.684418,0.000000,10.059172,10.256410,0.000000,0.000000,0.000000,79.684418,0.000000,507,OK,
|
||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
0
video_tutorials/protein_binder_design/README.md
Normal file
0
video_tutorials/protein_binder_design/README.md
Normal file
Reference in New Issue
Block a user