Skip to content

--wip-dir Option

The --wip-dir option (alias -w) is used to specify the directory to store intermediate files. This option is useful for debugging and determining the cause of errors during the assembly enumeration process.

Example

If you want to store intermediate files in a directory named wip, run the following command:

nasap_net enumerate-assemblies --wip-dir wip input.yaml output.yaml

After running the command, the directory structure will be as follows:

/
├── input.yaml
├── output.yaml
└── wip
    ├── resolved_sym_ops.yaml
    ├── wip1_bondsets.yaml
    ├── wip2_assemblies.yaml
    ├── wip3_unique_assemblies.yaml
    └── wip4_capped_assemblies.yaml

Files

resolved_sym_ops.yaml file

Contains resolved symmetry operations. All symmetry operations are represented as a mapping of the bond IDs. Use this file to check if the symmetry operations are resolved correctly.

resolved_sym_ops.yaml
C_2: {1: 5, 2: 6, 3: 7, 4: 8, 5: 1, 6: 2, 7: 3, 8: 4}
C_2(1): {1: 4, 2: 3, 3: 2, 4: 1, 5: 8, 6: 7, 7: 6, 8: 5}
C_2(2): {1: 8, 2: 7, 3: 6, 4: 5, 5: 4, 6: 3, 7: 2, 8: 1}
C_2x: {1: 2, 2: 1, 3: 8, 4: 7, 5: 6, 6: 5, 7: 4, 8: 3}
C_2y: {1: 6, 2: 5, 3: 4, 4: 3, 5: 2, 6: 1, 7: 8, 8: 7}
C_4: {1: 3, 2: 4, 3: 5, 4: 6, 5: 7, 6: 8, 7: 1, 8: 2}
C_4^3: {1: 7, 2: 8, 3: 1, 4: 2, 5: 3, 6: 4, 7: 5, 8: 6}
sym_ops field in the input file which is used to resolve the symmetry operations.

You can see all the symmetry operations in the sym_ops field of the input file (below) are resolved and represented as a mapping in the resolved_sym_ops.yaml file (above).

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]]


wip1_bondsets.yaml file

Contains fragments of the given assembly represented as lists of bond IDs.

wip1_bondsets.yaml
0: [1]
1: [1, 2]
2: [1, 8]
3: [1, 2, 3]
4: [1, 2, 3, 4]
5: [1, 2, 3, 8]
6: [1, 2, 3, 4, 5]
7: [1, 2, 3, 4, 5, 6]
8: [1, 2, 3, 4, 5, 8]
9: [1, 2, 3, 4, 5, 6, 7]
10: [1, 2, 3, 4, 5, 6, 7, 8]

wip2_assemblies.yaml file

Contains assembly objects converted from the bond sets.

wip2_assemblies.yaml
0: !Assembly
  bonds:
  - [L1.a, M1.b]
  comp_id_to_kind: {L1: L, M1: M}
1: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  comp_id_to_kind: {L1: L, M1: M, M2: M}
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]
  comp_id_to_kind: {L1: L, L2: L, M1: M, M2: M}
4: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [L2.b, M3.a]
  comp_id_to_kind: {L1: L, L2: L, M1: M, M2: M, M3: M}
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]
  comp_id_to_kind: {L1: L, L2: L, L3: L, M1: M, M2: M, M3: M}
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]
  comp_id_to_kind: {L1: L, L2: L, L3: L, M1: M, M2: M, M3: M, M4: M}
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]
  comp_id_to_kind: {L1: L, L2: L, L3: L, L4: L, M1: M, M2: M, M3: M, M4: M}
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}

wip3_unique_assemblies.yaml file

Contains unique assemblies.

wip3_unique_assemblies.yaml
0: !Assembly
  bonds:
  - [L1.a, M1.b]
  comp_id_to_kind: {L1: L, M1: M}
1: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  comp_id_to_kind: {L1: L, M1: M, M2: M}
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]
  comp_id_to_kind: {L1: L, L2: L, M1: M, M2: M}
4: !Assembly
  bonds:
  - [L1.a, M1.b]
  - [L1.b, M2.a]
  - [L2.a, M2.b]
  - [L2.b, M3.a]
  comp_id_to_kind: {L1: L, L2: L, M1: M, M2: M, M3: M}
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]
  comp_id_to_kind: {L1: L, L2: L, L3: L, M1: M, M2: M, M3: M}
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]
  comp_id_to_kind: {L1: L, L2: L, L3: L, M1: M, M2: M, M3: M, M4: M}
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]
  comp_id_to_kind: {L1: L, L2: L, L3: L, L4: L, M1: M, M2: M, M3: M, M4: M}
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}

wip4_capped_assemblies.yaml file

Contains capped assemblies.

wip4_capped_assemblies.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}