Skip to content

How to use

The enumerate-assemblies subcommand is used to enumerate assemblies.

Syntax

nasapnet enumerate-assemblies [OPTIONS] INPUT OUTPUT

Info

If this raises an error command not found, you may need to use python -m nasap_net or python3 -m nasap_net instead of nasapnet.

python -m nasap_net enumerate-assemblies [OPTIONS] INPUT OUTPUT

Positional Arguments

  1. INPUT: Relative path to the input file.
  2. OUTPUT: Relative path to the output file.

Options

Options with single hyphen (-) are aliases for the corresponding options with double hyphen (--), e.g., -w is an alias for --wip-dir. Either of them can be used.

Command Alias Description Example
--wip-dir -w Directory to store intermediate files. nasapnet enumerate-assemblies -w wip input.yaml output.yaml, where wip is the directory to store intermediate files.
--start -s Starting index for the reindexing of the assemblies. nasapnet enumerate-assemblies -s 10 input.yaml output.yaml, where the starting index in the output file is 10.
--overwrite -o Overwrite output file if it exists. nasapnet enumerate-assemblies -o input.yaml output.yaml
--verbose -v Print feedback messages to the console. nasapnet enumerate-assemblies -v input.yaml output.yaml
--help Show this message and exit. nasapnet enumerate-assemblies --help

Example

Directory structure before running the command:

/
└── input.yaml

Command:

nasapnet enumerate-assemblies input.yaml output.yaml

Directory structure after running the command:

/
├── input.yaml
└── output.yaml

Input and output files are as follows:

Input File
input.yaml
bonds: [1, 2, 3, 4, 5, 6, 7, 8]
bond_adjacency:
  1: [8, 2]
  2: [1, 3]
  3: [2, 4]
  4: [3, 5]
  5: [4, 6]
  6: [5, 7]
  7: [6, 8]
  8: [7, 1]
sym_ops:
  C_4: [[1, 3, 5, 7], [2, 4, 6, 8]]
  C_2: [[1, 5], [2, 6], [3, 7], [4, 8]]
  C_4^3: [[1, 7, 5, 3], [2, 8, 6, 4]]
  C_2x: [[1, 2], [3, 8], [4, 7], [5, 6]]
  C_2y: [[1, 6], [2, 5], [3, 4], [7, 8]]
  C_2(1): [[1, 4], [2, 3], [5, 8], [6, 7]]
  C_2(2): [[1, 8], [2, 7], [3, 6], [4, 5]]
component_kinds:
  L: !Component
    binding_sites: [a, b]
  M: !Component
    binding_sites: [a, b]
  X: !Component
    binding_sites: [a]
components_and_their_kinds:
  M1: M
  M2: M
  M3: M
  M4: M
  L1: L
  L2: L
  L3: L
  L4: L
bonds_and_their_binding_sites:
  1: [M1.b, L1.a]
  2: [L1.b, M2.a]
  3: [M2.b, L2.a]
  4: [L2.b, M3.a]
  5: [M3.b, L3.a]
  6: [L3.b, M4.a]
  7: [M4.b, L4.a]
  8: [L4.b, M1.a]
capping_config:
  target_component_kind: M
  capping_component_kind: X
  capping_binding_site: a
Output File
output.yaml
0: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [M1.a, X0.a]
  comp_id_to_kind: {L1: L, M1: M, X0: X}
1: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [M1.a, X0.a]
  - [M2.b, X1.a]
  comp_id_to_kind: {L1: L, M1: M, M2: M, X0: X, X1: X}
2: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L4.b, M1.a]
  comp_id_to_kind: {L1: L, L4: L, M1: M}
3: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [M1.a, X0.a]
  comp_id_to_kind: {L1: L, L2: L, M1: M, M2: M, X0: X}
4: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [L2.b, M3.a]
  - [M1.a, X0.a]
  - [M3.b, X1.a]
  comp_id_to_kind: {L1: L, L2: L, M1: M, M2: M, M3: M, X0: X, X1: X}
5: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [L4.b, M1.a]
  comp_id_to_kind: {L1: L, L2: L, L4: L, M1: M, M2: M}
6: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [L2.b, M3.a]
  - [L3.a, M3.b]
  - [M1.a, X0.a]
  comp_id_to_kind: {L1: L, L2: L, L3: L, M1: M, M2: M, M3: M, X0: X}
7: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [L2.b, M3.a]
  - [L3.a, M3.b]
  - [L3.b, M4.a]
  - [M1.a, X0.a]
  - [M4.b, X1.a]
  comp_id_to_kind: {L1: L, L2: L, L3: L, M1: M, M2: M, M3: M, M4: M, X0: X, X1: X}
8: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [L2.b, M3.a]
  - [L3.a, M3.b]
  - [L4.b, M1.a]
  comp_id_to_kind: {L1: L, L2: L, L3: L, L4: L, M1: M, M2: M, M3: M}
9: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [L2.b, M3.a]
  - [L3.a, M3.b]
  - [L3.b, M4.a]
  - [L4.a, M4.b]
  - [M1.a, X0.a]
  comp_id_to_kind: {L1: L, L2: L, L3: L, L4: L, M1: M, M2: M, M3: M, M4: M, X0: X}
10: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [L2.b, M3.a]
  - [L3.a, M3.b]
  - [L3.b, M4.a]
  - [L4.a, M4.b]
  - [L4.b, M1.a]
  comp_id_to_kind: {L1: L, L2: L, L3: L, L4: L, M1: M, M2: M, M3: M, M4: M}

Note

See Input File and Output File for more details.