forked from sphereman/ChemBlender
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChem_Data.py
1143 lines (1091 loc) · 125 KB
/
Chem_Data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# ------------------------------------------------------------------------------------
# ---------- Elements Data Dictionary ----------
# key is the short name of elements in each value list
# in values ('H' to 'Og'):
# 1, "Hydrogen", "H", (1.0,1.0,1.0,1.0), 0.32, 0.32, 0.79, 1.20, -1, 1.54 means
# 0_No., 1_name, 2_short name, 3_color, 4_radius(used), 5_radius(covalent), 6_radius(atomic), 7_radius(van der Waals)
# charge state 1, radius(ionic) 1, charge state 2, radius(ionic) 2, ...
# 'Vac', 'Default', 'Bond' in last three lines
# This dictionary cannot be changed ...
ELEMENTS_DEFAULT = {
"Dummy": (-1, "Dummy", "Dummy", ( 1.0, 1.0, 1.0, 1.0), 1.00, 1.00, 1.00, 1.0, 0),
"H": ( 1, "Hydrogen", "H", ( 1.0, 1.0, 1.0, 1.0), 0.32, 0.32, 0.79, 1.20, 0, -1 , 1.54 ),
"He": ( 2, "Helium", "He", ( 0.85, 1.0, 1.0, 1.0), 0.93, 0.93, 0.49, 1.40, 0),
"Li": ( 3, "Lithium", "Li", ( 0.8, 0.50, 1.0, 1.0), 1.23, 1.23, 2.05, 1.82, 1, 1, 0.68 ),
"Be": ( 4, "Beryllium", "Be", ( 0.76, 1.0, 0.0, 1.0), 0.90, 0.90, 1.40, 1.53, 1, 0.44, 2, 0.35 ),
"B": ( 5, "Boron", "B", ( 1.0, 0.70, 0.70, 1.0), 0.82, 0.82, 1.17, 1.92, 1, 0.35, 3, 0.23 ),
"C": ( 6, "Carbon", "C", ( 0.12, 0.12, 0.12, 1.0), 0.77, 0.77, 0.91, 1.70, -4, 2.60, 4 , 0.16 ),
"N": ( 7, "Nitrogen", "N", ( 0.18, 0.31, 0.97, 1.0), 0.75, 0.75, 0.75, 1.55, -3, 1.71, 1 , 0.25 , 3 , 0.16 , 5 , 0.13 ),
"O": ( 8, "Oxygen", "O", ( 1.0, 0.05, 0.05, 1.0), 0.73, 0.73, 0.65, 1.52, -2, 1.32, -1 , 1.76 , 1 , 0.22 , 6 , 0.09 ),
"F": ( 9, "Fluorine", "F", ( 0.56, 0.87, 0.31, 1.0), 0.72, 0.72, 0.57, 1.47, -1, 1.33, 7 , 0.08 ),
"Ne": (10, "Neon", "Ne", ( 0.70, 0.89, 0.96, 1.0), 0.71, 0.71, 0.51, 1.54, 1, 1.12),
"Na": (11, "Sodium", "Na", ( 0.67, 0.36, 0.94, 1.0), 1.54, 1.54, 2.23, 2.27, 1, 0.97),
"Mg": (12, "Magnesium", "Mg", ( 0.54, 1.0, 0.0, 1.0), 1.36, 1.36, 1.72, 1.73, 1, 0.82, 2 , 0.66 ),
"Al": (13, "Aluminium", "Al", ( 0.74, 0.65, 0.65, 1.0), 1.18, 1.18, 1.82, 1.84, 3, 0.51),
"Si": (14, "Silicon", "Si", ( 0.94, 0.78, 0.62, 1.0), 1.11, 1.11, 1.46, 2.10, -4, 2.71, -1 , 3.84 , 1 , 0.65 , 4 , 0.42 ),
"P": (15, "Phosphorus", "P", ( 1.0, 0.50, 0.0, 1.0), 1.06, 1.06, 1.23, 1.80, -3, 2.12, 3 , 0.44 , 5 , 0.35 ),
"S": (16, "Sulfur", "S", ( 1.0, 1.0, 0.18, 1.0), 1.02, 1.02, 1.09, 1.80, -2, 1.84, 2 , 2.19 , 4 , 0.37 , 6 , 0.30 ),
"Cl": (17, "Chlorine", "Cl", ( 0.12, 0.94, 0.12, 1.0), 0.99, 0.99, 0.97, 1.75, -1, 1.81, 5 , 0.34 , 7 , 0.27 ),
"Ar": (18, "Argon", "Ar", ( 0.50, 0.81, 0.89, 1.0), 0.98, 0.98, 0.88, 1.88, 1, 1.54),
"K": (19, "Potassium", "K", ( 0.56, 0.25, 0.83, 1.0), 2.03, 2.03, 2.77, 2.75, 1, 0.81),
"Ca": (20, "Calcium", "Ca", ( 0.23, 1.0, 0.0, 1.0), 1.74, 1.74, 2.23, 2.31, 1, 1.18, 2 , 0.99 ),
"Sc": (21, "Scandium", "Sc", ( 0.90, 0.90, 0.90, 1.0), 1.44, 1.44, 2.09, 2.11, 3, 0.73),
"Ti": (22, "Titanium", "Ti", ( 0.74, 0.76, 0.78, 1.0), 1.32, 1.32, 2.00, 2.5, 1, 0.96, 2 , 0.94 , 3 , 0.76 , 4 , 0.68 ),
"V": (23, "Vanadium", "V", ( 0.65, 0.65, 0.67, 1.0), 1.22, 1.22, 1.92, 2.5, 2, 0.88, 3 , 0.74 , 4 , 0.63 , 5 , 0.59 ),
"Cr": (24, "Chromium", "Cr", ( 0.54, 0.6, 0.78, 1.0), 1.18, 1.18, 1.85, 2.5, 1, 0.81, 2 , 0.89 , 3 , 0.63 , 6 , 0.52 ),
"Mn": (25, "Manganese", "Mn", ( 0.61, 0.47, 0.78, 1.0), 1.17, 1.17, 1.79, 2.5, 2, 0.80, 3 , 0.66 , 4 , 0.60 , 7 , 0.46 ),
"Fe": (26, "Iron", "Fe", ( 0.87, 0.4, 0.2, 1.0), 1.17, 1.17, 1.72, 2.5, 2, 0.74, 3 , 0.64 ),
"Co": (27, "Cobalt", "Co", ( 0.94, 0.56, 0.62, 1.0), 1.16, 1.16, 1.67, 2.5, 2, 0.72, 3 , 0.63 ),
"Ni": (28, "Nickel", "Ni", ( 0.31, 0.81, 0.31, 1.0), 1.15, 1.15, 1.62, 1.63, 2, 0.69),
"Cu": (29, "Copper", "Cu", ( 0.78, 0.50, 0.2, 1.0), 1.17, 1.17, 1.57, 1.40, 1, 0.96, 2 , 0.72 ),
"Zn": (30, "Zinc", "Zn", ( 0.49, 0.50, 0.69, 1.0), 1.25, 1.25, 1.53, 1.39, 1, 0.88, 2 , 0.74 ),
"Ga": (31, "Gallium", "Ga", ( 0.76, 0.56, 0.56, 1.0), 1.26, 1.26, 1.81, 1.87, 1, 0.81, 3 , 0.62 ),
"Ge": (32, "Germanium", "Ge", ( 0.4, 0.56, 0.56, 1.0), 1.22, 1.22, 1.52, 2.11, -4 , 2.72 , 2 , 0.73 , 4 , 0.53 ),
"As": (33, "Arsenic", "As", ( 0.74, 0.50, 0.89, 1.0), 1.20, 1.20, 1.33, 1.85, -3 , 2.22 , 3 , 0.58 , 5 , 0.46 ),
"Se": (34, "Selenium", "Se", ( 1.0, 0.63, 0.0, 1.0), 1.16, 1.16, 1.22, 1.90, -2 , 1.91 , -1 , 2.32 , 1 , 0.66 , 4 , 0.50 , 6 , 0.42 ),
"Br": (35, "Bromine", "Br", ( 0.65, 0.16, 0.16, 1.0), 1.14, 1.14, 1.12, 1.85, -1 , 1.96 , 5 , 0.47 , 7 , 0.39 ),
"Kr": (36, "Krypton", "Kr", ( 0.36, 0.72, 0.81, 1.0), 1.31, 1.31, 1.24, 2.02, 0),
"Rb": (37, "Rubidium", "Rb", ( 0.43, 0.18, 0.69, 1.0), 2.16, 2.16, 2.98, 3.03, 1, 1.47 ),
"Sr": (38, "Strontium", "Sr", ( 0.0, 1.0, 0.0, 1.0), 1.91, 1.91, 2.45, 2.49, 2, 1.12 ),
"Y": (39, "Yttrium", "Y", ( 0.58, 1.0, 1.0, 1.0), 1.62, 1.62, 2.27, [], 3, 0.89 ),
"Zr": (40, "Zirconium", "Zr", ( 0.58, 0.87, 0.87, 1.0), 1.45, 1.45, 2.16, [], 1, 1.09, 4, 0.79 ),
"Nb": (41, "Niobium", "Nb", ( 0.45, 0.76, 0.78, 1.0), 1.34, 1.34, 2.08, [], 1, 1.00, 4, 0.74 , 5 , 0.69 ),
"Mo": (42, "Molybdenum", "Mo", ( 0.32, 0.70, 0.70, 1.0), 1.30, 1.30, 2.01, [], 1, 0.93, 4, 0.70 , 6 , 0.62 ),
"Tc": (43, "Technetium", "Tc", ( 0.23, 0.61, 0.61, 1.0), 1.27, 1.27, 1.95, [], 7, 0.97),
"Ru": (44, "Ruthenium", "Ru", ( 0.14, 0.56, 0.56, 1.0), 1.25, 1.25, 1.89, [], 4, 0.67),
"Rh": (45, "Rhodium", "Rh", ( 0.03, 0.49, 0.54, 1.0), 1.25, 1.25, 1.83, [], 3, 0.68),
"Pd": (46, "Palladium", "Pd", ( 0.0, 0.41, 0.52, 1.0), 1.28, 1.28, 1.79, 1.63, 2, 0.80, 4, 0.65 ),
"Ag": (47, "Silver", "Ag", ( 0.75, 0.75, 0.75, 1.0), 1.34, 1.34, 1.75, 1.72, 1, 1.26, 2, 0.89 ),
"Cd": (48, "Cadmium", "Cd", ( 1.0, 0.85, 0.56, 1.0), 1.48, 1.48, 1.71, 1.58, 1, 1.14 , 2, 0.97 ),
"In": (49, "Indium", "In", ( 0.65, 0.45, 0.45, 1.0), 1.44, 1.44, 2.00, 1.93, 3, 0.81 ),
"Sn": (50, "Tin", "Sn", ( 0.4, 0.50, 0.50, 1.0), 1.41, 1.41, 1.72, 2.17, -4, 2.94 , -1 , 3.70 , 2 , 0.93 , 4 , 0.71 ),
"Sb": (51, "Antimony", "Sb", ( 0.61, 0.38, 0.70, 1.0), 1.40, 1.40, 1.53, 2.06, -3, 2.45 , 3 , 0.76 , 5 , 0.62 ),
"Te": (52, "Tellurium", "Te", ( 0.83, 0.47, 0.0, 1.0), 1.36, 1.36, 1.42, 2.06, -2, 2.11 , -1 , 2.50 , 1 , 0.82 , 4 , 0.70 , 6 , 0.56 ),
"I": (53, "Iodine", "I", ( 0.58, 0.0, 0.58, 1.0), 1.33, 1.33, 1.32, 1.98, -1, 2.20 , 5 , 0.62 , 7 , 0.50 ),
"Xe": (54, "Xenon", "Xe", ( 0.25, 0.61, 0.69, 1.0), 1.31, 1.31, 1.24, 2.16, 0),
"Cs": (55, "Caesium", "Cs", ( 0.34, 0.09, 0.56, 1.0), 2.35, 2.35, 3.35, 3.43, 1, 1.67 ),
"Ba": (56, "Barium", "Ba", ( 0.0, 0.78, 0.0, 1.0), 1.98, 1.98, 2.78, 2.68, 1, 1.53 , 2 , 1.34 ),
"La": (57, "Lanthanum", "La", ( 0.43, 0.83, 1.0, 1.0), 1.69, 1.69, 2.74, [], 1, 1.39 , 3 , 1.06 ),
"Ce": (58, "Cerium", "Ce", ( 1.0, 1.0, 0.78, 1.0), 1.65, 1.65, 2.70, [], 1, 1.27 , 3 , 1.03 , 4 , 0.92 ),
"Pr": (59, "Praseodymium", "Pr", ( 0.85, 1.0, 0.78, 1.0), 1.65, 1.65, 2.67, [], 3, 1.01 , 4 , 0.90 ),
"Nd": (60, "Neodymium", "Nd", ( 0.78, 1.0, 0.78, 1.0), 1.64, 1.64, 2.64, [], 3, 0.99 ),
"Pm": (61, "Promethium", "Pm", ( 0.63, 1.0, 0.78, 1.0), 1.63, 1.63, 2.62, [], 3, 0.97 ),
"Sm": (62, "Samarium", "Sm", ( 0.56, 1.0, 0.78, 1.0), 1.62, 1.62, 2.59, [], 3, 0.96 ),
"Eu": (63, "Europium", "Eu", ( 0.38, 1.0, 0.78, 1.0), 1.85, 1.85, 2.56, [], 2, 1.09 , 3 , 0.95 ),
"Gd": (64, "Gadolinium", "Gd", ( 0.27, 1.0, 0.78, 1.0), 1.61, 1.61, 2.54, [], 3, 0.93 ),
"Tb": (65, "Terbium", "Tb", ( 0.18, 1.0, 0.78, 1.0), 1.59, 1.59, 2.51, [], 3, 0.92 , 4 , 0.84 ),
"Dy": (66, "Dysprosium", "Dy", ( 0.12, 1.0, 0.78, 1.0), 1.59, 1.59, 2.49, [], 3, 0.90 ),
"Ho": (67, "Holmium", "Ho", ( 0.0, 1.0, 0.61, 1.0), 1.58, 1.58, 2.47, [], 3, 0.89 ),
"Er": (68, "Erbium", "Er", ( 0.0, 0.90, 0.45, 1.0), 1.57, 1.57, 2.45, [], 3, 0.88 ),
"Tm": (69, "Thulium", "Tm", ( 0.0, 0.83, 0.32, 1.0), 1.56, 1.56, 2.42, [], 3, 0.87 ),
"Yb": (70, "Ytterbium", "Yb", ( 0.0, 0.74, 0.21, 1.0), 1.74, 1.74, 2.40, [], 2, 0.93 , 3 , 0.85 ),
"Lu": (71, "Lutetium", "Lu", ( 0.0, 0.67, 0.14, 1.0), 1.56, 1.56, 2.25, [], 3, 0.85 ),
"Hf": (72, "Hafnium", "Hf", ( 0.30, 0.76, 1.0, 1.0), 1.44, 1.44, 2.16, [], 4, 0.78 ),
"Ta": (73, "Tantalum", "Ta", ( 0.30, 0.65, 1.0, 1.0), 1.34, 1.34, 2.09, [], 5, 0.68 ),
"W": (74, "Tungsten", "W", ( 0.12, 0.58, 0.83, 1.0), 1.30, 1.30, 2.02, [], 4, 0.70 , 6 , 0.62 ),
"Re": (75, "Rhenium", "Re", ( 0.14, 0.49, 0.67, 1.0), 1.28, 1.28, 1.97, [], 4, 0.72 , 7 , 0.56 ),
"Os": (76, "Osmium", "Os", ( 0.14, 0.4, 0.58, 1.0), 1.26, 1.26, 1.92, [], 4, 0.88 , 6 , 0.69 ),
"Ir": (77, "Iridium", "Ir", ( 0.09, 0.32, 0.52, 1.0), 1.27, 1.27, 1.87, [], 4, 0.68 ),
"Pt": (78, "Platinum", "Pt", ( 0.81, 0.81, 0.87, 1.0), 1.30, 1.30, 1.83, 1.75, 2, 0.80 , 4 , 0.65 ),
"Au": (79, "Gold", "Au", ( 1.0, 0.81, 0.13, 1.0), 1.34, 1.34, 1.79, 1.66, 1, 1.37 , 3 , 0.85 ),
"Hg": (80, "Mercury", "Hg", ( 0.72, 0.72, 0.81, 1.0), 1.49, 1.49, 1.76, 1.55, 1, 1.27 , 2 , 1.10 ),
"Tl": (81, "Thallium", "Tl", ( 0.65, 0.32, 0.30, 1.0), 1.48, 1.48, 2.08, 1.96, 1, 1.47 , 3 , 0.95 ),
"Pb": (82, "Lead", "Pb", ( 0.34, 0.34, 0.38, 1.0), 1.47, 1.47, 1.81, 2.02, 2, 1.20 , 4 , 0.84 ),
"Bi": (83, "Bismuth", "Bi", ( 0.61, 0.30, 0.70, 1.0), 1.46, 1.46, 1.63, 2.07, 1, 0.98 , 3 , 0.96 , 5 , 0.74 ),
"Po": (84, "Polonium", "Po", ( 0.67, 0.36, 0.0, 1.0), 1.46, 1.46, 1.53, 1.97, 6, 0.67 ),
"At": (85, "Astatine", "At", ( 0.45, 0.30, 0.27, 1.0), 1.45, 1.45, 1.43, 2.02, -3, 2.22 , 3 , 0.85 , 5 , 0.46 ),
"Rn": (86, "Radon", "Rn", ( 0.25, 0.50, 0.58, 1.0), 1.00, 1.00, 1.34, 2.20, 0),
"Fr": (87, "Francium", "Fr", ( 0.25, 0.0, 0.4, 1.0), 1.00, 1.00, 1.00, 3.48, 1, 1.80 ),
"Ra": (88, "Radium", "Ra", ( 0.0, 0.49, 0.0, 1.0), 1.00, 1.00, 1.00, 2.83, 2, 1.43 ),
"Ac": (89, "Actinium", "Ac", ( 0.43, 0.67, 0.98, 1.0), 1.00, 1.00, 1.00, [], 3, 1.18 ),
"Th": (90, "Thorium", "Th", ( 0.0, 0.72, 1.0, 1.0), 1.65, 1.65, 1.00, [], 4, 1.02 ),
"Pa": (91, "Protactinium", "Pa", ( 0.0, 0.63, 1.0, 1.0), 1.00, 1.00, 1.00, [], 3, 1.13 , 4 , 0.98 , 5 , 0.89 ),
"U": (92, "Uranium", "U", ( 0.0, 0.56, 1.0, 1.0), 1.42, 1.42, 1.00, 1.86, 4, 0.97 , 6 , 0.80 ),
"Np": (93, "Neptunium", "Np", ( 0.0, 0.50, 1.0, 1.0), 1.00, 1.00, 1.00, [], 3, 1.10 , 4 , 0.95 , 7 , 0.71 ),
"Pu": (94, "Plutonium", "Pu", ( 0.0, 0.41, 1.0, 1.0), 1.00, 1.00, 1.00, [], 3, 1.08 , 4 , 0.93 ),
"Am": (95, "Americium", "Am", ( 0.32, 0.36, 0.94, 1.0), 1.00, 1.00, 1.00, [], 3, 1.07 , 4 , 0.92 ),
"Cm": (96, "Curium", "Cm", ( 0.47, 0.36, 0.89, 1.0), 1.00, 1.00, 1.00, [], 0),
"Bk": (97, "Berkelium", "Bk", ( 0.54, 0.30, 0.89, 1.0), 1.00, 1.00, 1.00, [], 0),
"Cf": (98, "Californium", "Cf", ( 0.63, 0.21, 0.83, 1.0), 1.00, 1.00, 1.00, [], 0),
"Es": (99, "Einsteinium", "Es", ( 0.70, 0.12, 0.83, 1.0), 1.00, 1.00, 1.00, [], 0),
"Fm": (100, "Fermium", "Fm", ( 0.70, 0.12, 0.72, 1.0), 1.00, 1.00, 1.00, [], 0),
"Md": (101, "Mendelevium", "Md", ( 0.70, 0.05, 0.65, 1.0), 1.00, 1.00, 1.00, [], 0),
"No": (102, "Nobelium", "No", ( 0.74, 0.05, 0.52, 1.0), 1.00, 1.00, 1.00, [], 0),
"Lr": (103, "Lawrencium", "Lr", ( 0.78, 0.0, 0.4, 1.0), 1.00, 1.00, 1.00, [], 0),
"Rf": (104, "Rutherfordium", "Rf", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Db": (105, "Dubnium", "Db", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Sg": (106, "Seaborgium", "Sg", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Bh": (107, "Bohrium", "Bh", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Hs": (108, "Hassium", "Hs", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Mt": (109, "Roentgenuim", "Mt", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Ds": (110, "Darmstadtium", "Ds", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Rg": (111, "Roentgenium", "Rg", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Cn": (112, "Copernicum", "Cn", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Nh": (113, "Nihonium", "Nh", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Fl": (114, "Flerovium", "Fl", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Mc": (115, "Moscovium", "Mc", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Lv": (116, "Livermorium", "Lv", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Ts": (117, "Tennessine", "Ts", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Og": (118, "Oganesson", "Og", ( 1.00, 1.00, 1.00, 1.0), 1.00, 1.00, 1.00, [], 0),
"Vac": (119, "Vacancy", "Vac", ( 0.5, 0.5, 0.5, 0.5), 1.00, 1.00, 1.00, [], 0),
"Default": (120, "Default", "Default", ( 1.0, 1.0, 1.0, 1.0), 1.00, 1.00, 1.00, 1.0, 0),
"Bond": (121, "Bond", "Bond", ( 0.5, 0.5, 0.5, 1.0), 0.1, 0.03, 1.00, [], 0),
}
# ------------------------------------------------------------------------------------
# ---------- Bonds Data Dictionary ----------
# key is the short name of two "connected" atoms: "A,B", in which atomic no.A <= atomic no.B.
# in values:
# 1, "covalent", 0.740, 1.088, 432 means
# bond order, bond style, minimum bond length, maximum bond length, average bond energy at 273 K
# minimum value and maximum value of the bond length are collected from websites or published papers.
# bond length unit: Å; bond energy unit: kJ/mol
# Refs:
# J.E.Huheey, E.A.Keiter, and R.L.Keiter, Inorganic Chemistry, 4th ed. (1993).
# https://sites.google.com/site/chempendix/bond-lengths
# https://www.ibchem.com/IB16/Section04-energetics/data/Hbde_data.htm
# http://www.csb.yale.edu/userguides/datamanip/uppsala/manuals.20020128/typical_bonds.html
# https://cccbdb.nist.gov/calcbondcomp1x.asp
BONDS_DEFAULT = {
"H,H": (1, "covalent", 0.740, 1.088, 432),
"H,Li": (1, "metal", 1.542, 2.041),
"H,Be": (1, "metal", 1.360, 1.451),
"H,B": (1, "covalent", 1.190, 1.254, 389),
"H,C": (1, "covalent", 1.056, 1.147, 414),
"H,N": (1, "covalent", 1.010, 1.100, 389),
"H,O": (1, "covalent", 0.970, 1.051, 464),
"H,F": (1, "covalent", 0.911, 1.231, 565),
'H,Na': (1, "metal", 1.338, 2.417),
'H,Mg': (1, "metal", 1.469, 1.650),
'H,Al': (1, "metal", 1.473, 1.790),
"H,Si": (1, "covalent", 1.480, 1.520, 323),
"H,P": (1, "covalent", 1.420, 1.440, 322),
"H,S": (1, "covalent", 1.320, 1.350, 363),
"H,Cl": (1, "covalent", 1.270, 1.275, 431),
'H,K': (1, "metal", 2.243, 3.500),
'H,Ca': (1, "metal", 1.906, 2.097),
'H,Zn': (1, "metal", 1.595, 1.595),
"H,Ge": (1, "metal", 1.530, 1.588, 288),
"H,As": (1, "covalent", 1.480, 1.535, 247),
"H,Se": (1, "covalent", 1.460, 1.498, 251),
"H,Br": (1, "covalent", 1.410, 1.675, 364),
"H,Sn": (1, "metal", 1.700, 1.700, 251),
"H,Te": (1, "covalent", 1.656, 1.700, 238),
"H,I": (1, "covalent", 1.609, 1.677, 297),
'Li,Li': (1, "metal", 2.673, 2.983,),
'Li,Be': (1, "metal", 2.524, 2.939,),
'Li,B': (1, "metal", 2.016, 2.139,),
'Li,C': (1, "metal", 1.898, 2.358,),
'Li,N': (1, "metal", 1.710, 1.927,),
'Li,O': (1, "metal", 1.634, 1.959,),
'Li,F': (1, "metal", 1.564, 1.564,),
'Li,Na': (1, "metal", 2.720, 3.289,),
'Li,Mg': (1, "metal", 3.104, 3.368,),
'Li,Al': (1, "metal", 2.391, 2.927,),
'Li,P': (1, "metal", 1.988, 2.362,),
'Li,S': (1, "metal", 2.150, 2.150,),
'Li,Cl': (1, "metal", 1.996, 2.530,),
'Li,K': (1, "metal", 3.409, 3.666,),
'Li,Se': (1, "metal", 2.273, 2.528,),
'Li,Br': (1, "metal", 2.035, 2.682,),
'Li,I': (1, "metal", 2.191, 2.528,),
'Be,Be': (1, "metal", 1.921, 3.010,),
"Be,C": (1, "metal", 1.930, 1.930),
"Be,N": (1, "metal", 1.421, 1.593),
"Be,O": (1, "metal", 1.331, 1.647),
"Be,F": (1, "metal", 1.361, 1.490),
"Be,Na": (1, "metal", 2.874, 3.394),
"Be,Mg": (1, "metal", 1.927, 3.379),
"Be,S": (1, "metal", 1.742, 1.832),
"Be,Cl": (1, "metal", 1.751, 1.862),
"Be,Br": (1, "metal", 1.814, 1.968),
'B,B': (1, "covalent", 1.568, 1.767),
"B,C": (1, "covalent", 1.346, 1.565, 356),
"B,N": (1, "covalent", 1.325, 1.689),
"B,O": (1, "covalent", 1.205, 1.460),
"B,F": (1, "covalent", 1.250, 1.362),
"B,Al": (1, "metal", 1.664, 2.085),
"B,Si": (1, "covalent", 1.760, 1.975),
"B,P": (1, "covalent", 1.504, 1.844),
"B,S": (1, "covalent", 1.477, 1.627),
"B,Cl": (1, "covalent", 1.668, 1.769),
"B,Br": (1, "covalent", 1.780, 1.919),
"C,C": (1, "covalent", 1.243, 1.628, 347),
"C,,C": (2, "covalent", 1.340, 1.340, 611),
"C,,,C": (3, "covalent", 1.200, 1.200, 837),
"C,N": (1, "covalent", 1.160, 1.495, 305),
"C,,N": (2, "covalent", 1.280, 1.290, 615),
"C,,,N": (3, "covalent", 1.160, 1.160, 891),
"C,O": (1, "covalent", 1.128, 1.497, 360),
"C,,O": (2, "covalent", 1.200, 1.200, 799),
"C,,,O": (3, "covalent", 1.130, 1.130, 1072),
"C,F": (1, "covalent", 1.276, 1.830, 485),
"C,Mg": (1, "metal", 1.873, 2.100),
"C,Al": (1, "metal", 1.751, 2.240),
"C,Si": (1, "covalent", 1.698, 1.880, 318),
"C,P": (1, "covalent", 1.562, 1.870, 264),
"C,S": (1, "covalent", 1.535, 1.820, 272),
"C,,S": (2, "covalent", 1.600, 1.600, 573),
"C,Cl": (1, "covalent", 1.640, 1.780, 327),
"C,K": (1, "metal", 2.741, 3.202),
"C,Ca": (1, "metal", 2.010, 2.551),
"C,Cr": (1, "metla", 1.920, 1.920),
"C,Fe": (1, "metal", 1.840, 1.840),
"C,Co": (1, "metal", 1.830, 1.830),
"C,Ni": (1, "metal", 1.820, 1.820),
"C,Ge": (1, "metal", 1.726, 1.980, 238),
"C,As": (1, "covalent", 1.956, 2.002),
"C,Se": (1, "covalent", 1.676, 1.970),
"C,Br": (1, "covalent", 1.790, 1.940, 285),
"C,Mo": (1, "metal", 2.080, 2.080),
"C,Pd": (1, "metal", 2.270, 2.270),
"C,In": (1, "metal", 2.160, 2.160),
"C,Sn": (1, "metal", 2.160, 2.160, 192),
"C,Sb": (1, "metal", 2.200, 2.200),
"C,Te": (1, "covalent", 2.050, 2.050),
"C,I": (1, "covalent", 1.982, 2.150, 213),
"C,W": (1, "metal", 2.060, 2.060),
"C,Hg": (1, "metal", 2.070, 2.070),
"C,Pb": (1, "metal", 2.290, 2.290),
"C,Bi": (1, "metal", 2.300, 2.300),
"N,N": (1, "covalent", 1.450, 1.476, 167),
"N,,N": (2, "covalent", 1.230, 1.250, 418),
"N,,,N": (3, "covalent", 1.100, 1.100, 944),
"N,O": (1, "covalent", 1.360, 1.406, 201),
"N,,O": (2, "covalent", 1.140, 1.210, 607),
"N,F": (1, "covalent", 1.327, 1.389, 283),
"N,Mg": (1, "metal", 2.010, 3.600,),
"N,Al": (1, "metal", 1.563, 1.873),
"N,Si": (1, "covalent", 1.664, 1.748, 355),
"N,P": (1, "covalent", 1.455, 1.639),
"N,S": (1, "covalent", 1.527, 1.655),
"N,Cl": (1, "covalent", 1.656, 1.768, 313),
"N,K": (1, "metal", 2.793, 3.197),
"N,Zn": (1, "metal", 1.819, 2.469),
"N,Ga": (1, "metal", 1.635, 1.876),
"N,As": (1, "covalent", 1.370, 1.606),
"N,Se": (1, "covalent", 1.615, 1.664),
"N,Fe": (1, "metal", 1.940, 2.284),
"N,Br": (1, "covalent", 1.820, 2.009, 243),
"N,I": (1, "covalent", 1.904, 2.231, 159),
"O,O": (1, "covalent", 1.242, 1.505, 142),
"O,,O": (1, "covalent", 1.210, 1.210, 498),
"O,F": (1, "covalent", 1.361, 1.526, 190),
'O,Na': (1, "metal", 1.827, 2.083,),
'O,Mg': (1, "metal", 1.769, 2.300,),
'O,Al': (1, "metal", 1.635, 2.100,),
"O,Si": (1, "covalent", 1.309, 1.660, 452),
"O,P": (1, "covalent", 1.456, 1.630, 335),
"O,,P": (2, "covalent", 1.476, 1.500, 544),
"O,S": (1, "covalent", 1.428, 1.580, 265),
"O,Cl": (1, "covalent", 1.490, 1.647, 203),
'O,K': (1, "metal", 2.189, 2.703,),
'O,Ca': (1, "metal", 1.822, 2.480,),
'O,Sc': (1, "metal", 1.668, 2.420),
'O,Ti': (1, "metal", 1.850, 2.099),
'O,V': (1, "metal", 1.589, 2.040),
'O,Cu': (1, "metal", 2.158, 2.210),
'O,Ga': (1, "metal", 1.621, 1.807),
'O,Ge': (1, "metal", 1.553, 1.665),
"O,As": (1, "covalent", 1.607, 1.780, 301),
"O,Se": (1, "covalent", 1.579, 1.662),
"O,Br": (1, "covalent", 1.718, 1.974, 201),
'O,Zr': (1, "metal", 1.771, 2.260),
'O,Te': (1, "metal", 1.825, 2.550),
"O,I": (1, "covalent", 1.830, 1.868, 234),
'O,Tb': (1, "metal", 2.200, 2.490),
"F,F": (1, "covalent", 1.412, 1.661, 159),
"F,Na": (1, "metal", 1.926, 2.181),
"F,Al": (1, "metal", 1.575, 1.687),
"F,Mg": (1, "metal", 1.732, 2.087),
"F,Si": (1, "covalent", 1.552, 1.609, 565),
"F,P": (1, "covalent", 1.548, 1.604),
"F,S": (1, "covalent", 1.560, 1.627, 327),
"F,Cl": (1, "covalent", 1.571, 1.697, 253),
"F,K": (1, "metal", 1.895, 2.350),
"F,Ca": (1, "metal", 1.952, 2.500),
"F,Sc": (1, "metal", 1.788, 2.020),
"F,Cu": (1, "metal", 1.745, 2.100),
"F,Ga": (1, "metal", 1.713, 1.774),
"F,Ge": (1, "metal", 1.684, 1.745),
"F,As": (1, "covalent", 1.665, 1.736, 484),
"F,Se": (1, "covalent", 1.682, 1.743),
"F,Br": (1, "covalent", 1.703, 1.891, 237),
"F,Sb": (1, "metal", 1.863, 2.100, 440),
"F,I": (1, "covalent", 1.878, 2.000, 278),
"F,Xe": (1, "covalent", 1.900, 2.035),
"Ne,Ne": (1, "covalent", 2.207, 4.067),
"Na,Na": (1, "metal", 2.994, 3.586),
"Na,Mg": (1, "metal", 3.323, 5.262),
"Na,Al": (1, "metal", 2.590, 3.202),
"Na,S": (1, "metal", 1.678, 2.629),
"Na,Cl": (1, "metal", 2.390, 3.167),
"Na,K": (1, "metal", 3.413, 4.322),
"Na,Br": (1, "metal", 2.420, 2.799),
"Na,I": (1, "metal", 2.638, 2.757),
"Mg,Mg": (1, "metal", 2.846, 3.685),
"Mg,S": (1, "metal", 2.015, 2.839),
"Mg,Cl": (1, "metal", 2.199, 2.366),
"Mg,Br": (1, "metal", 2.122, 2.393),
"Al,Al": (1, "metal", 2.414, 2.790),
"Al,P": (1, "metal", 1.745, 2.400),
"Al,S": (1, "metal", 1.785, 2.056),
"Al,Cl": (1, "metal", 2.092, 2.215),
"Al,Ga": (1, "metal", 1.766, 2.888),
"Al,Br": (1, "metal", 2.264, 2.412),
"Al,I": (1, "metal", 2.456, 2.670),
"Si,Si": (1, "covalent", 1.950, 2.352, 226),
"Si,P": (1, "covalent", 1.629, 2.138),
"Si,S": (1, "covalent", 1.795, 2.000),
"Si,Cl": (1, "covalent", 2.008, 2.076, 381),
"Si,Se": (1, "covalent", 1.934, 2.077),
"Si,Br": (1, "covalent", 1.828, 2.235, 310),
"Si,I": (1, "covalent", 2.430, 2.430, 234),
"P,P": (1, "covalent", 1.657, 2.210, 201),
"P,S": (1, "covalent", 1.760, 1.960),
"P,,S": (2, "covalent", 1.860, 1.860, 335),
"P,Cl": (1, "covalent", 1.841, 2.084, 326),
"P,Ga": (1, "metal", 1.822, 2.450),
"P,As": (1, "covalent", 1.766, 2.018),
"P,Se": (1, "covalent", 1.857, 2.133),
"P,Br": (1, "covalent", 2.095, 2.238),
"P,I": (1, "covalent", 2.252, 2.563, 184),
"S,S": (1, "covalent", 1.889, 2.110, 266),
"S,,S": (2, "covalent", 1.890, 1.890, 418),
"S,Cl": (1, "covalent", 1.975, 2.095, 253),
"S,Ca": (1, "metal", 1.822, 2.596),
"S,Zn": (1, "metal", 2.174, 2.469),
"S,Ga": (1, "metal", 1.728, 2.127),
"S,Ge": (1, "metal", 1.906, 2.051),
"S,As": (1, "covalent", 1.952, 2.109),
"S,Se": (1, "covalent", 1.896, 2.096),
"S,Br": (1, "covalent", 2.052, 2.207, 218),
"S,Mo": (1, "metal", 2.085, 2.434),
"Cl,Cl": (1, "covalent", 1.932, 2.255, 243),
"Cl,K": (1, "metal", 2.667, 2.831),
"Cl,Ca": (1, "metal", 2.437, 2.655),
"Cl,Ti": (1, "metal", 2.170, 2.780),
"Cl,Cu": (1, "metal", 2.051, 2.603),
"Cl,Ga": (1, "metal", 2.078, 2.202),
"Cl,Ge": (1, "metal", 2.065, 2.193),
"Cl,As": (1, "covalent", 2.146, 2.238, 322),
"Cl,Se": (1, "covalent", 2.151, 2.236),
"Cl,Br": (1, "covalent", 2.064, 2.431, 218),
"Cl,Cs": (1, "metal", 3.510, 3.590),
"Cl,Cd": (1, "metal", 2.602, 3.430),
"Cl,Sb": (1, "metal", 2.320, 2.335, 315),
"Cl,I": (1, "covalent", 2.192, 2.391, 208),
"Cl,Y": (1, "metal", 2.585, 2.690),
"K,K": (1, "metal", 2.808, 4.163),
"K,Br": (1, "metal", 2.821, 2.996),
"K,I": (1, "metal", 3.048, 3.048),
"Ca,Ca": (1, "metal", 3.396, 3.766),
"Ca,Br": (1, "metal", 2.579, 2.801),
"Cu,Cu": (1, "metal", 2.220, 2.440),
"Ga,Ga": (1, "metal", 1.733, 2.758),
"Ga,As": (1, "metal", 1.757, 2.623),
"Ga,Br": (1, "metal", 2.352, 2.433),
"Ge,Ge": (1, "metal", 2.190, 2.623),
"Ge,Se": (1, "metal", 2.105, 2.255),
"As,As": (1, "covalent", 2.103, 2.497, 146),
"As,Se": (1, "covalent", 2.085, 2.201),
"As,Br": (1, "covalent", 2.330, 2.330, 458),
"As,I": (1, "covalent", 2.540, 2.540, 200),
"Se,Se": (1, "covalent", 2.151, 2.320),
"Se,Br": (1, "covalent", 2.197, 2.336),
"Br,Br": (1, "covalent", 2.213, 2.576, 193),
"Br,I": (1, "covalent", 2.484, 2.568, 175),
"Cd,I": (1, "matal", 2.711, 2.989),
"Sb,Sb": (1, "metal", 3.020, 3.350, 121),
"Te,Te": (1, "covalent", 2.557, 2.680),
"I,I": (1, "covalent", 2.517, 2.734, 151),
"I,Bi": (1, "metal", 2.929, 3.271),
'Vac': (1, "covalent", 0.000, 0.000),
'Default': (1, "", 2.500, 2.500)
}
metals = ['Li','Be','Na','Mg','Al','K','Ca','Sc','Ti','V','Cr','Mn','Fe','Co','Ni','Cu',
'Zn','Ga','Ge','Rb','Sr','Y','Zr','Nb','Mo','Tc','Ru','Rh','Pd','Ag','Cd','In',
'Sn','Sb','Cs','Ba','La','Ce','Pr','Nd','Pm','Sm','Eu','Gd','Tb','Dy','Ho','Er',
'Tm','Yb','Lu','Hf','Ta','W','Re','Os','Ir','Pt','Au','Hg','Tl','Pb','Bi','Po',
'Fr','Ra','Ac','Th','Pa','U','Np','Pu','Am','Cm','Bk','Cf','Es','Fm','Md','No',
'Lr','Rf','Db','Sg','Bh','Hs','Mt','Rg','Cn','Nh','Fl','Mc','Lv']
# ------------------------------------------------------------------------------------
# ---------- Functional Groups Dictionary ----------
# store elements name and bonds connection information of the functional group
FUNCTIONAL_GROUPS = {
"Benzyl": {"Atoms":['C','C','C','C','C','C'],
"Bonds":[(0,1),(1,2),(2,3),(3,4),(4,5),(5,0)],
"Bond_Orders":[2,1,2,1,2,1]},
"Carboxyl": {"Atoms":['C','O','O'], "Bonds":[(0,1),(0,2)], "Bond_Orders":[2,1]},
"Hexatomic Ring": {"Atoms":['C','C','C','C','C','C'],
"Bonds":[(0,1),(1,2),(2,3),(3,4),(4,5),(5,0)],
"Bond_Orders":[1,1,1,1,1,1]},
}
# ------------------------------------------------------------------------------------
# ---------- Hermann-Mauguin Symbol Dictionary ----------
# key is Hall Symbol
# Crystal System, Symmetry Matrics are from DIAMOND software
SPACEGROUP_DEFAULTS = {
"P1": ( 1, "P 1", "triclinic", ['x,y,z',]),
"P-1": ( 2, "P -1", "triclinic", ['x,y,z', '-x,-y,-z']),
"P121": ( 3, "P 1 2 1", "monoclinic", ['x,y,z', '-x,y,-z']),
"P1211": ( 4, "P 1 21 1", "monoclinic", ['x,y,z', '-x,1/2+y,-z']),
"C121": ( 5, "C 1 2 1", "monoclinic", ['x,y,z', '-x,y,-z']),
"P1m1": ( 6, "P 1 m 1", "monoclinic", ['x,y,z', 'x,-y,z']),
"P1c1": ( 7, "P 1 c 1", "monoclinic", ['x,y,z', 'x,-y,1/2+z']),
"C1m1": ( 8, "C 1 m 1", "monoclinic", ['x,y,z', 'x,-y,z']),
"C1c1": ( 9, "C 1 c 1", "monoclinic", ['x,y,z', 'x,-y,1/2+z']),
"P12/m1": (10, "P 1 2/m 1", "monoclinic", ['x,y,z', '-x,y,-z', '-x,-y,-z', 'x,-y,z']),
"P121/m1": (11, "P 1 21/m 1", "monoclinic", ['x,y,z', '-x,1/2+y,-z', '-x,-y,-z', 'x,1/2-y,z']),
"C12/m1": (12, "C 1 2/m 1", "monoclinic", ['x,y,z', '-x,y,-z', '-x,-y,-z', 'x,-y,z']),
"P12/c1": (13, "P 1 2/c 1", "monoclinic", ['x,y,z', '-x,y,1/2-z', '-x,-y,-z', 'x,-y,1/2+z']),
"P121/c1": (14, "P 1 21/c 1", "monoclinic", ['x,y,z', '-x,1/2+y,1/2-z', '-x,-y,-z', 'x,1/2-y,1/2+z']),
"C12/c1": (15, "C 1 2/c 1", "monoclinic", ['x,y,z', '-x,y,1/2-z', '-x,-y,-z', 'x,-y,1/2+z']),
"P222": (16, "P 2 2 2", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,-z', '-x,y,-z']),
"P2221": (17, "P 2 2 21", "orthorhombic", ['x,y,z', '-x,-y,1/2+z', 'x,-y,-z', '-x,y,1/2-z']),
"P21212": (18, "P 21 21 2", "orthorhombic", ['x,y,z', '-x,-y,z', '1/2+x,1/2-y,-z', '1/2-x,1/2+y,-z']),
"P212121": (19, "P 21 21 21", "orthorhombic", ['x,y,z', '1/2-x,-y,1/2+z', '1/2+x,1/2-y,-z', '-x,1/2+y,1/2-z']),
"C2221": (20, "C 2 2 21", "orthorhombic", ['x,y,z', '-x,-y,1/2+z', 'x,-y,-z', '-x,y,1/2-z']),
"C222": (21, "C 2 2 2", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,-z', '-x,y,-z']),
"F222": (22, "F 2 2 2", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,-z', '-x,y,-z']),
"I222": (23, "I 2 2 2", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,-z', '-x,y,-z']),
"I212121": (24, "I 21 21 21", "orthorhombic", ['x,y,z', '-x,1/2-y,z', 'x,-y,1/2-z', '1/2-x,y,-z']),
"Pmm2": (25, "P m m 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,y,z', 'x,-y,z']),
"Pmc21": (26, "P m c 21", "orthorhombic", ['x,y,z', '-x,-y,1/2+z', '-x,y,z', 'x,-y,1/2+z']),
"Pcc2": (27, "P c c 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,y,1/2+z', 'x,-y,1/2+z']),
"Pma2": (28, "P m a 2", "orthorhombic", ['x,y,z', '-x,-y,z', '1/2-x,y,z', '1/2+x,-y,z']),
"Pca21": (29, "P c a 21", "orthorhombic", ['x,y,z', '-x,-y,1/2+z', '1/2-x,y,1/2+z', '1/2+x,-y,z']),
"Pnc2": (30, "P n c 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,1/2+y,1/2+z', 'x,1/2-y,1/2+z']),
"Pmn21": (31, "P m n 21", "orthorhombic", ['x,y,z', '1/2-x,-y,1/2+z', '-x,y,z', '1/2+x,-y,1/2+z']),
"Pba2": (32, "P b a 2", "orthorhombic", ['x,y,z', '-x,-y,z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z']),
"Pna21": (33, "P n a 21", "orthorhombic", ['x,y,z', '-x,-y,1/2+z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,z']),
"Pnn2": (34, "P n n 2", "orthorhombic", ['x,y,z', '-x,-y,z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z']),
"Cmm2": (35, "C m m 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,y,z', 'x,-y,z']),
"Cmc21": (36, "C m c 21", "orthorhombic", ['x,y,z', '-x,-y,1/2+z', '-x,y,z', 'x,-y,1/2+z']),
"Ccc2": (37, "C c c 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,y,1/2+z', 'x,-y,1/2+z']),
"Amm2": (38, "A m m 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,y,z', 'x,-y,z']),
"Abm2": (39, "A b m 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,y,1/2+z', 'x,-y,1/2+z']),
"Ama2": (40, "A m a 2", "orthorhombic", ['x,y,z', '-x,-y,z', '1/2-x,y,z', '1/2+x,-y,z']),
"Aba2": (41, "A b a 2", "orthorhombic", ['x,y,z', '-x,-y,z', '1/2-x,y,1/2+z', '1/2+x,-y,1/2+z']),
"Fmm2": (42, "F m m 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,y,z', 'x,-y,z']),
"Fdd2": (43, "F d d 2", "orthorhombic", ['x,y,z', '-x,-y,z', '1/4-x,1/4+y,1/4+z', '1/4+x,1/4-y,1/4+z']),
"Imm2": (44, "I m m 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,y,z', 'x,-y,z']),
"Iba2": (45, "I b a 2", "orthorhombic", ['x,y,z', '-x,-y,z', '-x,y,1/2+z', 'x,-y,1/2+z']),
"Ima2": (46, "I m a 2", "orthorhombic", ['x,y,z', '-x,-y,z', '1/2-x,y,z', '1/2+x,-y,z']),
"Pmmm": (47, "P m m m", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,-z', '-x,y,-z', '-x,-y,-z', 'x,y,-z', '-x,y,z', 'x,-y,z']),
"Pnnn": (48, "P n n n", "orthorhombic", ['x,y,z', '1/2-x,1/2-y,1/2-z', '-x,-y,z', 'x,-y,-z', '-x,y,-z', '1/2+x,1/2+y,1/2-z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z']),
"Pccm": (49, "P c c m", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,1/2-z', '-x,y,1/2-z', '-x,-y,-z', 'x,y,-z', '-x,y,1/2+z', 'x,-y,1/2+z']),
"Pban": (50, "P b a n", "orthorhombic", ['x,y,z', '1/2-x,1/2-y,z', '-x,-y,z', 'x,-y,-z', '-x,y,-z', '1/2+x,1/2+y,-z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z']),
"Pmma": (51, "P m m a", "orthorhombic", ['x,y,z', '1/2-x,-y,z', '1/2+x,-y,-z', '-x,y,-z', '-x,-y,-z', '1/2+x,y,-z', '1/2-x,y,z', 'x,-y,z']),
"Pnna": (52, "P n n a", "orthorhombic", ['x,y,z', '1/2-x,-y,z', 'x,1/2-y,1/2-z', '1/2-x,1/2+y,1/2-z', '-x,-y,-z', '1/2+x,y,-z', '-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z']),
"Pmna": (53, "P m n a", "orthorhombic", ['x,y,z', '1/2-x,-y,1/2+z', 'x,-y,-z', '1/2-x,y,1/2-z', '-x,-y,-z', '1/2+x,y,1/2-z', '-x,y,z', '1/2+x,-y,1/2+z']),
"Pcca": (54, "P c c a", "orthorhombic", ['x,y,z', '1/2-x,-y,z', '1/2+x,-y,1/2-z', '-x,y,1/2-z', '-x,-y,-z', '1/2+x,y,-z', '1/2-x,y,1/2+z', 'x,-y,1/2+z']),
"Pbam": (55, "P b a m", "orthorhombic", ['x,y,z', '-x,-y,z', '1/2+x,1/2-y,-z', '1/2-x,1/2+y,-z', '-x,-y,-z', 'x,y,-z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z']),
"Pccn": (56, "P c c n", "orthorhombic", ['x,y,z', '1/2-x,1/2-y,z', '1/2+x,-y,1/2-z', '-x,1/2+y,1/2-z', '-x,-y,-z', '1/2+x,1/2+y,-z', '1/2-x,y,1/2+z', 'x,1/2-y,1/2+z']),
"Pbcm": (57, "P b c m", "orthorhombic", ['x,y,z', '-x,-y,1/2+z', 'x,1/2-y,-z', '-x,1/2+y,1/2-z', '-x,-y,-z', 'x,y,1/2-z', '-x,1/2+y,z', 'x,1/2-y,1/2+z']),
"Pnnm": (58, "P n n m", "orthorhombic", ['x,y,z', '-x,-y,z', '1/2+x,1/2-y,1/2-z', '1/2-x,1/2+y,1/2-z', '-x,-y,-z', 'x,y,-z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z']),
"Pmmn": (59, "P m m n", "orthorhombic", ['x,y,z', '1/2-x,1/2-y,-z', '-x,-y,z', '1/2+x,1/2-y,-z', '1/2-x,1/2+y,-z', '1/2+x,1/2+y,-z', '-x,y,z', 'x,-y,z']),
"Pbcn": (60, "P b c n", "orthorhombic", ['x,y,z', '1/2-x,1/2-y,1/2+z', '1/2+x,1/2-y,-z', '-x,y,1/2-z', '-x,-y,-z', '1/2+x,1/2+y,1/2-z', '1/2-x,1/2+y,z', 'x,-y,1/2+z']),
"Pbca": (61, "P b c a", "orthorhombic", ['x,y,z', '1/2-x,-y,1/2+z', '1/2+x,1/2-y,-z', '-x,1/2+y,1/2-z', '-x,-y,-z', '1/2+x,y,1/2-z', '1/2-x,1/2+y,z', 'x,1/2-y,1/2+z']),
"Pnma": (62, "P n m a", "orthorhombic", ['x,y,z', 'x,y,1/2-z', '-x,-y,1/2+z', '1/2+x,1/2-y,1/2+z', '1/2-x,1/2+y,1/2-z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,-z', '-x,-y,-z']),
"Cmcm": (63, "C m c m", "orthorhombic", ['x,y,z', '-x,-y,1/2+z', 'x,-y,-z', '-x,y,1/2-z', '-x,-y,-z', 'x,y,1/2-z', '-x,y,z', 'x,-y,1/2+z']),
"Cmca": (64, "C m c a", "orthorhombic", ['x,y,z', '-x,1/2-y,1/2+z', 'x,-y,-z', '-x,1/2+y,1/2-z', '-x,-y,-z', 'x,1/2+y,1/2-z', '-x,y,z', 'x,1/2-y,1/2+z']),
"Cmmm": (65, "C m m m", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,-z', '-x,y,-z', '-x,-y,-z', 'x,y,-z', '-x,y,z', 'x,-y,z']),
"Cccm": (66, "C c c m", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,1/2-z', '-x,y,1/2-z', '-x,-y,-z', 'x,y,-z', '-x,y,1/2+z', 'x,-y,1/2+z']),
"Cmma": (67, "C m m a", "orthorhombic", ['x,y,z', '-x,1/2-y,z', 'x,-y,-z', '-x,1/2+y,-z', '-x,-y,-z', 'x,1/2+y,-z', '-x,y,z', 'x,1/2-y,z']),
"Ccca": (68, "C c c a", "orthorhombic", ['x,y,z', '-x,1/2-y,1/2-z', '-x,-y,z', 'x,-y,-z', '-x,y,-z', 'x,1/2+y,1/2-z', '-x,1/2+y,1/2+z', 'x,1/2-y,1/2+z']),
"Fmmm": (69, "F m m m", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,-z', '-x,y,-z', '-x,-y,-z', 'x,y,-z', '-x,y,z', 'x,-y,z']),
"Fddd": (70, "F d d d", "orthorhombic", ['x,y,z', '1/4-x,1/4-y,1/4-z', '-x,-y,z', 'x,-y,-z', '-x,y,-z', '1/4+x,1/4+y,1/4-z', '1/4-x,1/4+y,1/4+z', '1/4+x,1/4-y,1/4+z']),
"Immm": (71, "I m m m", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,-z', '-x,y,-z', '-x,-y,-z', 'x,y,-z', '-x,y,z', 'x,-y,z']),
"Ibam": (72, "I b a m", "orthorhombic", ['x,y,z', '-x,-y,z', 'x,-y,1/2-z', '-x,y,1/2-z', '-x,-y,-z', 'x,y,-z', '-x,y,1/2+z', 'x,-y,1/2+z']),
"Ibca": (73, "I b c a", "orthorhombic", ['x,y,z', '-x,1/2-y,z', 'x,-y,1/2-z', '1/2-x,y,-z', '-x,-y,-z', 'x,1/2+y,-z', '-x,y,1/2+z', '1/2+x,-y,z']),
"Imma": (74, "I m m a", "orthorhombic", ['x,y,z', '-x,1/2-y,z', 'x,-y,-z', '-x,1/2+y,-z', '-x,-y,-z', 'x,1/2+y,-z', '-x,y,z', 'x,1/2-y,z']),
"P4": (75, "P 4", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z']),
"P41": (76, "P 41", "tetragonal", ['x,y,z', '-y,x,1/4+z', '-x,-y,1/2+z', 'y,-x,3/4+z']),
"P42": (77, "P 42", "tetragonal", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z']),
"P43": (78, "P 43", "tetragonal", ['x,y,z', '-y,x,3/4+z', '-x,-y,1/2+z', 'y,-x,1/4+z']),
"I4": (79, "I 4", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z']),
"I41": (80, "I 41", "tetragonal", ['x,y,z', '-y,1/2+x,1/4+z', '-x,-y,z', 'y,1/2-x,1/4+z']),
"P-4": (81, "P -4", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z']),
"I-4": (82, "I -4", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z']),
"P4/m": (83, "P 4/m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z']),
"P42/m": (84, "P 42/m", "tetragonal", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z', '-x,-y,-z', 'y,-x,1/2-z', 'x,y,-z', '-y,x,1/2-z']),
"P4/n": (85, "P 4/n", "tetragonal", ['x,y,z', '1/2-x,1/2-y,-z', '1/2-y,1/2+x,z', '-x,-y,z', '1/2+y,1/2-x,z', 'y,-x,-z', '-y,x,-z', '1/2+x,1/2+y,-z']),
"P42/n": (86, "P 42/n", "tetragonal", ['x,y,z', '1/2-x,1/2-y,1/2-z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', 'y,-x,-z', '-y,x,-z', '1/2+x,1/2+y,1/2-z']),
"I4/m": (87, "I 4/m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z']),
"I41/a": (88, "I 41/a", "tetragonal", ['x,y,z', '-x,1/2-y,1/4-z', '-y,1/2+x,1/4+z', '-x,-y,z', 'y,1/2-x,1/4+z', 'y,-x,-z', '-y,x,-z', 'x,1/2+y,1/4-z']),
"P422": (89, "P 4 2 2", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-y,-z', '-x,y,-z', 'y,x,-z', '-y,-x,-z']),
"P4212": (90, "P 4 21 2", "tetragonal", ['x,y,z', '1/2-y,1/2+x,z', '-x,-y,z', '1/2+y,1/2-x,z', '1/2+x,1/2-y,-z', '1/2-x,1/2+y,-z', 'y,x,-z', '-y,-x,-z']),
"P4122": (91, "P 41 2 2", "tetragonal", ['x,y,z', '-y,x,1/4+z', '-x,-y,1/2+z', 'y,-x,3/4+z', 'x,-y,1/2-z', '-x,y,-z', 'y,x,3/4-z', '-y,-x,1/4-z']),
"P41212": (92, "P 41 21 2", "tetragonal", ['x,y,z', '1/2-y,1/2+x,1/4+z', '-x,-y,1/2+z', '1/2+y,1/2-x,3/4+z', '1/2+x,1/2-y,3/4-z', '1/2-x,1/2+y,1/4-z', 'y,x,-z', '-y,-x,1/2-z']),
"P4222": (93, "P 42 2 2", "tetragonal", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z', 'x,-y,-z', '-x,y,-z', 'y,x,1/2-z', '-y,-x,1/2-z']),
"P42212": (94, "P 42 21 2", "tetragonal", ['x,y,z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', '1/2+x,1/2-y,1/2-z', '1/2-x,1/2+y,1/2-z', 'y,x,-z', '-y,-x,-z']),
"P4322": (95, "P 43 2 2", "tetragonal", ['x,y,z', '-y,x,3/4+z', '-x,-y,1/2+z', 'y,-x,1/4+z', 'x,-y,1/2-z', '-x,y,-z', 'y,x,1/4-z', '-y,-x,3/4-z']),
"P43212": (96, "P 43 21 2", "tetragonal", ['x,y,z', '1/2-y,1/2+x,3/4+z', '-x,-y,1/2+z', '1/2+y,1/2-x,1/4+z', '1/2+x,1/2-y,1/4-z', '1/2-x,1/2+y,3/4-z', 'y,x,-z', '-y,-x,1/2-z']),
"I422": (97, "I 4 2 2", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-y,-z', '-x,y,-z', 'y,x,-z', '-y,-x,-z']),
"I4122": (98, "I 41 2 2", "tetragonal", ['x,y,z', '-y,1/2+x,1/4+z', '-x,-y,z', 'y,1/2-x,1/4+z', 'x,1/2-y,1/4-z', '-x,1/2+y,1/4-z', 'y,x,-z', '-y,-x,-z']),
"P4mm": (99, "P 4 m m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '-x,y,z', 'x,-y,z', '-y,-x,z', 'y,x,z']),
"P4bm": (100, "P 4 b m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z', '1/2-y,1/2-x,z', '1/2+y,1/2+x,z']),
"P42cm": (101, "P 42 c m", "tetragonal", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z', '-x,y,1/2+z', 'x,-y,1/2+z', '-y,-x,z', 'y,x,z']),
"P42nm": (102, "P 42 n m", "tetragonal", ['x,y,z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z', '-y,-x,z', 'y,x,z']),
"P4cc": (103, "P 4 c c", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '-x,y,1/2+z', 'x,-y,1/2+z', '-y,-x,1/2+z', 'y,x,1/2+z']),
"P4nc": (104, "P 4 n c", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z']),
"P42mc": (105, "P 42 m c", "tetragonal", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z', '-x,y,z', 'x,-y,z', '-y,-x,1/2+z', 'y,x,1/2+z']),
"P42bc": (106, "P 42 b c", "tetragonal", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z']),
"I4mm": (107, "I 4 m m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '-x,y,z', 'x,-y,z', '-y,-x,z', 'y,x,z']),
"I4cm": (108, "I 4 c m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '-x,y,1/2+z', 'x,-y,1/2+z', '-y,-x,1/2+z', 'y,x,1/2+z']),
"I41md": (109, "I 41 m d", "tetragonal", ['x,y,z', '-y,1/2+x,1/4+z', '-x,-y,z', 'y,1/2-x,1/4+z', '-x,y,z', 'x,-y,z', '-y,1/2-x,1/4+z', 'y,1/2+x,1/4+z']),
"I41cd": (110, "I 41 c d", "tetragonal", ['x,y,z', '-y,1/2+x,1/4+z', '-x,-y,z', 'y,1/2-x,1/4+z', '-x,y,1/2+z', 'x,-y,1/2+z', '1/2-y,-x,1/4+z', '1/2+y,x,1/4+z']),
"P42m": (111, "P 4 2 m", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', 'x,-y,-z', '-x,y,-z', '-y,-x,z', 'y,x,z']),
"P-42c": (112, "P -4 2 c", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', 'x,-y,1/2-z', '-x,y,1/2-z', '-y,-x,1/2+z', 'y,x,1/2+z']),
"P-421m": (113, "P -4 21 m", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', '1/2+x,1/2-y,-z', '1/2-x,1/2+y,-z', '1/2-y,1/2-x,z', '1/2+y,1/2+x,z']),
"P-421c": (114, "P -4 21 c", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', '1/2+x,1/2-y,1/2-z', '1/2-x,1/2+y,1/2-z', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z']),
"P-4m2": (115, "P -4 m 2", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', 'y,x,-z', '-y,-x,-z', '-x,y,z', 'x,-y,z']),
"P-4c2": (116, "P -4 c 2", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', 'y,x,1/2-z', '-y,-x,1/2-z', '-x,y,1/2+z', 'x,-y,1/2+z']),
"P-4b2": (117, "P -4 b 2", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', '1/2+y,1/2+x,-z', '1/2-y,1/2-x,-z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z']),
"P-4n2": (118, "P -4 n 2", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', '1/2+y,1/2+x,1/2-z', '1/2-y,1/2-x,1/2-z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z']),
"I-4m2": (119, "I -4 m 2", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', 'y,x,-z', '-y,-x,-z', '-x,y,z', 'x,-y,z']),
"I-4c2": (120, "I -4 c 2", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', 'y,x,1/2-z', '-y,-x,1/2-z', '-x,y,1/2+z', 'x,-y,1/2+z']),
"I-42m": (121, "I -4 2 m", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', 'x,-y,-z', '-x,y,-z', '-y,-x,z', 'y,x,z']),
"I-42d": (122, "I -4 2 d", "tetragonal", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', 'x,1/2-y,1/4-z', '-x,1/2+y,1/4-z', '-y,1/2-x,1/4+z', 'y,1/2+x,1/4+z', '1/2+x,1/2+y,1/2+z', '1/2-x,1/2-y,1/2+z', '1/2+y,1/2-x,1/2-z', '1/2-y,1/2+x,1/2-z', '1/2+x,-y,3/4-z', '1/2-x,y,3/4-z','1/2+y,x,3/4+z', '1/2-y,-x,3/4+z']),
"P4/mmm": (123, "P 4/m m m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-y,-z', '-x,y,-z', 'y,x,-z', '-y,-x,-z', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z', '-x,y,z', 'x,-y,z', '-y,-x,z', 'y,x,z']),
"P4/mcc": (124, "P 4/m c c", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-y,1/2-z', '-x,y,1/2-z', 'y,x,1/2-z', '-y,-x,1/2-z', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z', '-x,y,1/2+z', 'x,-y,1/2+z', '-y,-x,1/2+z', 'y,x,1/2+z']),
"P4/nbm": (125, "P 4/n b m", "tetragonal", ['x,y,z', '1/2-x,1/2-y,-z', '-y,x,z', '-x,-y,z', 'y,-x,z', '1/2+y,1/2-x,-z', '1/2-y,1/2+x,-z', 'x,-y,-z', '-x,y,-z', 'y,x,-z', '-y,-x,-z', '1/2+x,1/2+y,-z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z', '1/2-y,1/2-x,z', '1/2+y,1/2+x,z']),
"P4/nnc": (126, "P 4/n n c", "tetragonal", ['x,y,z', '1/2-x,1/2-y,1/2-z', '-y,x,z', '-x,-y,z', 'y,-x,z', '1/2+y,1/2-x,1/2-z', '1/2-y,1/2+x,1/2-z', 'x,-y,-z', '-x,y,-z', 'y,x,-z', '-y,-x,-z', '1/2+x,1/2+y,1/2-z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z']),
"P4/mbm": (127, "P 4/m b m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '1/2+x,1/2-y,-z', '1/2-x,1/2+y,-z', '1/2+y,1/2+x,-z', '1/2-y,1/2-x,-z', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z', '1/2-y,1/2-x,z', '1/2+y,1/2+x,z']),
"P4/mnc": (128, "P 4/m n c", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', '1/2+x,1/2-y,1/2-z', '1/2-x,1/2+y,1/2-z', '1/2+y,1/2+x,1/2-z', '1/2-y,1/2-x,1/2-z', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z']),
"P4/nmm": (129, "P 4/n m m", "tetragonal", ['x,y,z', '1/2-x,1/2-y,-z', '1/2-y,1/2+x,z', '-x,-y,z', '1/2+y,1/2-x,z', 'y,-x,-z', '-y,x,-z', '1/2+x,1/2-y,-z', '1/2-x,1/2+y,-z', 'y,x,-z', '-y,-x,-z', '1/2+x,1/2+y,-z', '-x,y,z', 'x,-y,z', '1/2-y,1/2-x,z', '1/2+y,1/2+x,z']),
"P4/ncc": (130, "P 4/n c c", "tetragonal", ['x,y,z', '1/2-x,1/2-y,-z', '1/2-y,1/2+x,z', '-x,-y,z', '1/2+y,1/2-x,z', 'y,-x,-z', '-y,x,-z', '1/2+x,1/2-y,1/2-z', '1/2-x,1/2+y,1/2-z', 'y,x,1/2-z', '-y,-x,1/2-z', '1/2+x,1/2+y,-z', '-x,y,1/2+z', 'x,-y,1/2+z', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z']),
"P42/mmc": (131, "P 42/m m c", "tetragonal", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z', 'x,-y,-z', '-x,y,-z', 'y,x,1/2-z', '-y,-x,1/2-z', '-x,-y,-z', 'y,-x,1/2-z', 'x,y,-z', '-y,x,1/2-z', '-x,y,z', 'x,-y,z', '-y,-x,1/2+z', 'y,x,1/2+z']),
"P42/mcm": (132, "P 42/m c m", "tetragonal", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z', 'x,-y,1/2-z', '-x,y,1/2-z', 'y,x,-z', '-y,-x,-z', '-x,-y,-z', 'y,-x,1/2-z', 'x,y,-z', '-y,x,1/2-z', '-x,y,1/2+z', 'x,-y,1/2+z', '-y,-x,z', 'y,x,z']),
"P42/nbc": (133, "P 42/n b c", "tetragonal", ['x,y,z', '1/2-x,1/2-y,1/2-z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', 'y,-x,-z', '-y,x,-z', 'x,-y,1/2-z', '-x,y,1/2-z', '1/2+y,1/2+x,-z', '1/2-y,1/2-x,-z', '1/2+x,1/2+y,1/2-z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z', '-y,-x,1/2+z', 'y,x,1/2+z']),
"P42/nnm": (134, "P 42/m n m", "tetragonal", ['x,y,z', '1/2-x,1/2-y,1/2-z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', 'y,-x,-z', '-y,x,-z', 'x,-y,-z', '-x,y,-z', '1/2+y,1/2+x,1/2-z', '1/2-y,1/2-x,1/2-z', '1/2+x,1/2+y,1/2-z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z', '-y,-x,z', 'y,x,z']),
"P42/mbc": (135, "P 42/m b c", "tetragonal", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z', '1/2+x,1/2-y,-z', '1/2-x,1/2+y,-z', '1/2+y,1/2+x,1/2-z', '1/2-y,1/2-x,1/2-z', '-x,-y,-z', 'y,-x,1/2-z', 'x,y,-z', '-y,x,1/2-z', '1/2-x,1/2+y,z', '1/2+x,1/2-y,z', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z']),
"P42/mnm": (136, "P 42/n n m", "tetragonal", ['x,y,z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', '1/2+x,1/2-y,1/2-z', '1/2-x,1/2+y,1/2-z', 'y,x,-z', '-y,-x,-z', '-x,-y,-z', '1/2+y,1/2-x,1/2-z', 'x,y,-z', '1/2-y,1/2+x,1/2-z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z', '-y,-x,z', 'y,x,z']),
"P42/nmc": (137, "P 42/n m c", "tetragonal", ['x,y,z', '1/2-x,1/2-y,1/2-z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', 'y,-x,-z', '-y,x,-z', '1/2+x,1/2-y,1/2-z', '1/2-x,1/2+y,1/2-z', 'y,x,-z', '-y,-x,-z', '1/2+x,1/2+y,1/2-z', '-x,y,z', 'x,-y,z', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z']),
"P42/ncm": (138, "P 42/n c m", "tetragonal", ['x,y,z', '1/2-x,1/2-y,1/2-z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', 'y,-x,-z', '-y,x,-z', '1/2+x,1/2-y,-z', '1/2-x,1/2+y,-z', 'y,x,1/2-z', '-y,-x,1/2-z', '1/2+x,1/2+y,1/2-z', '-x,y,1/2+z', 'x,-y,1/2+z', '1/2-y,1/2-x,z', '1/2+y,1/2+x,z']),
"I4/mmm": (139, "I 4/m m m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-y,-z', '-x,y,-z', 'y,x,-z', '-y,-x,-z', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z', '-x,y,z', 'x,-y,z', '-y,-x,z', 'y,x,z']),
"I4/mcm": (140, "I 4/m c m", "tetragonal", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-y,1/2-z', '-x,y,1/2-z', 'y,x,1/2-z', '-y,-x,1/2-z', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z', '-x,y,1/2+z', 'x,-y,1/2+z', '-y,-x,1/2+z', 'y,x,1/2+z']),
"I41/amd": (141, "I 41/a m d", "tetragonal", ['x,y,z', '-x+1/2,-y+1/2,z+1/2', '-y,x+1/2,z+1/4', 'y+1/2,-x,z+3/4', '-x+1/2,y,-z+3/4', 'x,-y+1/2,-z+1/4', 'y+1/2,x+1/2,-z+1/2', '-y,-x,-z', '-x,-y+1/2,-z+1/4', 'x+1/2,y,-z+3/4', 'y,-x,-z', '-y+1/2,x+1/2,-z+1/2', 'x+1/2,-y+1/2,z+1/2', '-x,y,z', '-y+1/2,-x,z+3/4', 'y,x+1/2,z+1/4', 'x+1/2,y+1/2,z+1/2', '-x,-y,z', '-y+1/2,x,z+3/4', 'y,-x+1/2,z+1/4', '-x,y+1/2,-z+1/4', 'x+1/2,-y,-z+3/4', 'y,x,-z', '-y+1/2,-x+1/2,-z+1/2', '-x+1/2,-y,-z+3/4', 'x,y+1/2,-z+1/4', 'y+1/2,-x+1/2,-z+1/2', '-y,x,-z', 'x,-y,z', '-x+1/2,y+1/2,z+1/2', '-y,-x+1/2,z+1/4', 'y+1/2,x,z+3/4']),
"I41/acd": (142, "I 41/a c d", "tetragonal", ['x,y,z', '-x,1/2-y,1/4-z', '-y,1/2+x,1/4+z', '-x,-y,z', 'y,1/2-x,1/4+z', 'y,-x,-z', '-y,x,-z', '1/2+x,-y,1/4-z', '1/2-x,y,1/4-z', 'y,x,1/2-z', '-y,-x,1/2-z', 'x,1/2+y,1/4-z', '-x,y,1/2+z', 'x,-y,1/2+z', '1/2-y,-x,1/4+z', '1/2+y,x,1/4+z']),
"P3": (143, "P 3", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z']),
"P31": (144, "P 31", "trigonal", ['x,y,z', '-y,x-y,1/3+z', '-x+y,-x,2/3+z']),
"P32": (145, "P 32", "trigonal", ['x,y,z', '-y,x-y,2/3+z', '-x+y,-x,1/3+z']),
"R3": (146, "R 3", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z']),
"P-3": (147, "P -3", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', '-x,-y,-z', 'y,-x+y,-z', 'x-y,x,-z']),
"R-3": (148, "R -3", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', '-x,-y,-z', 'y,-x+y,-z', 'x-y,x,-z']),
"P312": (149, "P 3 1 2", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', '-y,-x,-z', '-x+y,y,-z', 'x,x-y,-z']),
"P321": (150, "P 3 2 1", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', 'x-y,-y,-z', '-x,-x+y,-z', 'y,x,-z']),
"P3112": (151, "P 31 1 2", "trigonal", ['x,y,z', '-y,x-y,1/3+z', '-x+y,-x,2/3+z', '-y,-x,2/3-z', '-x+y,y,1/3-z', 'x,x-y,-z']),
"P3121": (152, "P 31 2 1", "trigonal", ['x,y,z', '-y,x-y,1/3+z', '-x+y,-x,2/3+z', 'x-y,-y,2/3-z', '-x,-x+y,1/3-z', 'y,x,-z']),
"P3212": (153, "P 32 1 2", "trigonal", ['x,y,z', '-y,x-y,2/3+z', '-x+y,-x,1/3+z', '-y,-x,1/3-z', '-x+y,y,2/3-z', 'x,x-y,-z']),
"P3221": (154, "P 32 2 1", "trigonal", ['x,y,z', '-y,x-y,2/3+z', '-x+y,-x,1/3+z', 'x-y,-y,1/3-z', '-x,-x+y,2/3-z', 'y,x,-z']),
"R32": (155, "R 32", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', 'x-y,-y,-z', '-x,-x+y,-z', 'y,x,-z']),
"P3m1": (156, "P 3 m 1", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', '-x+y,y,z', 'x,x-y,z', '-y,-x,z']),
"P31m": (157, "P 3 1 m", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', 'y,x,z', 'x-y,-y,z', '-x,-x+y,z']),
"P3c1": (158, "P 3 c 1", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', '-x+y,y,1/2+z', 'x,x-y,1/2+z', '-y,-x,1/2+z']),
"P31c": (159, "P 3 1 c", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', 'y,x,1/2+z', 'x-y,-y,1/2+z', '-x,-x+y,1/2+z']),
"R3m": (160, "R 3 m", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', '-x+y,y,z', 'x,x-y,z', '-y,-x,z']),
"R3c": (161, "R 3 c", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', '-x+y,y,1/2+z', 'x,x-y,1/2+z', '-y,-x,1/2+z']),
"P-31m": (162, "P -3 1 m", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', '-y,-x,-z', '-x+y,y,-z', 'x,x-y,-z', '-x,-y,-z', 'y,-x+y,-z', 'x-y,x,-z', 'y,x,z', 'x-y,-y,z', '-x,-x+y,z']),
"P-31c": (163, "P -3 1 c", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', '-y,-x,1/2-z', '-x+y,y,1/2-z', 'x,x-y,1/2-z', '-x,-y,-z', 'y,-x+y,-z', 'x-y,x,-z', 'y,x,1/2+z', 'x-y,-y,1/2+z', '-x,-x+y,1/2+z']),
"P-3m1": (164, "P -3 m 1", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', 'x-y,-y,-z', '-x,-x+y,-z', 'y,x,-z', '-x,-y,-z', 'y,-x+y,-z', 'x-y,x,-z', '-x+y,y,z', 'x,x-y,z', '-y,-x,z']),
"P-3c1": (165, "P -3 c 1", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', 'x-y,-y,1/2-z', '-x,-x+y,1/2-z', 'y,x,1/2-z', '-x,-y,-z', 'y,-x+y,-z', 'x-y,x,-z', '-x+y,y,1/2+z', 'x,x-y,1/2+z', '-y,-x,1/2+z']),
"R-3m": (166, "R -3 m", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', 'y,x,-z', 'x-y,-y,-z', '-x,-x+y,-z', '-x,-y,-z', 'y,-x+y,-z', 'x-y,x,-z', '-y,-x,z', '-x+y,y,z', 'x,x-y,z', 'x+2/3,y+1/3,z+1/3', '-y+2/3,x-y+1/3,z+1/3', '-x+y+2/3,-x+1/3,z+1/3', 'y+2/3,x+1/3,-z+1/3', 'x-y+2/3,-y+1/3,-z+1/3', '-x+2/3,-x+y+1/3,-z+1/3', '-x+2/3,-y+1/3,-z+1/3', 'y+2/3,-x+y+1/3,-z+1/3', 'x-y+2/3,x+1/3,-z+1/3', '-y+2/3,-x+1/3,z+1/3', '-x+y+2/3,y+1/3,z+1/3', 'x+2/3,x-y+1/3,z+1/3', 'x+1/3,y+2/3,z+2/3', '-y+1/3,x-y+2/3,z+2/3', '-x+y+1/3,-x+2/3,z+2/3', 'y+1/3,x+2/3,-z+2/3', 'x-y+1/3,-y+2/3,-z+2/3', '-x+1/3,-x+y+2/3,-z+2/3', '-x+1/3,-y+2/3,-z+2/3', 'y+1/3,-x+y+2/3,-z+2/3', 'x-y+1/3,x+2/3,-z+2/3', '-y+1/3,-x+2/3,z+2/3', '-x+y+1/3,y+2/3,z+2/3', 'x+1/3,x-y+2/3,z+2/3']),
"R-3c": (167, "R -3 c", "trigonal", ['x,y,z', '-y,x-y,z', '-x+y,-x,z', 'x-y,-y,1/2-z', '-x,-x+y,1/2-z', 'y,x,1/2-z', '-x,-y,-z', 'y,-x+y,-z', 'x-y,x,-z', '-x+y,y,1/2+z', 'x,x-y,1/2+z', '-y,-x,1/2+z']),
"P6": (168, "P 6", "hexagonal", ['x,y,z', 'x-y,x,z', '-y,x-y,z', '-x,-y,z', '-x+y,-x,z', 'y,-x+y,z']),
"P61": (169, "P 61", "hexagonal", ['x,y,z', 'x-y,x,1/6+z', '-y,x-y,1/3+z', '-x,-y,1/2+z', '-x+y,-x,2/3+z', 'y,-x+y,5/6+z']),
"P65": (170, "P 65", "hexagonal", ['x,y,z', 'x-y,x,5/6+z', '-y,x-y,2/3+z', '-x,-y,1/2+z', '-x+y,-x,1/3+z', 'y,-x+y,1/6+z']),
"P62": (171, "P 62", "hexagonal", ['x,y,z', 'x-y,x,1/3+z', '-y,x-y,2/3+z', '-x,-y,z', '-x+y,-x,1/3+z', 'y,-x+y,2/3+z']),
"P64": (172, "P 64", "hexagonal", ['x,y,z', 'x-y,x,2/3+z', '-y,x-y,1/3+z', '-x,-y,z', '-x+y,-x,2/3+z', 'y,-x+y,1/3+z']),
"P63": (173, "P 63", "hexagonal", ['x,y,z', 'x-y,x,1/2+z', '-y,x-y,z', '-x,-y,1/2+z', '-x+y,-x,z', 'y,-x+y,1/2+z']),
"P-6": (174, "P -6", "hexagonal", ['x,y,z', '-x+y,-x,-z', '-y,x-y,z', 'x,y,-z', '-x+y,-x,z', '-y,x-y,-z']),
"P6/m": (175, "P 6/m", "hexagonal", ['x,y,z', 'x-y,x,z', '-y,x-y,z', '-x,-y,z', '-x+y,-x,z', 'y,-x+y,z', '-x,-y,-z', '-x+y,-x,-z', 'y,-x+y,-z', 'x,y,-z', 'x-y,x,-z', '-y,x-y,-z']),
"P63/m": (176, "P 63/m", "hexagonal", ['x,y,z', 'x-y,x,1/2+z', '-y,x-y,z', '-x,-y,1/2+z', '-x+y,-x,z', 'y,-x+y,1/2+z', '-x,-y,-z', '-x+y,-x,1/2-z', 'y,-x+y,-z', 'x,y,1/2-z', 'x-y,x,-z', '-y,x-y,1/2-z']),
"P622": (177, "P 6 2 2", "hexagonal", ['x,y,z', 'x-y,x,z', '-y,x-y,z', '-x,-y,z', '-x+y,-x,z', 'y,-x+y,z', 'x-y,-y,-z', '-x,-x+y,-z', 'y,x,-z', '-y,-x,-z', '-x+y,y,-z', 'x,x-y,-z']),
"P6122": (178, "P 61 2 2", "hexagonal", ['x,y,z', 'x-y,x,1/6+z', '-y,x-y,1/3+z', '-x,-y,1/2+z', '-x+y,-x,2/3+z', 'y,-x+y,5/6+z', 'x-y,-y,-z', '-x,-x+y,2/3-z', 'y,x,1/3-z', '-y,-x,5/6-z', '-x+y,y,1/2-z', 'x,x-y,1/6-z']),
"P6522": (179, "P 65 2 2", "hexagonal", ['x,y,z', 'x-y,x,5/6+z', '-y,x-y,2/3+z', '-x,-y,1/2+z', '-x+y,-x,1/3+z', 'y,-x+y,1/6+z', 'x-y,-y,-z', '-x,-x+y,1/3-z', 'y,x,2/3-z', '-y,-x,1/6-z', '-x+y,y,1/2-z', 'x,x-y,5/6-z']),
"P6222": (180, "P 62 2 2", "hexagonal", ['x,y,z', 'x-y,x,1/3+z', '-y,x-y,2/3+z', '-x,-y,z', '-x+y,-x,1/3+z', 'y,-x+y,2/3+z', 'x-y,-y,-z', '-x,-x+y,1/3-z', 'y,x,2/3-z', '-y,-x,2/3-z', '-x+y,y,-z', 'x,x-y,1/3-z']),
"P6422": (181, "P 64 2 2", "hexagonal", ['x,y,z', 'x-y,x,2/3+z', '-y,x-y,1/3+z', '-x,-y,z', '-x+y,-x,2/3+z', 'y,-x+y,1/3+z', 'x-y,-y,-z', '-x,-x+y,2/3-z', 'y,x,1/3-z', '-y,-x,1/3-z', '-x+y,y,-z', 'x,x-y,2/3-z']),
"P6322": (182, "P 63 2 2", "hexagonal", ['x,y,z', 'x-y,x,1/2+z', '-y,x-y,z', '-x,-y,1/2+z', '-x+y,-x,z', 'y,-x+y,1/2+z', 'x-y,-y,-z', '-x,-x+y,-z', 'y,x,-z', '-y,-x,1/2-z', '-x+y,y,1/2-z', 'x,x-y,1/2-z']),
"P6mm": (183, "P 6 m m", "hexagonal", ['x,y,z', 'x-y,x,z', '-y,x-y,z', '-x,-y,z', '-x+y,-x,z', 'y,-x+y,z', '-x+y,y,z', 'x,x-y,z', '-y,-x,z', 'y,x,z', 'x-y,-y,z', '-x,-x+y,z']),
"P6cc": (184, "P 6 c c", "hexagonal", ['x,y,z', 'x-y,x,z', '-y,x-y,z', '-x,-y,z', '-x+y,-x,z', 'y,-x+y,z', '-x+y,y,1/2+z', 'x,x-y,1/2+z', '-y,-x,1/2+z', 'y,x,1/2+z', 'x-y,-y,1/2+z', '-x,-x+y,1/2+z']),
"P63cm": (185, "P 63 c m", "hexagonal", ['x,y,z', 'x-y,x,1/2+z', '-y,x-y,z', '-x,-y,1/2+z', '-x+y,-x,z', 'y,-x+y,1/2+z', '-x+y,y,1/2+z', 'x,x-y,1/2+z', '-y,-x,1/2+z', 'y,x,z', 'x-y,-y,z', '-x,-x+y,z']),
"P63mc": (186, "P 63 m c", "hexagonal", ['x,y,z', 'x-y,x,1/2+z', '-y,x-y,z', '-x,-y,1/2+z', '-x+y,-x,z', 'y,-x+y,1/2+z', '-x+y,y,z', 'x,x-y,z', '-y,-x,z', 'y,x,1/2+z', 'x-y,-y,1/2+z', '-x,-x+y,1/2+z']),
"P-6m2": (187, "P -6 m 2", "hexagonal", ['x,y,z', '-x+y,-x,-z', '-y,x-y,z', 'x,y,-z', '-x+y,-x,z', '-y,x-y,-z', '-y,-x,-z', '-x+y,y,-z', 'x,x-y,-z', '-x+y,y,z', 'x,x-y,z', '-y,-x,z']),
"P-6c2": (188, "P -6 c 2", "hexagonal", ['x,y,z', '-x+y,-x,1/2-z', '-y,x-y,z', 'x,y,1/2-z', '-x+y,-x,z', '-y,x-y,1/2-z', '-y,-x,-z', '-x+y,y,-z', 'x,x-y,-z', '-x+y,y,1/2+z', 'x,x-y,1/2+z', '-y,-x,1/2+z']),
"P-62m": (189, "P -6 2 m", "hexagonal", ['x,y,z', '-x+y,-x,-z', '-y,x-y,z', 'x,y,-z', '-x+y,-x,z', '-y,x-y,-z', 'x-y,-y,-z', '-x,-x+y,-z', 'y,x,-z', 'y,x,z', 'x-y,-y,z', '-x,-x+y,z']),
"P-62c": (190, "P -6 2 c", "hexagonal", ['x,y,z', '-x+y,-x,1/2-z', '-y,x-y,z', 'x,y,1/2-z', '-x+y,-x,z', '-y,x-y,1/2-z', 'x-y,-y,-z', '-x,-x+y,-z', 'y,x,-z', 'y,x,1/2+z', 'x-y,-y,1/2+z', '-x,-x+y,1/2+z']),
"P6/mmm": (191, "P 6/m m m", "hexagonal", ['x,y,z', 'x-y,x,z', '-y,x-y,z', '-x,-y,z', '-x+y,-x,z', 'y,-x+y,z', 'x-y,-y,-z', '-x,-x+y,-z', 'y,x,-z', '-y,-x,-z', '-x+y,y,-z', 'x,x-y,-z', '-x,-y,-z', '-x+y,-x,-z', 'y,-x+y,-z', 'x,y,-z', 'x-y,x,-z', '-y,x-y,-z', '-x+y,y,z', 'x,x-y,z', '-y,-x,z', 'y,x,z', 'x-y,-y,z', '-x,-x+y,z',]),
"P6/mcc": (192, "P 6/m c c", "hexagonal", ['x,y,z', 'x-y,x,z', '-y,x-y,z', '-x,-y,z', '-x+y,-x,z', 'y,-x+y,z', 'x-y,-y,1/2-z', '-x,-x+y,1/2-z', 'y,x,1/2-z', '-y,-x,1/2-z', '-x+y,y,1/2-z', 'x,x-y,1/2-z', '-x,-y,-z', '-x+y,-x,-z', 'y,-x+y,-z', 'x,y,-z', 'x-y,x,-z', '-y,x-y,-z', '-x+y,y,1/2+z', 'x,x-y,1/2+z', '-y,-x,1/2+z', 'y,x,1/2+z', 'x-y,-y,1/2+z', '-x,-x+y,1/2+z']),
"P6/mcm": (193, "P 6/m c m", "hexagonal", ['x,y,z', 'x-y,x,1/2+z', '-y,x-y,z', '-x,-y,1/2+z', '-x+y,-x,z', 'y,-x+y,1/2+z', 'x-y,-y,1/2-z', '-x,-x+y,1/2-z', 'y,x,1/2-z', '-y,-x,-z', '-x+y,y,1/2-z', 'x,x-y,-z', '-x,-y,-z', '-x+y,-x,1/2-z', 'y,-x+y,-z', 'x,y,1/2-z', 'x-y,x,-z', '-y,x-y,1/2-z', '-x+y,y,1/2+z', 'x,x-y,1/2+z', '-y,-x,1/2+z', 'y,x,z', 'x-y,-y,1/2+z', '-x,-x+y,z']),
"P6/mmc": (194, "P 6/m m c", "hexagonal", ['x,y,z', 'x-y,x,1/2+z', '-y,x-y,z', '-x,-y,1/2+z', '-x+y,-x,z', 'y,-x+y,1/2+z', 'x-y,-y,-z', '-x,-x+y,-z', 'y,x,-z', '-y,-x,1/2-z', '-x+y,y,1/2-z', 'x,x-y,1/2-z', '-x,-y,-z', '-x+y,-x,1/2-z', 'y,-x+y,-z', 'x,y,1/2-z', 'x-y,x,-z', '-y,x-y,-z', '-x+y,y,z', 'x,x-y,z', '-y,-x,z', 'y,x,1/2+z', 'x-y,-y,1/2+z', '-x,-x+y,1/2+z']),
"P23": (195, "P 2 3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-x,-y,z', 'x,-y,-z','-x,y,-z']),
"F23": (196, "F 2 3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-x,-y,z', 'x,-y,-z','-x,y,-z']),
"I23": (197, "I 2 3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-x,-y,z', 'x,-y,-z','-x,y,-z']),
"P213": (198, "P 21 3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '1/2-y,-z,1/2+x', '1/2+z,1/2-x,-y', '-y,1/2+z,1/2-x', '1/2-z,-x,1/2+y', '-z,1/2+x,1/2-y', '1/2+y,1/2-z,-x', '1/2-x,-y,1/2+z', '1/2+x,1/2-y,-z','-x,1/2+y,1/2-z']),
"I213": (199, "I 21 3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '-y,1/2-z,x', 'z,-x,1/2-y', '1/2-y,z,-x', '-z,1/2-x,y', '1/2-z,x,-y', 'y,-z,1/2-x', '-x,1/2-y,z', 'x,-y,1/2-z','1/2-x,y,-z']),
"Pm-3": (200, "P m -3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-x,-y,z', 'x,-y,-z','-x,y,-z', '-x,-y,-z', '-z,-x,-y', '-y,-z,-x', 'y,z,-x', '-z,x,y', 'y,-z,x', 'z,x,-y', 'z,-x,y', '-y,z,x', 'x,y,-z', '-x,y,z', 'x,-y,z']),
"Pn-3": (201, "P n -3", "cubic", ['x,y,z', '1/2-x,1/2-y,1/2-z', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '1/2-z,1/2-x,1/2-y', '1/2-y,1/2-z,1/2-x', '1/2+y,1/2+z,1/2-x', '1/2-z,1/2+x,1/2+y', '1/2+y,1/2-z,1/2+x', '1/2+z,1/2+x,1/2-y', '1/2+z,1/2-x,1/2+y', '1/2-y,1/2+z,1/2+x', '-x,-y,z', 'x,-y,-z', '-x,y,-z', '1/2+x,1/2+y,1/2-z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z']),
"Fm3": (202, "F m 3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-x,-y,z', 'x,-y,-z','-x,y,-z', '-x,-y,-z', '-z,-x,-y', '-y,-z,-x', 'y,z,-x', '-z,x,y', 'y,-z,x', 'z,x,-y', 'z,-x,y', '-y,z,x', 'x,y,-z', '-x,y,z', 'x,-y,z']),
"Fd-3": (203, "F d -3", "cubic", ['x,y,z', '1/4-x,1/4-y,1/4-z', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '1/4-z,1/4-x,1/4-y', '1/4-y,1/4-z,1/4-x', '1/4+y,1/4+z,1/4-x', '1/4-z,1/4+x,1/4+y', '1/4+y,1/4-z,1/4+x', '1/4+z,1/4+x,1/4-y', '1/4+z,1/4-x,1/4+y', '1/4-y,1/4+z,1/4+x', '-x,-y,z', 'x,-y,-z', '-x,y,-z', '1/4+x,1/4+y,1/4-z', '1/4-x,1/4+y,1/4+z', '1/4+x,1/4-y,1/4+z']),
"Im-3": (204, "I m -3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-x,-y,z', 'x,-y,-z','-x,y,-z', '-x,-y,-z', '-z,-x,-y', '-y,-z,-x', 'y,z,-x', '-z,x,y', 'y,-z,x', 'z,x,-y', 'z,-x,y', '-y,z,x', 'x,y,-z', '-x,y,z', 'x,-y,z']),
"Pa-3": (205, "P a -3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '1/2-y,-z,1/2+x', '1/2+z,1/2-x,-y', '-y,1/2+z,1/2-x', '1/2-z,-x,1/2+y', '-z,1/2+x,1/2-y', '1/2+y,1/2-z,-x', '1/2-x,-y,1/2+z', '1/2+x,1/2-y,-z', '-x,1/2+y,1/2-z', '-x,-y,-z', '-z,-x,-y', '-y,-z,-x', '1/2+y,z,1/2-x', '1/2-z,1/2+x,y', 'y,1/2-z,1/2+x', '1/2+z,x,1/2-y', 'z,1/2-x,1/2+y', '1/2-y,1/2+z,x', '1/2+x,y,1/2-z', '1/2-x,1/2+y,z', 'x,1/2-y,1/2+z']),
"Ia-3": (206, "I a -3", "cubic", ['x,y,z', 'z,x,y', 'y,z,x', '-y,1/2-z,x', 'z,-x,1/2-y', '1/2-y,z,-x', '-z,1/2-x,y', '1/2-z,x,-y', 'y,-z,1/2-x', '-x,1/2-y,z', 'x,-y,1/2-z', '1/2-x,y,-z', '-x,-y,-z', '-z,-x,-y', '-y,-z,-x', 'y,1/2+z,-x', '-z,x,1/2+y', '1/2+y,-z,x', 'z,1/2+x,-y', '1/2+z,-x,y', '-y,z,1/2+x', 'x,1/2+y,-z', '-x,y,1/2+z', '1/2+x,-y,z']),
"P432": (207, "P 4 3 2", "cubic", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-z,y', 'x,-y,-z', 'x,z,-y', 'z,y,-x', '-x,y,-z', '-z,y,x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', 'y,x,-z', '-y,-x,-z', '-x,z,y', '-x,-z,-y', 'z,-y,x', '-z,-y,-x']),
"P4232": (208, "P 42 3 2", "cubic", ['x,y,z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', '1/2+x,1/2-z,1/2+y', 'x,-y,-z', '1/2+x,1/2+z,1/2-y', '1/2+z,1/2+y,1/2-x', '-x,y,-z', '1/2-z,1/2+y,1/2+x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '1/2+y,1/2+x,1/2-z', '1/2-y,1/2-x,1/2-z', '1/2-x,1/2+z,1/2+y', '1/2-x,1/2-z,1/2-y', '1/2+z,1/2-y,1/2+x', '1/2-z,1/2-y,1/2-x']),
"F432": (209, "F 4 3 2", "cubic", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-z,y', 'x,-y,-z', 'x,z,-y', 'z,y,-x', '-x,y,-z', '-z,y,x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', 'y,x,-z', '-y,-x,-z', '-x,z,y', '-x,-z,-y', 'z,-y,x', '-z,-y,-x']),
"F4132": (210, "F 41 3 2", "cubic", ['x,y,z', '1/4-y,1/4+x,1/4+z', '-x,-y,z', '1/4+y,1/4-x,1/4+z', '1/4+x,1/4-z,1/4+y', 'x,-y,-z', '1/4+x,1/4+z,1/4-y', '1/4+z,1/4+y,1/4-x', '-x,y,-z', '1/4-z,1/4+y,1/4+x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '1/4+y,1/4+x,1/4-z', '1/4-y,1/4-x,1/4-z', '1/4-x,1/4+z,1/4+y', '1/4-x,1/4-z,1/4-y', '1/4+z,1/4-y,1/4+x', '1/4-z,1/4-y,1/4-x']),
"I432": (211, "I 4 3 2", "cubic", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-z,y', 'x,-y,-z', 'x,z,-y', 'z,y,-x', '-x,y,-z', '-z,y,x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', 'y,x,-z', '-y,-x,-z', '-x,z,y', '-x,-z,-y', 'z,-y,x', '-z,-y,-x']),
"P4332": (212, "P 43 3 2", "cubic", ['x,y,z', '3/4-y,1/4+x,3/4+z', '1/2-x,-y,1/2+z', '3/4+y,3/4-x,1/4+z', '3/4+x,3/4-z,1/4+y', '1/2+x,1/2-y,-z', '1/4+x,3/4+z,3/4-y', '1/4+z,3/4+y,3/4-x', '-x,1/2+y,1/2-z', '3/4-z,1/4+y,3/4+x', 'z,x,y', 'y,z,x', '1/2-y,-z,1/2+x', '1/2+z,1/2-x,-y', '-y,1/2+z,1/2-x', '1/2-z,-x,1/2+y', '-z,1/2+x,1/2-y', '1/2+y,1/2-z,-x', '1/4+y,3/4+x,3/4-z', '1/4-y,1/4-x,1/4-z', '3/4-x,1/4+z,3/4+y', '1/4-x,1/4-z,1/4-y', '3/4+z,3/4-y,1/4+x', '1/4-z,1/4-y,1/4-x']),
"P4132": (213, "P 41 3 2", "cubic", ['x,y,z', '1/4-y,3/4+x,1/4+z', '1/2-x,-y,1/2+z', '1/4+y,1/4-x,3/4+z', '1/4+x,1/4-z,3/4+y', '1/2+x,1/2-y,-z', '3/4+x,1/4+z,1/4-y', '3/4+z,1/4+y,1/4-x', '-x,1/2+y,1/2-z', '1/4-z,3/4+y,1/4+x', 'z,x,y', 'y,z,x', '1/2-y,-z,1/2+x', '1/2+z,1/2-x,-y', '-y,1/2+z,1/2-x', '1/2-z,-x,1/2+y', '-z,1/2+x,1/2-y', '1/2+y,1/2-z,-x', '3/4+y,1/4+x,1/4-z', '3/4-y,3/4-x,3/4-z', '1/4-x,3/4+z,1/4+y', '3/4-x,3/4-z,3/4-y', '1/4+z,1/4-y,3/4+x', '3/4-z,3/4-y,3/4-x']),
"I4132": (214, "I 41 3 2", "cubic", ['x,y,z', '1/4-y,3/4+x,1/4+z', '-x,1/2-y,z', '1/4+y,1/4-x,3/4+z', '1/4+x,1/4-z,3/4+y', 'x,-y,1/2-z', '3/4+x,1/4+z,1/4-y', '3/4+z,1/4+y,1/4-x', '1/2-x,y,-z', '1/4-z,3/4+y,1/4+x', 'z,x,y', 'y,z,x', '-y,1/2-z,x', 'z,-x,1/2-y', '1/2-y,z,-x', '-z,1/2-x,y', '1/2-z,x,-y', 'y,-z,1/2-x', '3/4+y,1/4+x,1/4-z', '1/4-y,1/4-x,1/4-z', '1/4-x,3/4+z,1/4+y', '1/4-x,1/4-z,1/4-y', '1/4+z,1/4-y,3/4+x', '1/4-z,1/4-y,1/4-x']),
"P-43m": (215, "P -4 3 m", "cubic", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', '-x,z,-y', 'x,-y,-z', '-x,-z,y', '-z,-y,x', '-x,y,-z', 'z,-y,-x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-y,-x,z', 'y,x,z', 'x,-z,-y', 'x,z,y', '-z,y,-x', 'z,y,x']),
"F-43m": (216, "F -4 3 m", "cubic", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', '-x,z,-y', 'x,-y,-z', '-x,-z,y', '-z,-y,x', '-x,y,-z', 'z,-y,-x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-y,-x,z', 'y,x,z', 'x,-z,-y', 'x,z,y', '-z,y,-x', 'z,y,x']),
"I-43m": (217, "I -4 3 m", "cubic", ['x,y,z', 'y,-x,-z', '-x,-y,z', '-y,x,-z', '-x,z,-y', 'x,-y,-z', '-x,-z,y', '-z,-y,x', '-x,y,-z', 'z,-y,-x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-y,-x,z', 'y,x,z', 'x,-z,-y', 'x,z,y', '-z,y,-x', 'z,y,x']),
"P-43n": (218, "P -4 3 n", "cubic", ['x,y,z', '1/2+y,1/2-x,1/2-z', '-x,-y,z', '1/2-y,1/2+x,1/2-z', '1/2-x,1/2+z,1/2-y', 'x,-y,-z', '1/2-x,1/2-z,1/2+y', '1/2-z,1/2-y,1/2+x', '-x,y,-z', '1/2+z,1/2-y,1/2-x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z', '1/2+x,1/2-z,1/2-y', '1/2+x,1/2+z,1/2+y', '1/2-z,1/2+y,1/2-x', '1/2+z,1/2+y,1/2+x']),
"F-43c": (219, "F -4 3 c", "cubic", ['x,y,z', 'y,-x,1/2-z', '-x,-y,z', '-y,x,1/2-z', '-x,z,1/2-y', 'x,-y,-z', '-x,-z,1/2+y', '-z,-y,1/2+x', '-x,y,-z', 'z,-y,1/2-x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '-y,-x,1/2+z', 'y,x,1/2+z', 'x,-z,1/2-y', 'x,z,1/2+y', '-z,y,1/2-x', 'z,y,1/2+x']),
"I-43d": (220, "I -4 3 d", "cubic", ['x,y,z', '1/4+y,3/4-x,1/4-z', '-x,1/2-y,z', '1/4-y,1/4+x,3/4-z', '1/4-x,1/4+z,3/4-y', 'x,-y,1/2-z', '3/4-x,1/4-z,1/4+y', '3/4-z,1/4-y,1/4+x', '1/2-x,y,-z', '1/4+z,3/4-y,1/4-x', 'z,x,y', 'y,z,x', '-y,1/2-z,x', 'z,-x,1/2-y', '1/2-y,z,-x', '-z,1/2-x,y', '1/2-z,x,-y', 'y,-z,1/2-x', '3/4-y,1/4-x,1/4+z', '1/4+y,1/4+x,1/4+z', '1/4+x,3/4-z,1/4-y', '1/4+x,1/4+z,1/4+y', '1/4-z,1/4+y,3/4-x', '1/4+z,1/4+y,1/4+x']),
"Pm-3m": (221, "P m -3 m", "cubic", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-z,y', 'x,-y,-z', 'x,z,-y', 'z,y,-x', '-x,y,-z', '-z,y,x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', 'y,x,-z', '-y,-x,-z', '-x,z,y', '-x,-z,-y', 'z,-y,x', '-z,-y,-x', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z', '-x,z,-y', '-x,y,z', '-x,-z,y', '-z,-y,x', 'x,-y,z', 'z,-y,-x', '-z,-x,-y', '-y,-z,-x', 'y,z,-x', '-z,x,y', 'y,-z,x', 'z,x,-y', 'z,-x,y', '-y,z,x', '-y,-x,z', 'y,x,z', 'x,-z,-y', 'x,z,y', '-z,y,-x', 'z,y,x']),
"Pm-3n": (223, "P m -3 n", "cubic", ['x,y,z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', '1/2+x,1/2-z,1/2+y', 'x,-y,-z', '1/2+x,1/2+z,1/2-y', '1/2+z,1/2+y,1/2-x', '-x,y,-z', '1/2-z,1/2+y,1/2+x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '1/2+y,1/2+x,1/2-z', '1/2-y,1/2-x,1/2-z', '1/2-x,1/2+z,1/2+y', '1/2-x,1/2-z,1/2-y', '1/2+z,1/2-y,1/2+x', '1/2-z,1/2-y,1/2-x', '-x,-y,-z', '1/2+y,1/2-x,1/2-z', 'x,y,-z', '1/2-y,1/2+x,1/2-z', '1/2-x,1/2+z,1/2-y', '-x,y,z', '1/2-x,1/2-z,1/2+y', '1/2-z,1/2-y,1/2+x', 'x,-y,z', '1/2+z,1/2-y,1/2-x', '-z,-x,-y', '-y,-z,-x', 'y,z,-x', '-z,x,y', 'y,-z,x', 'z,x,-y', 'z,-x,y', '-y,z,x', '1/2-y,1/2-x,1/2+z', '1/2+y,1/2+x,1/2+z', '1/2+x,1/2-z,1/2-y', '1/2+x,1/2+z,1/2+y', '1/2-z,1/2+y,1/2-x', '1/2+z,1/2+y,1/2+x']),
"Pn-3m": (224, "P n -3 m", "cubic", ['x,y,z', '1/2-x,1/2-y,1/2-z', '1/2-y,1/2+x,1/2+z', '-x,-y,z', '1/2+y,1/2-x,1/2+z', '1/2+x,1/2-z,1/2+y', 'x,-y,-z', '1/2+x,1/2+z,1/2-y', '1/2+z,1/2+y,1/2-x', '-x,y,-z', '1/2-z,1/2+y,1/2+x', 'y,-x,-z', '-y,x,-z', '-x,z,-y', '-x,-z,y', '-z,-y,x', 'z,-y,-x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '1/2-z,1/2-x,1/2-y', '1/2-y,1/2-z,1/2-x', '1/2+y,1/2+z,1/2-x', '1/2-z,1/2+x,1/2+y', '1/2+y,1/2-z,1/2+x', '1/2+z,1/2+x,1/2-y', '1/2+z,1/2-x,1/2+y', '1/2-y,1/2+z,1/2+x', '1/2+y,1/2+x,1/2-z', '1/2-y,1/2-x,1/2-z', '1/2-x,1/2+z,1/2+y', '1/2-x,1/2-z,1/2-y', '1/2+z,1/2-y,1/2+x', '1/2-z,1/2-y,1/2-x', '1/2+x,1/2+y,1/2-z', '1/2-x,1/2+y,1/2+z', '1/2+x,1/2-y,1/2+z', '-y,-x,z', 'y,x,z', 'x,-z,-y', 'x,z,y', '-z,y,-x', 'z,y,x']),
"Fm-3m": (225, "F m -3 m", "cubic", ['x,y,z', 'y,z,x', 'z,x,y', 'x,z,y', 'y,x,z', 'z,y,x', 'x,-y,-z', 'y,-z,-x', 'z,-x,-y', 'x,-z,-y', 'y,-x,-z', 'z,-y,-x', '-x,y,-z', '-y,z,-x', '-z,x,-y', '-x,z,-y', '-y,x,-z', '-z,y,-x', '-x,-y,z', '-y,-z,x', '-z,-x,y', '-x,-z,y', '-y,-x,z', '-z,-y,x', '-x,-y,-z', '-y,-z,-x', '-z,-x,-y', '-x,-z,-y', '-y,-x,-z', '-z,-y,-x', '-x,y,z', '-y,z,x', '-z,x,y', '-x,z,y', '-y,x,z', '-z,y,x', 'x,-y,z', 'y,-z,x', 'z,-x,y', 'x,-z,y', 'y,-x,z', 'z,-y,x', 'x,y,-z', 'y,z,-x', 'z,x,-y', 'x,z,-y', 'y,x,-z', 'z,y,-x', 'x,1/2+y,1/2+z', '1/2+x,y,1/2+z', '1/2+x,1/2+y,z', 'y,1/2+z,1/2+x', '1/2+y,z,1/2+x', '1/2+y,1/2+z,x', 'z,1/2+x,1/2+y', '1/2+z,x,1/2+y', '1/2+z,1/2+x,y', 'x,1/2+z,1/2+y', '1/2+x,z,1/2+y', '1/2+x,1/2+z,y', 'y,1/2+x,1/2+z', '1/2+y,x,1/2+z', '1/2+y,1/2+x,z', 'z,1/2+y,1/2+x', '1/2+z,y,1/2+x', '1/2+z,1/2+y,x', 'x,1/2-y,1/2-z',
'1/2+x,-y,1/2-z', '1/2+x,1/2-y,-z', 'y,1/2-z,1/2-x', '1/2+y,-z,1/2-x', '1/2+y,1/2-z,-x', 'z,1/2-x,1/2-y', '1/2+z,-x,1/2-y', '1/2+z,1/2-x,-y', 'x,1/2-z,1/2-y', '1/2+x,-z,1/2-y', '1/2+x,1/2-z,-y', 'y,1/2-x,1/2-z', '1/2+y,-x,1/2-z', '1/2+y,1/2-x,-z', 'z,1/2-y,1/2-x', '1/2+z,-y,1/2-x', '1/2+z,1/2-y,-x', '-x,1/2+y,1/2-z', '1/2-x,y,1/2-z', '1/2-x,1/2+y,-z', '-y,1/2+z,1/2-x', '1/2-y,z,1/2-x', '1/2-y,1/2+z,-x', '-z,1/2+x,1/2-y', '1/2-z,x,1/2-y', '1/2-z,1/2+x,-y', '-x,1/2+z,1/2-y', '1/2-x,z,1/2-y', '1/2-x,1/2+z,-y', '-y,1/2+x,1/2-z', '1/2-y,x,1/2-z', '1/2-y,1/2+x,-z', '-z,1/2+y,1/2-x', '1/2-z,y,1/2-x', '1/2-z,1/2+y,-x', '-x,1/2-y,1/2+z', '1/2-x,-y,1/2+z', '1/2-x,1/2-y,z', '-y,1/2-z,1/2+x', '1/2-y,-z,1/2+x', '1/2-y,1/2-z,x', '-z,1/2-x,1/2+y', '1/2-z,-x,1/2+y', '1/2-z,1/2-x,y', '-x,1/2-z,1/2+y', '1/2-x,-z,1/2+y', '1/2-x,1/2-z,y',
'-y,1/2-x,1/2+z', '1/2-y,-x,1/2+z', '1/2-y,1/2-x,z', '-z,1/2-y,1/2+x', '1/2-z,-y,1/2+x', '1/2-z,1/2-y,x', '-x,1/2-y,1/2-z', '1/2-x,-y,1/2-z', '1/2-x,1/2-y,-z', '-y,1/2-z,1/2-x', '1/2-y,-z,1/2-x', '1/2-y,1/2-z,-x', '-z,1/2-x,1/2-y', '1/2-z,-x,1/2-y', '1/2-z,1/2-x,-y', '-x,1/2-z,1/2-y', '1/2-x,-z,1/2-y', '1/2-x,1/2-z,-y', '-y,1/2-x,1/2-z', '1/2-y,-x,1/2-z', '1/2-y,1/2-x,-z', '-z,1/2-y,1/2-x', '1/2-z,-y,1/2-x', '1/2-z,1/2-y,-x', '-x,1/2+y,1/2+z', '1/2-x,y,1/2+z', '1/2-x,1/2+y,z', '-y,1/2+z,1/2+x', '1/2-y,z,1/2+x', '1/2-y,1/2+z,x', '-z,1/2+x,1/2+y', '1/2-z,x,1/2+y', '1/2-z,1/2+x,y', '-x,1/2+z,1/2+y', '1/2-x,z,1/2+y', '1/2-x,1/2+z,y', '-y,1/2+x,1/2+z', '1/2-y,x,1/2+z', '1/2-y,1/2+x,z', '-z,1/2+y,1/2+x', '1/2-z,y,1/2+x', '1/2-z,1/2+y,x', 'x,1/2-y,1/2+z', '1/2+x,-y,1/2+z', '1/2+x,1/2-y,z', 'y,1/2-z,1/2+x', '1/2+y,-z,1/2+x',
'1/2+y,1/2-z,x', 'z,1/2-x,1/2+y', '1/2+z,-x,1/2+y', '1/2+z,1/2-x,y', 'x,1/2-z,1/2+y', '1/2+x,-z,1/2+y', '1/2+x,1/2-z,y', 'y,1/2-x,1/2+z', '1/2+y,-x,1/2+z', '1/2+y,1/2-x,z', 'z,1/2-y,1/2+x', '1/2+z,-y,1/2+x', '1/2+z,1/2-y,x', 'x,1/2+y,1/2-z', '1/2+x,y,1/2-z', '1/2+x,1/2+y,-z', 'y,1/2+z,1/2-x', '1/2+y,z,1/2-x', '1/2+y,1/2+z,-x', 'z,1/2+x,1/2-y', '1/2+z,x,1/2-y', '1/2+z,1/2+x,-y', 'x,1/2+z,1/2-y', '1/2+x,z,1/2-y', '1/2+x,1/2+z,-y', 'y,1/2+x,1/2-z', '1/2+y,x,1/2-z', '1/2+y,1/2+x,-z', 'z,1/2+y,1/2-x', '1/2+z,y,1/2-x', '1/2+z,1/2+y,-x']),
"Fm-3c": (226, "F m -3 c", "cubic", ['x,y,z', '-y,x,1/2+z', '-x,-y,z', 'y,-x,1/2+z', 'x,-z,1/2+y', 'x,-y,-z', 'x,z,1/2-y', 'z,y,1/2-x', '-x,y,-z', '-z,y,1/2+x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', 'y,x,1/2-z', '-y,-x,1/2-z', '-x,z,1/2+y', '-x,-z,1/2-y', 'z,-y,1/2+x', '-z,-y,1/2-x', '-x,-y,-z', 'y,-x,1/2-z', 'x,y,-z', '-y,x,1/2-z', '-x,z,1/2-y', '-x,y,z', '-x,-z,1/2+y', '-z,-y,1/2+x', 'x,-y,z', 'z,-y,1/2-x', '-z,-x,-y', '-y,-z,-x', 'y,z,-x', '-z,x,y', 'y,-z,x', 'z,x,-y', 'z,-x,y', '-y,z,x', '-y,-x,1/2+z', 'y,x,1/2+z', 'x,-z,1/2-y', 'x,z,1/2+y', '-z,y,1/2-x', 'z,y,1/2+x']),
"Fd-3m": (227, "F d -3 m", "cubic", ['x,y,z', '1/4-x,1/4-y,1/4-z', '1/4-y,1/4+x,1/4+z', '-x,-y,z', '1/4+y,1/4-x,1/4+z', '1/4+x,1/4-z,1/4+y', 'x,-y,-z', '1/4+x,1/4+z,1/4-y', '1/4+z,1/4+y,1/4-x', '-x,y,-z', '1/4-z,1/4+y,1/4+x', 'y,-x,-z', '-y,x,-z', '-x,z,-y', '-x,-z,y', '-z,-y,x', 'z,-y,-x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '1/4-z,1/4-x,1/4-y', '1/4-y,1/4-z,1/4-x', '1/4+y,1/4+z,1/4-x', '1/4-z,1/4+x,1/4+y', '1/4+y,1/4-z,1/4+x', '1/4+z,1/4+x,1/4-y', '1/4+z,1/4-x,1/4+y', '1/4-y,1/4+z,1/4+x', '1/4+y,1/4+x,1/4-z', '1/4-y,1/4-x,1/4-z', '1/4-x,1/4+z,1/4+y', '1/4-x,1/4-z,1/4-y', '1/4+z,1/4-y,1/4+x', '1/4-z,1/4-y,1/4-x', '1/4+x,1/4+y,1/4-z', '1/4-x,1/4+y,1/4+z', '1/4+x,1/4-y,1/4+z', '-y,-x,z', 'y,x,z', 'x,-z,-y', 'x,z,y', '-z,y,-x', 'z,y,x']),
"Fd-3c": (228, "F d -3 c", "cubic", ['x,y,z', '1/4-x,1/4-y,3/4-z', '1/4-y,1/4+x,1/4+z', '-x,-y,z', '1/4+y,1/4-x,1/4+z', '1/4+x,1/4-z,1/4+y', 'x,-y,-z', '1/4+x,1/4+z,1/4-y', '1/4+z,1/4+y,1/4-x', '-x,y,-z', '1/4-z,1/4+y,1/4+x', 'y,-x,1/2-z', '-y,x,1/2-z', '-x,z,1/2-y', '-x,-z,1/2+y', '-z,-y,1/2+x', 'z,-y,1/2-x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', '1/4-z,1/4-x,3/4-y', '1/4-y,1/4-z,3/4-x', '1/4+y,1/4+z,3/4-x', '1/4-z,1/4+x,3/4+y', '1/4+y,1/4-z,3/4+x', '1/4+z,1/4+x,3/4-y', '1/4+z,1/4-x,3/4+y', '1/4-y,1/4+z,3/4+x', '1/4+y,1/4+x,1/4-z', '1/4-y,1/4-x,1/4-z', '1/4-x,1/4+z,1/4+y', '1/4-x,1/4-z,1/4-y', '1/4+z,1/4-y,1/4+x', '1/4-z,1/4-y,1/4-x', '1/4+x,1/4+y,3/4-z', '1/4-x,1/4+y,3/4+z', '1/4+x,1/4-y,3/4+z', '-y,-x,1/2+z', 'y,x,1/2+z', 'x,-z,1/2-y', 'x,z,1/2+y', '-z,y,1/2-x', 'z,y,1/2+x']),
"Im-3m": (229, "I m -3 m", "cubic", ['x,y,z', '-y,x,z', '-x,-y,z', 'y,-x,z', 'x,-z,y', 'x,-y,-z', 'x,z,-y', 'z,y,-x', '-x,y,-z', '-z,y,x', 'z,x,y', 'y,z,x', '-y,-z,x', 'z,-x,-y', '-y,z,-x', '-z,-x,y', '-z,x,-y', 'y,-z,-x', 'y,x,-z', '-y,-x,-z', '-x,z,y', '-x,-z,-y', 'z,-y,x', '-z,-y,-x', '-x,-y,-z', 'y,-x,-z', 'x,y,-z', '-y,x,-z', '-x,z,-y', '-x,y,z', '-x,-z,y', '-z,-y,x', 'x,-y,z', 'z,-y,-x', '-z,-x,-y', '-y,-z,-x', 'y,z,-x', '-z,x,y', 'y,-z,x', 'z,x,-y', 'z,-x,y', '-y,z,x', '-y,-x,z', 'y,x,z', 'x,-z,-y', 'x,z,y', '-z,y,-x', 'z,y,x',
'x+1/2,y+1/2,z+1/2','-x+1/2,-y+1/2,z+1/2','-x+1/2,y+1/2,-z+1/2','x+1/2,-y+1/2,-z+1/2','z+1/2,x+1/2,y+1/2','z+1/2,-x+1/2,-y+1/2','-z+1/2,-x+1/2,y+1/2','-z+1/2,x+1/2,-y+1/2','y+1/2,z+1/2,x+1/2','-y+1/2,z+1/2,-x+1/2','y+1/2,-z+1/2,-x+1/2','-y+1/2,-z+1/2,x+1/2','y+1/2,x+1/2,-z+1/2','-y+1/2,-x+1/2,-z+1/2','y+1/2,-x+1/2,z+1/2','-y+1/2,x+1/2,z+1/2','x+1/2,z+1/2,-y+1/2','-x+1/2,z+1/2,y+1/2','-x+1/2,-z+1/2,-y+1/2','x+1/2,-z+1/2,y+1/2','z+1/2,y+1/2,-x+1/2','z+1/2,-y+1/2,x+1/2','-z+1/2,y+1/2,x+1/2','-z+1/2,-y+1/2,-x+1/2',
'-x+1/2,-y+1/2,-z+1/2','x+1/2,y+1/2,-z+1/2','x+1/2,-y+1/2,z+1/2','-x+1/2,y+1/2,z+1/2','-z+1/2,-x+1/2,-y+1/2','-z+1/2,x+1/2,y+1/2','z+1/2,x+1/2,-y+1/2','z+1/2,-x+1/2,y+1/2','-y+1/2,-z+1/2,-x+1/2','y+1/2,-z+1/2,x+1/2','-y+1/2,z+1/2,x+1/2','y+1/2,z+1/2,-x+1/2','-y+1/2,-x+1/2,z+1/2','y+1/2,x+1/2,z+1/2','-y+1/2,x+1/2,-z+1/2','y+1/2,-x+1/2,-z+1/2','-x+1/2,-z+1/2,y+1/2','x+1/2,-z+1/2,-y+1/2','x+1/2,z+1/2,y+1/2','-x+1/2,z+1/2,-y+1/2','-z+1/2,-y+1/2,x+1/2','-z+1/2,y+1/2,-x+1/2','z+1/2,-y+1/2,-x+1/2','z+1/2,y+1/2,x+1/2']),
"Ia-3d": (230, "I a -3 d", "cubic", ['x,y,z', '1/4-y,3/4+x,1/4+z', '-x,1/2-y,z', '1/4+y,1/4-x,3/4+z', '1/4+x,1/4-z,3/4+y', 'x,-y,1/2-z', '3/4+x,1/4+z,1/4-y', '3/4+z,1/4+y,1/4-x', '1/2-x,y,-z', '1/4-z,3/4+y,1/4+x', 'z,x,y', 'y,z,x', '-y,1/2-z,x', 'z,-x,1/2-y', '1/2-y,z,-x', '-z,1/2-x,y', '1/2-z,x,-y', 'y,-z,1/2-x', '3/4+y,1/4+x,1/4-z', '1/4-y,1/4-x,1/4-z', '1/4-x,3/4+z,1/4+y', '1/4-x,1/4-z,1/4-y', '1/4+z,1/4-y,3/4+x', '1/4-z,1/4-y,1/4-x', '-x,-y,-z', '1/4+y,3/4-x,1/4-z', 'x,1/2+y,-z', '1/4-y,1/4+x,3/4-z', '1/4-x,1/4+z,3/4-y', '-x,y,1/2+z', '3/4-x,1/4-z,1/4+y', '3/4-z,1/4-y,1/4+x', '1/2+x,-y,z', '1/4+z,3/4-y,1/4-x', '-z,-x,-y', '-y,-z,-x', 'y,1/2+z,-x', '-z,x,1/2+y', '1/2+y,-z,x', 'z,1/2+x,-y', '1/2+z,-x,y', '-y,z,1/2+x', '3/4-y,1/4-x,1/4+z', '1/4+y,1/4+x,1/4+z', '1/4+x,3/4-z,1/4-y', '1/4+x,1/4+z,1/4+y', '1/4-z,1/4+y,3/4-x', '1/4+z,1/4+y,1/4+x']),
}
# ------------------------------------------------------------------------------------
# ----------- Dictionaries for Amino Acids and atoms in Biomacromolecules ------------
# this part is copied from 'molecularnodes' add-on 'data.py' written by Brady Johnston
residues = {
# unknown? Came up in one of the structures, haven't looked into it yet
# TODO look into it!
"UNK": {"res_name_num": -1, "res_type": "unknown", "res_type_no": 1},
# TODO implement an attribute that uses the residue types (basic / polar / acid etc)
# 20 naturally occurring amino acids
"ALA": {"res_name_num": 0, "res_type": "apolar", "res_type_no": 1},
"ARG": {"res_name_num": 1, "res_type": "basic", "res_type_no": 1},
"ASN": {"res_name_num": 2, "res_type": "polar", "res_type_no": 1},
"ASP": {"res_name_num": 3, "res_type": "acid", "res_type_no": 1},
"CYS": {"res_name_num": 4, "res_type": "polar", "res_type_no": 1}, #can act as acid, but mostly polar?
"GLU": {"res_name_num": 5, "res_type": "acid", "res_type_no": 1},
"GLN": {"res_name_num": 6, "res_type": "polar", "res_type_no": 1},
"GLY": {"res_name_num": 7, "res_type": "apolar", "res_type_no": 1},
"HIS": {"res_name_num": 8, "res_type": "polar", "res_type_no": 1}, #ambiguous
"ILE": {"res_name_num": 9, "res_type": "apolar", "res_type_no": 1},
"LEU": {"res_name_num": 10, "res_type": "apolar", "res_type_no": 1},
"LYS": {"res_name_num": 11, "res_type": "basic", "res_type_no": 1},
"MET": {"res_name_num": 12, "res_type": "apolar", "res_type_no": 1},
"PHE": {"res_name_num": 13, "res_type": "aromatic", "res_type_no": 1},
"PRO": {"res_name_num": 14, "res_type": "apolar", "res_type_no": 1},
"SER": {"res_name_num": 15, "res_type": "polar", "res_type_no": 1},
"THR": {"res_name_num": 16, "res_type": "polar", "res_type_no": 1},
"TRP": {"res_name_num": 17, "res_type": "aromatic", "res_type_no": 1},
"TYR": {"res_name_num": 18, "res_type": "aromatic", "res_type_no": 1},
"VAL": {"res_name_num": 19, "res_type": "apolar", "res_type_no": 1},
# modified amino acids, unsure how to deal with but currently will label as the
# same res_name number
"SNC": {"res_name_num": 15, "res_type": "unkown", "res_type_no": 1}, # S-nitrosylation of cysteine
"MSE": {"res_name_num": 12, "res_type": "unkown", "res_type_no": 1}, # selenomethionine
# add conventional AMBER FF residue names with different protonations
"ASH": {"res_name_num": 3, "res_type": "acid", "res_type_no": 1},
"CYM": {"res_name_num": 4, "res_type": "polar", "res_type_no": 1},
"CYX": {"res_name_num": 4, "res_type": "polar", "res_type_no": 1},
"GLH": {"res_name_num": 5, "res_type": "acid", "res_type_no": 1},
"HID": {"res_name_num": 8, "res_type": "polar", "res_type_no": 1},
"HIE": {"res_name_num": 8, "res_type": "polar", "res_type_no": 1},
"HIP": {"res_name_num": 8, "res_type": "polar", "res_type_no": 1},
"HYP": {"res_name_num": 8, "res_type": "polar", "res_type_no": 1},
"LYN": {"res_name_num": 11, "res_type": "basic", "res_type_no": 1},
## nucleic acids
# DNA
"DA": {"res_name_num": 30, "res_type": "unkown", "res_type_no": 1},
"DC": {"res_name_num": 31, "res_type": "unkown", "res_type_no": 1},
"DG": {"res_name_num": 32, "res_type": "unkown", "res_type_no": 1},
"DT": {"res_name_num": 33, "res_type": "unkown", "res_type_no": 1},
"PST": {"res_name_num": 33, "res_type": "unkown", "res_type_no": 1},
# RNA
"A": {"res_name_num": 40, "res_type": "unkown", "res_type_no": 1},
"C": {"res_name_num": 41, "res_type": "unkown", "res_type_no": 1},
"G": {"res_name_num": 42, "res_type": "unkown", "res_type_no": 1},
"U": {"res_name_num": 43, "res_type": "unkown", "res_type_no": 1}
## need to add some sugars and such here as well
}
# Ordering is a mix between the AlphaFold ordering (for proteins) and the original spec
# for nucleic acids from 1992:
# https://cdn.rcsb.org/wwpdb/docs/documentation/file-format/PDB_format_1992.pdf
# rotation points for artificial 'wiggle' are: 5, 6, 12, 20, 25
# rotation point around the alpha carbon is: 2
atom_names = {
# backbone atoms
'N' : 1,
'CA' : 2, # rotation point
'C' : 3,
'O' : 4,
# sidechain atoms
'CB' : 5, # rotation point
'CG' : 6, # rotation point
'CG1': 7,
'CG2': 8,
'OG' : 9,
'OG1': 10,
'SG' : 11,
'CD' : 12, # rotation point
'CD1': 13,
'CD2': 14,
'ND1': 15,
'ND2': 16,
'OD1': 17,
'OD2': 18,
'SD' : 19,
'CE' : 20, # rotation point
'CE1': 21,
'CE2': 23,
'CE3': 24,
'NE' : 25, # rotation point
'NE1': 26,
'NE2': 27,
'OE1': 28,
'OE2': 29,
'CH2': 30,
'NH1': 31,
'NH2': 32,
'OH' : 33,
'CZ' : 34,
'CZ2': 35,
'CZ3': 36,
'NZ' : 37,
'OXT': 38, # terminus of a peptide chain when it ends in an oxygen, maybe move higher? (in the 'backbone')
## DNA
# currently works for RNA as well, but haven't optimised
# phosphate
"P" : 50, # connection to the previous ribose
# These two atoms can sometimes have their names written different ways,
# this covers both to ensure their names are assigned properly.
"O1P": 51,
"OP1": 51,
"OP2": 52,
"O2P": 52,
# ribose
"O5'" : 53,
"C5'" : 54,
"C4'" : 55, # ring
"O4'" : 56, # ring
"C3'" : 57, # ring
"O3'" : 58, # connection to the next phosphate
"C2'" : 59, # ring
"O2'" : 60,
"C1'" : 61, # ring # connection to the base
# connection point to the base
"N1" : 62,
"N9" : 63,
"N3" : 64,
"C8" : 65,
"N7" : 66,
"C5" : 67,
"C6" : 68,
"N6" : 69,
# "N1" : 70
"C2" : 70,
# "N3" : 71,
"C4" : 71,
"O6" : 72,
"N2" : 73,
"N4" : 74,
"O2" : 75,
"O4" : 76,
"C7" : 77 # another extra carbon?
# unsure how to proceed past this point, as atom names are reused inside of
# different bases but represent totally different locations like the N9 and N1 atoms
# can both be the connecting carbon to the ribose, or a carbon much further into the
# structure see page 29:
# https://cdn.rcsb.org/wwpdb/docs/documentation/file-format/PDB_format_1992.pdf
}
# atom charges taken from AMBER force field source code
atom_charge = {
# peptide charges
'ALA': {'N': -0.4157, 'H': 0.2719, 'CA': 0.0337, 'HA': 0.0823, 'CB': -0.1825, 'HB1': 0.0603, 'HB2': 0.0603, 'HB3': 0.0603, 'C': 0.5973, 'O': -0.5679},
'ARG': {'N': -0.3479, 'H': 0.2747, 'CA': -0.2637, 'HA': 0.156, 'CB': -0.0007, 'HB2': 0.0327, 'HB3': 0.0327, 'CG': 0.039, 'HG2': 0.0285, 'HG3': 0.0285, 'CD': 0.0486, 'HD2': 0.0687, 'HD3': 0.0687, 'NE': -0.5295, 'HE': 0.3456, 'CZ': 0.8076, 'NH1': -0.8627, 'HH11': 0.4478, 'HH12': 0.4478, 'NH2': -0.8627, 'HH21': 0.4478, 'HH22': 0.4478, 'C': 0.7341, 'O': -0.5894},
'ASH': {'N': -0.4157, 'H': 0.2719, 'CA': 0.0341, 'HA': 0.0864, 'CB': -0.0316, 'HB2': 0.0488, 'HB3': 0.0488, 'CG': 0.6462, 'OD1': -0.5554, 'OD2': -0.6376, 'HD2': 0.4747, 'C': 0.5973, 'O': -0.5679},
'ASN': {'N': -0.4157, 'H': 0.2719, 'CA': 0.0143, 'HA': 0.1048, 'CB': -0.2041, 'HB2': 0.0797, 'HB3': 0.0797, 'CG': 0.713, 'OD1': -0.5931, 'ND2': -0.9191, 'HD21': 0.4196, 'HD22': 0.4196, 'C': 0.5973, 'O': -0.5679},
'ASP': {'N': -0.5163, 'H': 0.2936, 'CA': 0.0381, 'HA': 0.088, 'CB': -0.0303, 'HB2': -0.0122, 'HB3': -0.0122, 'CG': 0.7994, 'OD1': -0.8014, 'OD2': -0.8014, 'C': 0.5366, 'O': -0.5819},
'CYM': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0351, 'HA': 0.0508, 'CB': -0.2413, 'HB3': 0.1122, 'HB2': 0.1122, 'SG': -0.8844, 'C': 0.5973, 'O': -0.5679},
'CYS': {'N': -0.4157, 'H': 0.2719, 'CA': 0.0213, 'HA': 0.1124, 'CB': -0.1231, 'HB2': 0.1112, 'HB3': 0.1112, 'SG': -0.3119, 'HG': 0.1933, 'C': 0.5973, 'O': -0.5679},
'CYX': {'N': -0.4157, 'H': 0.2719, 'CA': 0.0429, 'HA': 0.0766, 'CB': -0.079, 'HB2': 0.091, 'HB3': 0.091, 'SG': -0.1081, 'C': 0.5973, 'O': -0.5679},
'GLH': {'N': -0.4157, 'H': 0.2719, 'CA': 0.0145, 'HA': 0.0779, 'CB': -0.0071, 'HB2': 0.0256, 'HB3': 0.0256, 'CG': -0.0174, 'HG2': 0.043, 'HG3': 0.043, 'CD': 0.6801, 'OE1': -0.5838, 'OE2': -0.6511, 'HE2': 0.4641, 'C': 0.5973, 'O': -0.5679},
'GLN': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0031, 'HA': 0.085, 'CB': -0.0036, 'HB2': 0.0171, 'HB3': 0.0171, 'CG': -0.0645, 'HG2': 0.0352, 'HG3': 0.0352, 'CD': 0.6951, 'OE1': -0.6086, 'NE2': -0.9407, 'HE21': 0.4251, 'HE22': 0.4251, 'C': 0.5973, 'O': -0.5679},
'GLU': {'N': -0.5163, 'H': 0.2936, 'CA': 0.0397, 'HA': 0.1105, 'CB': 0.056, 'HB2': -0.0173, 'HB3': -0.0173, 'CG': 0.0136, 'HG2': -0.0425, 'HG3': -0.0425, 'CD': 0.8054, 'OE1': -0.8188, 'OE2': -0.8188, 'C': 0.5366, 'O': -0.5819},
'GLY': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0252, 'HA2': 0.0698, 'HA3': 0.0698, 'C': 0.5973, 'O': -0.5679},
'HID': {'N': -0.4157, 'H': 0.2719, 'CA': 0.0188, 'HA': 0.0881, 'CB': -0.0462, 'HB2': 0.0402, 'HB3': 0.0402, 'CG': -0.0266, 'ND1': -0.3811, 'HD1': 0.3649, 'CE1': 0.2057, 'HE1': 0.1392, 'NE2': -0.5727, 'CD2': 0.1292, 'HD2': 0.1147, 'C': 0.5973, 'O': -0.5679},
'HIE': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0581, 'HA': 0.136, 'CB': -0.0074, 'HB2': 0.0367, 'HB3': 0.0367, 'CG': 0.1868, 'ND1': -0.5432, 'CE1': 0.1635, 'HE1': 0.1435, 'NE2': -0.2795, 'HE2': 0.3339, 'CD2': -0.2207, 'HD2': 0.1862, 'C': 0.5973, 'O': -0.5679},
'HIP': {'N': -0.3479, 'H': 0.2747, 'CA': -0.1354, 'HA': 0.1212, 'CB': -0.0414, 'HB2': 0.081, 'HB3': 0.081, 'CG': -0.0012, 'ND1': -0.1513, 'HD1': 0.3866, 'CE1': -0.017, 'HE1': 0.2681, 'NE2': -0.1718, 'HE2': 0.3911, 'CD2': -0.1141, 'HD2': 0.2317, 'C': 0.7341, 'O': -0.5894},
'ILE': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0597, 'HA': 0.0869, 'CB': 0.1303, 'HB': 0.0187, 'CG2': -0.3204, 'HG21': 0.0882, 'HG22': 0.0882, 'HG23': 0.0882, 'CG1': -0.043, 'HG12': 0.0236, 'HG13': 0.0236, 'CD1': -0.066, 'HD11': 0.0186, 'HD12': 0.0186, 'HD13': 0.0186, 'C': 0.5973, 'O': -0.5679},
'LEU': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0518, 'HA': 0.0922, 'CB': -0.1102, 'HB2': 0.0457, 'HB3': 0.0457, 'CG': 0.3531, 'HG': -0.0361, 'CD1': -0.4121, 'HD11': 0.1, 'HD12': 0.1, 'HD13': 0.1, 'CD2': -0.4121, 'HD21': 0.1, 'HD22': 0.1, 'HD23': 0.1, 'C': 0.5973, 'O': -0.5679},
'LYN': {'N': -0.4157, 'H': 0.2719, 'CA': -0.07206, 'HA': 0.0994, 'CB': -0.04845, 'HB2': 0.034, 'HB3': 0.034, 'CG': 0.06612, 'HG2': 0.01041, 'HG3': 0.01041, 'CD': -0.03768, 'HD2': 0.01155, 'HD3': 0.01155, 'CE': 0.32604, 'HE2': -0.03358, 'HE3': -0.03358, 'NZ': -1.03581, 'HZ2': 0.38604, 'HZ3': 0.38604, 'C': 0.5973, 'O': -0.5679},
'LYS': {'N': -0.3479, 'H': 0.2747, 'CA': -0.24, 'HA': 0.1426, 'CB': -0.0094, 'HB2': 0.0362, 'HB3': 0.0362, 'CG': 0.0187, 'HG2': 0.0103, 'HG3': 0.0103, 'CD': -0.0479, 'HD2': 0.0621, 'HD3': 0.0621, 'CE': -0.0143, 'HE2': 0.1135, 'HE3': 0.1135, 'NZ': -0.3854, 'HZ1': 0.34, 'HZ2': 0.34, 'HZ3': 0.34, 'C': 0.7341, 'O': -0.5894},
'MET': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0237, 'HA': 0.088, 'CB': 0.0342, 'HB2': 0.0241, 'HB3': 0.0241, 'CG': 0.0018, 'HG2': 0.044, 'HG3': 0.044, 'SD': -0.2737, 'CE': -0.0536, 'HE1': 0.0684, 'HE2': 0.0684, 'HE3': 0.0684, 'C': 0.5973, 'O': -0.5679},
'PHE': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0024, 'HA': 0.0978, 'CB': -0.0343, 'HB2': 0.0295, 'HB3': 0.0295, 'CG': 0.0118, 'CD1': -0.1256, 'HD1': 0.133, 'CE1': -0.1704, 'HE1': 0.143, 'CZ': -0.1072, 'HZ': 0.1297, 'CE2': -0.1704, 'HE2': 0.143, 'CD2': -0.1256, 'HD2': 0.133, 'C': 0.5973, 'O': -0.5679},
'PRO': {'N': -0.2548, 'CD': 0.0192, 'HD2': 0.0391, 'HD3': 0.0391, 'CG': 0.0189, 'HG2': 0.0213, 'HG3': 0.0213, 'CB': -0.007, 'HB2': 0.0253, 'HB3': 0.0253, 'CA': -0.0266, 'HA': 0.0641, 'C': 0.5896, 'O': -0.5748},
'SER': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0249, 'HA': 0.0843, 'CB': 0.2117, 'HB2': 0.0352, 'HB3': 0.0352, 'OG': -0.6546, 'HG': 0.4275, 'C': 0.5973, 'O': -0.5679},
'THR': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0389, 'HA': 0.1007, 'CB': 0.3654, 'HB': 0.0043, 'CG2': -0.2438, 'HG21': 0.0642, 'HG22': 0.0642, 'HG23': 0.0642, 'OG1': -0.6761, 'HG1': 0.4102, 'C': 0.5973, 'O': -0.5679},
'TRP': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0275, 'HA': 0.1123, 'CB': -0.005, 'HB2': 0.0339, 'HB3': 0.0339, 'CG': -0.1415, 'CD1': -0.1638, 'HD1': 0.2062, 'NE1': -0.3418, 'HE1': 0.3412, 'CE2': 0.138, 'CZ2': -0.2601, 'HZ2': 0.1572, 'CH2': -0.1134, 'HH2': 0.1417, 'CZ3': -0.1972, 'HZ3': 0.1447, 'CE3': -0.2387, 'HE3': 0.17, 'CD2': 0.1243, 'C': 0.5973, 'O': -0.5679},
'TYR': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0014, 'HA': 0.0876, 'CB': -0.0152, 'HB2': 0.0295, 'HB3': 0.0295, 'CG': -0.0011, 'CD1': -0.1906, 'HD1': 0.1699, 'CE1': -0.2341, 'HE1': 0.1656, 'CZ': 0.3226, 'OH': -0.5579, 'HH': 0.3992, 'CE2': -0.2341, 'HE2': 0.1656, 'CD2': -0.1906, 'HD2': 0.1699, 'C': 0.5973, 'O': -0.5679},
'VAL': {'N': -0.4157, 'H': 0.2719, 'CA': -0.0875, 'HA': 0.0969, 'CB': 0.2985, 'HB': -0.0297, 'CG1': -0.3192, 'HG11': 0.0791, 'HG12': 0.0791, 'HG13': 0.0791, 'CG2': -0.3192, 'HG21': 0.0791, 'HG22': 0.0791, 'HG23': 0.0791, 'C': 0.5973, 'O': -0.5679},
# nucleic acid charges
"DA" : {"P": 1.1659, "O1P": -0.7761, "O2P": -0.7761, "O5'": -0.4954, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.0431, "H1'": 0.1838, "N9": -0.0268, "C8": 0.1607, "H8": 0.1877, "N7": -0.6175, "C5": 0.0725, "C6": 0.6897, "N6": -0.9123, "H61": 0.4167, "H62": 0.4167, "N1": -0.7624, "C2": 0.5716, "H2": 0.0598, "N3": -0.7417, "C4": 0.38, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.5232},
"DA3": {"P": 1.1659, "O1P": -0.7761, "O2P": -0.7761, "O5'": -0.4954, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.0431, "H1'": 0.1838, "N9": -0.0268, "C8": 0.1607, "H8": 0.1877, "N7": -0.6175, "C5": 0.0725, "C6": 0.6897, "N6": -0.9123, "H61": 0.4167, "H62": 0.4167, "N1": -0.7624, "C2": 0.5716, "H2": 0.0598, "N3": -0.7417, "C4": 0.38, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.6549, "H3T": 0.4396},
"DA5": {"H5T": 0.4422, "O5'": -0.6318, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.0431, "H1'": 0.1838, "N9": -0.0268, "C8": 0.1607, "H8": 0.1877, "N7": -0.6175, "C5": 0.0725, "C6": 0.6897, "N6": -0.9123, "H61": 0.4167, "H62": 0.4167, "N1": -0.7624, "C2": 0.5716, "H2": 0.0598, "N3": -0.7417, "C4": 0.38, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.5232},
"DAN": {"H5T": 0.4422, "O5'": -0.6318, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.0431, "H1'": 0.1838, "N9": -0.0268, "C8": 0.1607, "H8": 0.1877, "N7": -0.6175, "C5": 0.0725, "C6": 0.6897, "N6": -0.9123, "H61": 0.4167, "H62": 0.4167, "N1": -0.7624, "C2": 0.5716, "H2": 0.0598, "N3": -0.7417, "C4": 0.38, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.6549, "H3T": 0.4396},
"DC" : {"P": 1.1659, "O1P": -0.7761, "O2P": -0.7761, "O5'": -0.4954, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": -0.0116, "H1'": 0.1963, "N1": -0.0339, "C6": -0.0183, "H6": 0.2293, "C5": -0.5222, "H5": 0.1863, "C4": 0.8439, "N4": -0.9773, "H41": 0.4314, "H42": 0.4314, "N3": -0.7748, "C2": 0.7959, "O2": -0.6548, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.5232},
"DC3": {"P": 1.1659, "O1P": -0.7761, "O2P": -0.7761, "O5'": -0.4954, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": -0.0116, "H1'": 0.1963, "N1": -0.0339, "C6": -0.0183, "H6": 0.2293, "C5": -0.5222, "H5": 0.1863, "C4": 0.8439, "N4": -0.9773, "H41": 0.4314, "H42": 0.4314, "N3": -0.7748, "C2": 0.7959, "O2": -0.6548, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.6549, "H3T": 0.4396},
"DC5": {"H5T": 0.4422, "O5'": -0.6318, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": -0.0116, "H1'": 0.1963, "N1": -0.0339, "C6": -0.0183, "H6": 0.2293, "C5": -0.5222, "H5": 0.1863, "C4": 0.8439, "N4": -0.9773, "H41": 0.4314, "H42": 0.4314, "N3": -0.7748, "C2": 0.7959, "O2": -0.6548, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.5232},
"DCN": {"H5T": 0.4422, "O5'": -0.6318, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": -0.0116, "H1'": 0.1963, "N1": -0.0339, "C6": -0.0183, "H6": 0.2293, "C5": -0.5222, "H5": 0.1863, "C4": 0.8439, "N4": -0.9773, "H41": 0.4314, "H42": 0.4314, "N3": -0.7748, "C2": 0.7959, "O2": -0.6548, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.6549, "H3T": 0.4396},
"DG" : {"P": 1.1659, "O1P": -0.7761, "O2P": -0.7761, "O5'": -0.4954, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.0358, "H1'": 0.1746, "N9": 0.0577, "C8": 0.0736, "H8": 0.1997, "N7": -0.5725, "C5": 0.1991, "C6": 0.4918, "O6": -0.5699, "N1": -0.5053, "H1": 0.352, "C2": 0.7432, "N2": -0.923, "H21": 0.4235, "H22": 0.4235, "N3": -0.6636, "C4": 0.1814, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.5232},
"DG3": {"P": 1.1659, "O1P": -0.7761, "O2P": -0.7761, "O5'": -0.4954, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.0358, "H1'": 0.1746, "N9": 0.0577, "C8": 0.0736, "H8": 0.1997, "N7": -0.5725, "C5": 0.1991, "C6": 0.4918, "O6": -0.5699, "N1": -0.5053, "H1": 0.352, "C2": 0.7432, "N2": -0.923, "H21": 0.4235, "H22": 0.4235, "N3": -0.6636, "C4": 0.1814, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.6549, "H3T": 0.4396},
"DG5": {"H5T": 0.4422, "O5'": -0.6318, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.0358, "H1'": 0.1746, "N9": 0.0577, "C8": 0.0736, "H8": 0.1997, "N7": -0.5725, "C5": 0.1991, "C6": 0.4918, "O6": -0.5699, "N1": -0.5053, "H1": 0.352, "C2": 0.7432, "N2": -0.923, "H21": 0.4235, "H22": 0.4235, "N3": -0.6636, "C4": 0.1814, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.5232},
"DGN": {"H5T": 0.4422, "O5'": -0.6318, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.0358, "H1'": 0.1746, "N9": 0.0577, "C8": 0.0736, "H8": 0.1997, "N7": -0.5725, "C5": 0.1991, "C6": 0.4918, "O6": -0.5699, "N1": -0.5053, "H1": 0.352, "C2": 0.7432, "N2": -0.923, "H21": 0.4235, "H22": 0.4235, "N3": -0.6636, "C4": 0.1814, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.6549, "H3T": 0.4396},
"DT" : {"P": 1.1659, "O1P": -0.7761, "O2P": -0.7761, "O5'": -0.4954, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.068, "H1'": 0.1804, "N1": -0.0239, "C6": -0.2209, "H6": 0.2607, "C5": 0.0025, "C7": -0.2269, "H71": 0.077, "H72": 0.077, "H73": 0.077, "C4": 0.5194, "O4": -0.5563, "N3": -0.434, "H3": 0.342, "C2": 0.5677, "O2": -0.5881, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.5232},
"DT3": {"P": 1.1659, "O1P": -0.7761, "O2P": -0.7761, "O5'": -0.4954, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.068, "H1'": 0.1804, "N1": -0.0239, "C6": -0.2209, "H6": 0.2607, "C5": 0.0025, "C7": -0.2269, "H71": 0.077, "H72": 0.077, "H73": 0.077, "C4": 0.5194, "O4": -0.5563, "N3": -0.434, "H3": 0.342, "C2": 0.5677, "O2": -0.5881, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.6549, "H3T": 0.4396},
"DT5": {"H5T": 0.4422, "O5'": -0.6318, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.068, "H1'": 0.1804, "N1": -0.0239, "C6": -0.2209, "H6": 0.2607, "C5": 0.0025, "C7": -0.2269, "H71": 0.077, "H72": 0.077, "H73": 0.077, "C4": 0.5194, "O4": -0.5563, "N3": -0.434, "H3": 0.342, "C2": 0.5677, "O2": -0.5881, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.5232},
"DTN": {"H5T": 0.4422, "O5'": -0.6318, "C5'": -0.0069, "H5'1": 0.0754, "H5'2": 0.0754, "C4'": 0.1629, "H4'": 0.1176, "O4'": -0.3691, "C1'": 0.068, "H1'": 0.1804, "N1": -0.0239, "C6": -0.2209, "H6": 0.2607, "C5": 0.0025, "C7": -0.2269, "H71": 0.077, "H72": 0.077, "H73": 0.077, "C4": 0.5194, "O4": -0.5563, "N3": -0.434, "H3": 0.342, "C2": 0.5677, "O2": -0.5881, "C3'": 0.0713, "H3'": 0.0985, "C2'": -0.0854, "H2'1": 0.0718, "H2'2": 0.0718, "O3'": -0.6549, "H3T": 0.4396},
"RA" : {"P": 1.1662, "O1P": -0.776, "O2P": -0.776, "O5'": -0.4989, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0394, "H1'": 0.2007, "N9": -0.0251, "C8": 0.2006, "H8": 0.1553, "N7": -0.6073, "C5": 0.0515, "C6": 0.7009, "N6": -0.9019, "H61": 0.4115, "H62": 0.4115, "N1": -0.7615, "C2": 0.5875, "H2": 0.0473, "N3": -0.6997, "C4": 0.3053, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.5246},
"RA3": {"P": 1.1662, "O1P": -0.776, "O2P": -0.776, "O5'": -0.4989, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0394, "H1'": 0.2007, "N9": -0.0251, "C8": 0.2006, "H8": 0.1553, "N7": -0.6073, "C5": 0.0515, "C6": 0.7009, "N6": -0.9019, "H61": 0.4115, "H62": 0.4115, "N1": -0.7615, "C2": 0.5875, "H2": 0.0473, "N3": -0.6997, "C4": 0.3053, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.6541, "H3T": 0.4376},
"RA5": {"H5T": 0.4295, "O5'": -0.6223, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0394, "H1'": 0.2007, "N9": -0.0251, "C8": 0.2006, "H8": 0.1553, "N7": -0.6073, "C5": 0.0515, "C6": 0.7009, "N6": -0.9019, "H61": 0.4115, "H62": 0.4115, "N1": -0.7615, "C2": 0.5875, "H2": 0.0473, "N3": -0.6997, "C4": 0.3053, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.5246},
"RAN": {"H5T": 0.4295, "O5'": -0.6223, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0394, "H1'": 0.2007, "N9": -0.0251, "C8": 0.2006, "H8": 0.1553, "N7": -0.6073, "C5": 0.0515, "C6": 0.7009, "N6": -0.9019, "H61": 0.4115, "H62": 0.4115, "N1": -0.7615, "C2": 0.5875, "H2": 0.0473, "N3": -0.6997, "C4": 0.3053, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.6541, "H3T": 0.4376},
"RC" : {"P": 1.1662, "O1P": -0.776, "O2P": -0.776, "O5'": -0.4989, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0066, "H1'": 0.2029, "N1": -0.0484, "C6": 0.0053, "H6": 0.1958, "C5": -0.5215, "H5": 0.1928, "C4": 0.8185, "N4": -0.953, "H41": 0.4234, "H42": 0.4234, "N3": -0.7584, "C2": 0.7538, "O2": -0.6252, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.5246},
"RC3": {"P": 1.1662, "O1P": -0.776, "O2P": -0.776, "O5'": -0.4989, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0066, "H1'": 0.2029, "N1": -0.0484, "C6": 0.0053, "H6": 0.1958, "C5": -0.5215, "H5": 0.1928, "C4": 0.8185, "N4": -0.953, "H41": 0.4234, "H42": 0.4234, "N3": -0.7584, "C2": 0.7538, "O2": -0.6252, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.6541, "H3T": 0.4376},
"RC5": {"H5T": 0.4295, "O5'": -0.6223, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0066, "H1'": 0.2029, "N1": -0.0484, "C6": 0.0053, "H6": 0.1958, "C5": -0.5215, "H5": 0.1928, "C4": 0.8185, "N4": -0.953, "H41": 0.4234, "H42": 0.4234, "N3": -0.7584, "C2": 0.7538, "O2": -0.6252, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.5246},
"RCN": {"H5T": 0.4295, "O5'": -0.6223, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0066, "H1'": 0.2029, "N1": -0.0484, "C6": 0.0053, "H6": 0.1958, "C5": -0.5215, "H5": 0.1928, "C4": 0.8185, "N4": -0.953, "H41": 0.4234, "H42": 0.4234, "N3": -0.7584, "C2": 0.7538, "O2": -0.6252, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.6541, "H3T": 0.4376},
"RG" : {"P": 1.1662, "O1P": -0.776, "O2P": -0.776, "O5'": -0.4989, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0191, "H1'": 0.2006, "N9": 0.0492, "C8": 0.1374, "H8": 0.164, "N7": -0.5709, "C5": 0.1744, "C6": 0.477, "O6": -0.5597, "N1": -0.4787, "H1": 0.3424, "C2": 0.7657, "N2": -0.9672, "H21": 0.4364, "H22": 0.4364, "N3": -0.6323, "C4": 0.1222, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.5246},
"RG3": {"P": 1.1662, "O1P": -0.776, "O2P": -0.776, "O5'": -0.4989, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0191, "H1'": 0.2006, "N9": 0.0492, "C8": 0.1374, "H8": 0.164, "N7": -0.5709, "C5": 0.1744, "C6": 0.477, "O6": -0.5597, "N1": -0.4787, "H1": 0.3424, "C2": 0.7657, "N2": -0.9672, "H21": 0.4364, "H22": 0.4364, "N3": -0.6323, "C4": 0.1222, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.6541, "H3T": 0.4376},
"RG5": {"H5T": 0.4295, "O5'": -0.6223, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0191, "H1'": 0.2006, "N9": 0.0492, "C8": 0.1374, "H8": 0.164, "N7": -0.5709, "C5": 0.1744, "C6": 0.477, "O6": -0.5597, "N1": -0.4787, "H1": 0.3424, "C2": 0.7657, "N2": -0.9672, "H21": 0.4364, "H22": 0.4364, "N3": -0.6323, "C4": 0.1222, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.5246},
"RGN": {"H5T": 0.4295, "O5'": -0.6223, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0191, "H1'": 0.2006, "N9": 0.0492, "C8": 0.1374, "H8": 0.164, "N7": -0.5709, "C5": 0.1744, "C6": 0.477, "O6": -0.5597, "N1": -0.4787, "H1": 0.3424, "C2": 0.7657, "N2": -0.9672, "H21": 0.4364, "H22": 0.4364, "N3": -0.6323, "C4": 0.1222, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.6541, "H3T": 0.4376},
"RU" : {"P": 1.1662, "O1P": -0.776, "O2P": -0.776, "O5'": -0.4989, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0674, "H1'": 0.1824, "N1": 0.0418, "C6": -0.1126, "H6": 0.2188, "C5": -0.3635, "H5": 0.1811, "C4": 0.5952, "O4": -0.5761, "N3": -0.3549, "H3": 0.3154, "C2": 0.4687, "O2": -0.5477, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.5246},
"RU3": {"P": 1.1662, "O1P": -0.776, "O2P": -0.776, "O5'": -0.4989, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0674, "H1'": 0.1824, "N1": 0.0418, "C6": -0.1126, "H6": 0.2188, "C5": -0.3635, "H5": 0.1811, "C4": 0.5952, "O4": -0.5761, "N3": -0.3549, "H3": 0.3154, "C2": 0.4687, "O2": -0.5477, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.6541, "H3T": 0.4376},
"RU5": {"H5T": 0.4295, "O5'": -0.6223, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0674, "H1'": 0.1824, "N1": 0.0418, "C6": -0.1126, "H6": 0.2188, "C5": -0.3635, "H5": 0.1811, "C4": 0.5952, "O4": -0.5761, "N3": -0.3549, "H3": 0.3154, "C2": 0.4687, "O2": -0.5477, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.5246},
"RUN": {"H5T": 0.4295, "O5'": -0.6223, "C5'": 0.0558, "H5'1": 0.0679, "H5'2": 0.0679, "C4'": 0.1065, "H4'": 0.1174, "O4'": -0.3548, "C1'": 0.0674, "H1'": 0.1824, "N1": 0.0418, "C6": -0.1126, "H6": 0.2188, "C5": -0.3635, "H5": 0.1811, "C4": 0.5952, "O4": -0.5761, "N3": -0.3549, "H3": 0.3154, "C2": 0.4687, "O2": -0.5477, "C3'": 0.2022, "H3'": 0.0615, "C2'": 0.067, "H2'1": 0.0972, "O2'": -0.6139, "HO'2": 0.4186, "O3'": -0.6541, "H3T": 0.4376}
}
lipophobicity = {
# standard amino acids
'ALA': {'C': -0.61, 'CA': 0.02, 'CB': 0.62, 'O': -0.58, 'N': -0.49, 'H': -0.5, 'HA': -0.25, 'HB1': 0.0, 'HB2': 0.0, 'HB3': 0.0, 'OXT': 0.49},
'ARG': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD': 0.45, 'CG': 0.45, 'CZ': -0.61, 'N': -0.49, 'NE': -0.49, 'NH1': -0.14, 'NH2': -0.69, 'O': -0.58, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HG2': 0.0, 'HG3': 0.0, 'HD2': -0.25, 'HD3': -0.25, 'HE': -0.5, 'HH11': -0.5, 'HH12': -0.5, 'HH21': -0.5, 'HH22': -0.5, '1HH1': -0.5, '2HH1': -0.5, '1HH2': -0.5, '2HH2': -0.5, 'OXT': 0.49},
'ASN': {'C': -0.61, 'CA': 0.02, 'CB': 0.02, 'CG': -0.61, 'N': -0.49, 'ND2': -0.14, 'O': -0.58, 'OD1': -0.58, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HD21': -0.5, 'HD22': -0.5, '1HD2': -0.5, '2HD2': -0.5, 'OXT': 0.49},
'ASP': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CG': -0.61, 'N': -0.49, 'O': -0.58, 'OD1': -0.58, 'OD2': 0.49, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'OXT': 0.49},
'CYS': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'N': -0.49, 'O': -0.58, 'SG': 0.29, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'OXT': 0.49},
'GLN': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD': -0.54, 'CG': 0.45, 'N': -0.49, 'NE2': -0.14, 'O': -0.58, 'OE1': -0.58, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HG2': 0.0, 'HG3': 0.0, 'HE21': -0.5, 'HE22': -0.5, '1HE2': -0.5, '2HE2': -0.5, 'OXT': 0.49},
'GLU': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD': -0.54, 'CG': 0.45, 'N': -0.49, 'O': -0.58, 'OE1': -0.58, 'OE2': 0.49, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HG2': 0.0, 'HG3': 0.0, 'OXT': 0.49},
'GLY': {'C': -0.61, 'CA': 0.45, 'O': -0.58, 'N': -0.57, 'H': -0.5, 'HA': -0.25, 'HA2': 0.0, 'HA3': 0.0, 'OXT': 0.49},
'HIS': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD2': 0.31, 'CE1': 0.31, 'CG': 0.1, 'N': -0.49, 'ND1': 0.08, 'NE2': -1.14, 'O': -0.58, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HD1': -0.5, 'HD2': -0.25, 'HE1': -0.25, 'OXT': 0.49},
'ILE': {'C': -0.61, 'CA': 0.02, 'CB': 0.02, 'CD': 0.63, 'CD1': 0.63, 'CG1': 0.45, 'CG2': 0.63, 'N': -0.49, 'O': -0.58, 'H': -0.5, 'HA': -0.25, 'HB': 0.0, 'HG12': 0.0, 'HG13': 0.0, 'HG21': 0.0, 'HG22': 0.0, 'HG23': 0.0, 'HD11': 0.0, 'HD12': 0.0, 'HD13': 0.0, '2HG1': 0.0, '3HG1': 0.0, '1HG2': 0.0, '2HG2': 0.0, '3HG2': 0.0, '1HD1': 0.0, '2HD1': 0.0, '3HD1': 0.0, 'OXT': 0.49},
'LEU': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD1': 0.63, 'CD2': 0.63, 'CG': 0.02, 'N': -0.49, 'O': -0.58, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HG': 0.0, 'HD11': 0.0, 'HD12': 0.0, 'HD13': 0.0, 'HD21': 0.0, 'HD22': 0.0, 'HD23': 0.0, '1HD1': 0.0, '2HD1': 0.0, '3HD1': 0.0, '1HD2': 0.0, '2HD2': 0.0, '3HD2': 0.0, 'OXT': 0.49},
'LYS': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD': 0.45, 'CE': 0.45, 'CG': 0.45, 'N': -0.49, 'NZ': -1.07, 'O': -0.58, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HG2': 0.0, 'HG3': 0.0, 'HD2': 0.0, 'HD3': 0.0, 'HE2': -0.2, 'HE3': -0.2, 'HZ1': -0.5, 'HZ2': -0.5, 'HZ3': -0.5, 'OXT': 0.49, },
'MET': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CE': 0.63, 'CG': 0.45, 'N': -0.49, 'O': -0.58, 'SD': -0.30, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HG2': 0.0, 'HG3': 0.0, 'HE1': 0.0, 'HE2': 0.0, 'HE3': -0.5, 'OXT': 0.49, },
'PHE': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD1': 0.31, 'CD2': 0.31, 'CE1': 0.31, 'CE2': 0.31, 'CG': 0.1, 'CZ': 0.31, 'N': -0.49, 'O': -0.58, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HD1': 0.0, 'HD2': 0.0, 'HE1': 0.0, 'HE2': 0.0, 'HZ': 0.0, 'OXT': 0.49},
'PRO': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD': 0.45, 'CG': 0.45, 'N': -0.92, 'O': -0.58, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HG2': 0.0, 'HG3': 0.0, 'HD2': -0.2, 'HD3': -0.2, 'OXT': 0.49, },
'SER': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'N': -0.49, 'O': -0.58, 'OG': -0.99, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HG': 0.0, 'OXT': 0.49, },
'THR': {'C': -0.61, 'CA': 0.02, 'CB': 0.02, 'CG2': 0.62, 'N': -0.49, 'O': -0.58, 'OG1': -0.9, 'H': -0.5, 'HA': -0.25, 'HB': 0.0, 'HG1': 0.0, 'HG21': 0.0, 'HG22': 0.0, 'HG23': 0.0, '1HG2': 0.0, '2HG2': 0.0, '3HG2': 0.0, 'OXT': 0.49, },
'TRP': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD1': 0.31, 'CD2': 0.25, 'CE2': 0.25, 'CE3': 0.31, 'CG': 0.1, 'CH2': 0.31, 'CZ2': 0.31, 'CZ3': 0.31, 'N': -0.49, 'NE1': 0.08, 'O': -0.58, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HE1': -0.5, 'HD1': -0.2, 'HE3': 0.0, 'HZ2': 0.0, 'HZ3': 0.0, 'HH2': 0.0, 'OXT': 0.49, },
'TYR': {'C': -0.61, 'CA': 0.02, 'CB': 0.45, 'CD1': 0.31, 'CD2': 0.31, 'CE1': 0.31, 'CE2': 0.31, 'CG': 0.1, 'CZ': 0.1, 'N': -0.49, 'O': -0.58, 'OH': -0.17, 'H': -0.5, 'HA': -0.25, 'HB2': 0.0, 'HB3': 0.0, 'HD1': 0.0, 'HD2': 0.0, 'HE1': 0.0, 'HE2': 0.0, 'HH': 0.0, 'OXT': 0.49, },
'VAL': {'C': -0.61, 'CA': 0.02, 'CB': 0.02, 'CG1': 0.62, 'CG2': 0.62, 'N': -0.49, 'O': -0.58, 'H': -0.5, 'HA': -0.25, 'HB': 0.0, 'HG11': 0.0, 'HG12': 0.0, 'HG13': 0.0, 'HG21': 0.0, 'HG22': 0.0, 'HG23': 0.0, '1HG1': 0.0, '2HG1': 0.0, '3HG1': 0.0, '1HG2': 0.0, '2HG2': 0.0, '3HG2': 0.0, 'OXT': 0.49, },
# other potential residues
'CA' : {'CA': -1.0},
'NAG': {'C1': 0.02, 'C2': 0.02, 'C3': 0.02, 'C4': 0.02, 'C5': 0.02, 'C6': 0.31, 'C7': -0.61, 'C8': 0.62, 'O1': -0.92, 'O2': -0.92, 'O3': -0.92, 'O4': -0.92, 'O5': -1.14, 'O6': -0.99, 'O7': -0.58, 'N2': -0.49, 'H2': -0.25, 'HN2': -0.5, },
'NDG': {'C1': 0.02, 'C2': 0.02, 'C3': 0.02, 'C4': 0.02, 'C5': 0.02, 'C6': 0.031, 'C7': -0.61, 'C8': 0.62, 'O1L': -0.9, 'O3': -0.92, 'O4': -0.92, 'O': -1.14, 'O6': -0.99, 'O7': -0.58, 'N2': -0.29, },
'BMA': {'C1': 0.02, 'C2': 0.02, 'C3': 0.02, 'C4': 0.02, 'C5': 0.02, 'C6': 0.31, 'O1': -0.92, 'O2': -0.92, 'O3': -0.92, 'O4': -0.92, 'O5': -1.14, 'O6': -0.58, },
'MAN': {'C1': 0.02, 'C2': 0.02, 'C3': 0.02, 'C4': 0.02, 'C5': 0.02, 'C6': 0.31, 'O1': -0.92, 'O2': -0.92, 'O3': -0.92, 'O4': -0.92, 'O5': -1.14, 'O6': -0.58, },
'GAL': {'C1': 0.02, 'C2': 0.02, 'C3': 0.02, 'C4': 0.02, 'C5': 0.02, 'C6': 0.31, 'O1': -0.92, 'O2': -0.92, 'O3': -0.92, 'O4': -0.92, 'O5': -1.14, 'O6': -0.58, },
'NAN': {'C1': -0.61, 'C2': 0.02, 'C3': 0.62, 'C4': 0.02, 'C5': 0.02, 'C6': 0.02, 'C7': 0.02, 'C8': 0.02, 'C9': 0.31, 'C10': -0.6, 'C11': 0.62, 'O1A': -0.2, 'O1B': -0.4, 'O2': -0.92, 'O4': -0.92, 'O6': -1.14, 'O7': -0.92, 'O8': -0.92, 'O9': -0.7, 'O10': -0.2, 'N5': -0.49, 'NH5': -0.5, },
'DG' : {'P': -0.94, 'O1P': -0.7, 'O2P': -0.22, "O5'": -0.5, "C5'": 0.45, "C4'": 0.02, "O4'": -1.14, "C1'": 0.02, "C2'": 0.45, "C3'": 0.02, "O3'": -0.92, 'N9': -1.66, 'C8': 0.31, 'N7': -0.55, 'C5': 0.25, 'C6': 0.1, 'O6': -0.58, 'N1': -0.49, 'C2': 0.1, 'N2': -0.6, 'N3': -0.07, 'C4': -0.25, },
'DA' : {'P': -0.94, 'O1P': -0.7, 'O2P': -0.22, "O5'": -0.5, "C5'": 0.45, "C4'": 0.02, "O4'": -1.14, "C1'": 0.02, "C2'": 0.45, "C3'": 0.02, "O3'": -0.92, 'N9': -1.66, 'C8': 0.31, 'N7': -0.55, 'C5': 0.25, 'C6': 0.1, 'N6': -0.6, 'N1': -0.49, 'C2': 0.31, 'N2': -0.6, 'N3': -0.07, 'C4': -0.25, },
'DC' : {'P': -0.94, 'O1P': -0.7, 'O2P': -0.22, "O5'": -0.5, "C5'": 0.45, "C4'": 0.02, "O4'": -1.14, "C1'": 0.02, "C2'": 0.45, "C3'": 0.02, "O3'": -0.92, 'N1': -1.66, 'C2': 0.1, 'O2': -0.58, 'N3': -0.29, 'C4': 0.1, 'N4': -0.6, 'C5': 0.31, 'C6': 0.31},
'DT' : {'P': -0.94, 'O1P': -0.7, 'O2P': -0.22, "O5'": -0.5, "C5'": 0.45, "C4'": 0.02, "O4'": -1.14, "C1'": 0.02, "C2'": 0.45, "C3'": 0.02, "O3'": -0.92, 'N1': -1.66, 'C2': 0.1, 'O2': -0.58, 'N3': 0.16, 'C4': 0.25, 'O4': -0.58, 'C5': 0.1, 'C6': 0.31, 'C7': 0.45},
'G' : {'P': -0.94, 'O1P': -0.7, 'O2P': -0.22, "O5'": -0.5, "C5'": 0.45, "C4'": 0.02, "O4'": -1.14, "C1'": 0.02, "C2'": 0.02, "O2'": -0.92, "C3'": 0.02, "O3'": -0.92, 'N9': -1.66, 'C8': 0.31, 'N7': -0.55, 'C5': 0.25, 'C6': 0.1, 'O6': -0.58, 'N1': -0.49, 'C2': 0.1, 'N2': -0.6, 'N3': -0.07, 'C4': -0.25},
'A' : {'P': -0.94, 'O1P': -0.7, 'O2P': -0.22, "O5'": -0.5, "C5'": 0.45, "C4'": 0.02, "O4'": -1.14, "C1'": 0.02, "C2'": 0.02, "O2'": -0.92, "C3'": 0.02, "O3'": -0.92, 'N9': -1.66, 'C8': 0.31, 'N7': -0.55, 'C5': 0.25, 'C6': 0.1, 'N6': -0.6, 'N1': -0.49, 'C2': 0.31, 'N2': -0.6, 'N3': -0.07, 'C4': -0.25},
'C' : {'P': -0.94, 'O1P': -0.7, 'O2P': -0.22, "O5'": -0.5, "C5'": 0.45, "C4'": 0.02, "O4'": -1.14, "C1'": 0.02, "C2'": 0.02, "O2'": -0.92, "C3'": 0.02, "O3'": -0.92, 'N1': -1.66, 'C2': 0.1, 'O2': -0.58, 'N3': -0.29, 'C4': 0.1, 'N4': -0.6, 'C5': 0.31, 'C6': 0.31},
'U' : {'P': -0.94, 'O1P': -0.7, 'O2P': -0.22, "O5'": -0.5, "C5'": 0.45, "C4'": 0.02, "O4'": -1.14, "C1'": 0.02, "C2'": 0.02, "O2'": -0.92, "C3'": 0.02, "O3'": -0.92, 'N1': -1.66, 'C2': 0.1, 'O2': -0.58, 'N3': 0.16, 'C4': 0.25, 'O4': -0.58, 'C5': 0.1, 'C6': 0.31},
}
# taken from biotite code: https://www.biotite-python.org/examples/gallery/structure/glycan_visualization.html
# originally adapted from "Mol*" Software
# The dictionary maps residue names of saccharides to their common names
SACCHARIDE_NAMES = {
res_name : common_name for common_name, res_names in [
("Glc", ["GLC", "BGC", "Z8T", "TRE", "MLR"]),
("Man", ["MAN", "BMA"]),
("Gal", ["GLA", "GAL", "GZL", "GXL", "GIV"]),
("Gul", ["4GL", "GL0", "GUP", "Z8H"]),
("Alt", ["Z6H", "3MK", "SHD"]),
("All", ["AFD", "ALL", "WOO", "Z2D"]),
("Tal", ["ZEE", "A5C"]),
("Ido", ["ZCD", "Z0F", "4N2"]),
("GlcNAc", ["NDG", "NAG", "NGZ"]),
("ManNAc", ["BM3", "BM7"]),
("GalNAc", ["A2G", "NGA", "YYQ"]),
("GulNAc", ["LXB"]),
("AllNAc", ["NAA"]),
("IdoNAc", ["LXZ"]),
("GlcN", ["PA1", "GCS"]),
("ManN", ["95Z"]),
("GalN", ["X6X", "1GN"]),
("GlcA", ["GCU", "BDP"]),
("ManA", ["MAV", "BEM"]),
("GalA", ["ADA", "GTR", "GTK"]),
("GulA", ["LGU"]),
("TalA", ["X1X", "X0X"]),
("IdoA", ["IDR"]),
("Qui", ["G6D", "YYK"]),
("Rha", ["RAM", "RM4", "XXR"]),
("6dGul", ["66O"]),
("Fuc", ["FUC", "FUL", "FCA", "FCB"]),
("QuiNAc", ["Z9W"]),
("FucNAc", ["49T"]),
("Oli", ["DDA", "RAE", "Z5J"]),
("Tyv", ["TYV"]),
("Abe", ["ABE"]),
("Par", ["PZU"]),
("Dig", ["Z3U"]),
("Ara", ["64K", "ARA", "ARB", "AHR", "FUB", "BXY", "BXX"]),
("Lyx", ["LDY", "Z4W"]),
("Xyl", ["XYS", "XYP", "XYZ", "HSY", "LXC"]),
("Rib", ["YYM", "RIP", "RIB", "BDR", "0MK", "Z6J", "32O"]),
("Kdn", ["KDM", "KDN"]),
("Neu5Ac", ["SIA", "SLB"]),
("Neu5Gc", ["NGC", "NGE"]),
("LDManHep", ["GMH"]),
("Kdo", ["KDO"]),
("DDManHep", ["289"]),