@@ -1841,17 +1841,21 @@ def process_bundle(self):
1841
1841
}
1842
1842
1843
1843
# tag site observations
1844
+ cat_canon = TagCategory .objects .get (category = "CanonSites" )
1844
1845
for val in canon_site_objects .values (): # pylint: disable=no-member
1845
1846
prefix = val .instance .canon_site_num
1846
1847
tag = canon_name_tag_map .get (val .versioned_key , "UNDEFINED" )
1847
1848
so_list = SiteObservation .objects .filter (
1848
1849
canon_site_conf__canon_site = val .instance
1849
1850
)
1850
- self ._tag_observations (tag , prefix , "CanonSites" , so_list )
1851
+ self ._tag_observations (
1852
+ tag , prefix , category = cat_canon , site_observations = so_list
1853
+ )
1851
1854
1852
1855
logger .debug ("canon_site objects tagged" )
1853
1856
1854
1857
numerators = {}
1858
+ cat_conf = TagCategory .objects .get (category = "ConformerSites" )
1855
1859
for val in canon_site_conf_objects .values (): # pylint: disable=no-member
1856
1860
if val .instance .canon_site .canon_site_num not in numerators .keys ():
1857
1861
numerators [val .instance .canon_site .canon_site_num ] = alphanumerator ()
@@ -1866,10 +1870,13 @@ def process_bundle(self):
1866
1870
# site_observations_versioned[k]
1867
1871
# for k in val.index_data["members"]
1868
1872
]
1869
- self ._tag_observations (tag , prefix , "ConformerSites" , so_list )
1873
+ self ._tag_observations (
1874
+ tag , prefix , category = cat_conf , site_observations = so_list , hidden = True
1875
+ )
1870
1876
1871
1877
logger .debug ("conf_site objects tagged" )
1872
1878
1879
+ cat_quat = TagCategory .objects .get (category = "Quatassemblies" )
1873
1880
for val in quat_assembly_objects .values (): # pylint: disable=no-member
1874
1881
prefix = f"A{ val .instance .assembly_num } "
1875
1882
tag = val .instance .name
@@ -1878,20 +1885,26 @@ def process_bundle(self):
1878
1885
quat_assembly = val .instance
1879
1886
).values ("xtalform" )
1880
1887
)
1881
- self ._tag_observations (tag , prefix , "Quatassemblies" , so_list )
1888
+ self ._tag_observations (
1889
+ tag , prefix , category = cat_quat , site_observations = so_list
1890
+ )
1882
1891
1883
1892
logger .debug ("quat_assembly objects tagged" )
1884
1893
1894
+ cat_xtal = TagCategory .objects .get (category = "Crystalforms" )
1885
1895
for val in xtalform_objects .values (): # pylint: disable=no-member
1886
1896
prefix = f"F{ val .instance .xtalform_num } "
1887
1897
tag = val .instance .name
1888
1898
so_list = SiteObservation .objects .filter (
1889
1899
xtalform_site__xtalform = val .instance
1890
1900
)
1891
- self ._tag_observations (tag , prefix , "Crystalforms" , so_list )
1901
+ self ._tag_observations (
1902
+ tag , prefix , category = cat_xtal , site_observations = so_list
1903
+ )
1892
1904
1893
1905
logger .debug ("xtalform objects tagged" )
1894
1906
1907
+ cat_xtalsite = TagCategory .objects .get (category = "CrystalformSites" )
1895
1908
for val in xtalform_sites_objects .values (): # pylint: disable=no-member
1896
1909
prefix = (
1897
1910
f"F{ val .instance .xtalform .xtalform_num } "
@@ -1901,7 +1914,13 @@ def process_bundle(self):
1901
1914
so_list = [
1902
1915
site_observation_objects [k ].instance for k in val .index_data ["residues" ]
1903
1916
]
1904
- self ._tag_observations (tag , prefix , "CrystalformSites" , so_list )
1917
+ self ._tag_observations (
1918
+ tag ,
1919
+ prefix ,
1920
+ category = cat_xtalsite ,
1921
+ site_observations = so_list ,
1922
+ hidden = True ,
1923
+ )
1905
1924
1906
1925
logger .debug ("xtalform_sites objects tagged" )
1907
1926
@@ -1912,7 +1931,7 @@ def process_bundle(self):
1912
1931
self ._tag_observations (
1913
1932
"New" ,
1914
1933
"" ,
1915
- "Other" ,
1934
+ TagCategory . objects . get ( category = "Other" ) ,
1916
1935
[
1917
1936
k .instance
1918
1937
for k in site_observation_objects .values () # pylint: disable=no-member
@@ -2020,7 +2039,14 @@ def _generate_poses(self):
2020
2039
obvs .pose = pose
2021
2040
obvs .save ()
2022
2041
2023
- def _tag_observations (self , tag , prefix , category , so_list ):
2042
+ def _tag_observations (
2043
+ self ,
2044
+ tag : str ,
2045
+ prefix : str ,
2046
+ category : TagCategory ,
2047
+ site_observations : list ,
2048
+ hidden : bool = False ,
2049
+ ) -> None :
2024
2050
try :
2025
2051
# memo to self: description is set to tag, but there's
2026
2052
# no fk to tag, instead, tag has a fk to
@@ -2056,18 +2082,20 @@ def _tag_observations(self, tag, prefix, category, so_list):
2056
2082
# changing anything.
2057
2083
so_tag .mol_group = so_group
2058
2084
except SiteObservationTag .DoesNotExist :
2059
- so_tag = SiteObservationTag ()
2060
- so_tag .tag = tag
2061
- so_tag .tag_prefix = prefix
2062
- so_tag .upload_name = name
2063
- so_tag .category = TagCategory .objects .get (category = category )
2064
- so_tag .target = self .target
2065
- so_tag .mol_group = so_group
2085
+ so_tag = SiteObservationTag (
2086
+ tag = tag ,
2087
+ tag_prefix = prefix ,
2088
+ upload_name = name ,
2089
+ category = category ,
2090
+ target = self .target ,
2091
+ mol_group = so_group ,
2092
+ hidden = hidden ,
2093
+ )
2066
2094
2067
2095
so_tag .save ()
2068
2096
2069
- so_group .site_observation .add (* so_list )
2070
- so_tag .site_observations .add (* so_list )
2097
+ so_group .site_observation .add (* site_observations )
2098
+ so_tag .site_observations .add (* site_observations )
2071
2099
2072
2100
def _is_already_uploaded (self , target_created , project_created ):
2073
2101
if target_created or project_created :
0 commit comments