33import json
44from datetime import date
55
6+
67def today ():
78 """
89 Get today's snapshot of Brain Image Library.
@@ -23,85 +24,136 @@ def today():
2324 else :
2425 print ("Error: Failed to fetch JSON data" )
2526 return pd .DataFrame ()
26-
27+
28+
2729def __get_number_of_datasets (df ):
28- return len (df )
30+ return len (df )
31+
2932
3033def __get_completeness_score (df ):
31- return df ['score' ].sum ()/ len (df )
34+ return df ["score" ].sum () / len (df )
35+
3236
3337def __is_reachable (url ):
34- response = requests .get (url )
38+ response = requests .get (url )
39+
40+ if response .status_code == 200 :
41+ return True
42+ else :
43+ return False
3544
36- if response .status_code == 200 :
37- return True
38- else :
39- return False
4045
4146def __get_metadata_version (df ):
42- return df ['metadata_version' ] .value_counts ().to_dict ()
47+ return df ["metadata_version" ].value_counts ().to_dict ()
48+
4349
4450def __get_contributor (df ):
45- return df ['contributor' ].value_counts ().to_dict ()
51+ return df ["contributor" ].value_counts ().to_dict ()
52+
4653
4754def __get_affilation (df ):
48- return df ['affiliation' ].value_counts ().to_dict ()
55+ return df ["affiliation" ].value_counts ().to_dict ()
56+
57+ def __get_awards (df ):
58+ return df ["award_number" ].unique ()
4959
5060def __get_award_number (df ):
51- return df ['award_number' ].value_counts ().to_dict ()
61+ return df ["award_number" ].value_counts ().to_dict ()
62+
5263
5364def __get_species (df ):
54- return df ['species' ].value_counts ().to_dict ()
65+ return df ["species" ].value_counts ().to_dict ()
66+
5567
5668def __get_cnbtaxonomy (df ):
57- return df ['cnbtaxonomy' ].value_counts ().to_dict ()
69+ return df ["cnbtaxonomy" ].value_counts ().to_dict ()
70+
5871
5972def __get_samplelocalid (df ):
60- return df ['samplelocalid' ].value_counts ().to_dict ()
73+ return df ["samplelocalid" ].value_counts ().to_dict ()
74+
6175
6276def __get_genotype (df ):
63- return df ['genotype' ].value_counts ().to_dict ()
77+ return df ["genotype" ].value_counts ().to_dict ()
78+
6479
6580def __get_generalmodality (df ):
66- return df ['generalmodality' ].value_counts ().to_dict ()
81+ return df ["generalmodality" ].value_counts ().to_dict ()
82+
6783
6884def __get_technique (df ):
69- return df ['technique' ].value_counts ().to_dict ()
85+ return df ["technique" ].value_counts ().to_dict ()
86+
7087
7188def __get_locations (df ):
72- return df ['locations' ].value_counts ().to_dict ()
89+ return df ["locations" ].value_counts ().to_dict ()
90+
91+ def __get_contributors (df ):
92+ """
93+ This returns an array of contributor names from the contributorname column.
94+ """
95+ return df ["contributorname" ].unique ()
96+
97+
98+ def __get_project_names (df ):
99+ '''
100+ Gets the unique list of project names.
101+
102+ Input: dataframe
103+ Output: list
104+ '''
105+ return df ['project' ].unique ()
106+
107+ def __get_list_of_projects (df ):
108+ '''
109+ Get the list of names for unique projects
110+
111+ Input parameter: dataframe
112+ Output: list of projects
113+ '''
114+
115+ return df ['project' ].unique ().to_dict ()
116+
117+ def __get_number_of_projects (df ):
118+ '''
119+ Get the number of unique projects
120+
121+ Input parameter: dataframe
122+ Output: number of projects
123+ '''
124+
125+ return len (df ['project' ].unique ())
73126
74127def report ():
75128 # Get today's date
76- tdate = date .today ()
77-
78- # Convert date to string
79- tdate = tdate .strftime ("%Y-%m-%d" )
80-
81- df = today ()
82-
83- report = {}
84- report ['date' ] = tdate
85- report ['number_of_datasets' ] = __get_number_of_datasets (df )
86- report ['completeness_score' ] = __get_completeness_score (df )
87- report ['metadata_version' ] = __get_metadata_version (df )
88- report ['contributor' ] = __get_contributor (df )
89- report ['affiliation' ] = __get_affilation (df )
90- report ['award_number' ] = __get_award_number (df )
91- report ['species' ] = __get_species (df )
92- report ['cnbtaxonomy' ] = __get_cnbtaxonomy (df )
93- report ['samplelocalid' ] = __get_samplelocalid (df )
94- report ['genotype' ] = __get_genotype (df )
95- report ['generalmodality' ] = __get_generalmodality (df )
96- report ['technique' ] = __get_technique (df )
97- report ['locations' ] = __get_locations (df )
98-
99- report ['is_reachable' ] = df ['URL' ].apply (__is_reachable )
100-
101- df = pd .DataFrame ('genotypes' )
102- genotype_frequency = df ['genotypes' ].value_counts ()
103- print ("Genotype Frequency:" )
104- print (genotype_frequency )
105-
106- return report
107-
129+ tdate = date .today ()
130+
131+ # Convert date to string
132+ tdate = tdate .strftime ("%Y-%m-%d" )
133+
134+ df = today ()
135+
136+ def __get_genotype_frequency (df ):
137+ """
138+ Write documentation here.
139+ """
140+ return df ['genotypes' ].value_counts ().to_dict ()
141+
142+ report = {}
143+ report ["date" ] = tdate
144+ report ["number_of_datasets" ] = __get_number_of_datasets (df )
145+ report ["completeness_score" ] = __get_completeness_score (df )
146+ report ["metadata_version" ] = __get_metadata_version (df )
147+ report ["contributor" ] = __get_contributor (df )
148+ report ["affiliation" ] = __get_affilation (df )
149+ report ["award_number" ] = __get_award_number (df )
150+ report ["species" ] = __get_species (df )
151+ report ["cnbtaxonomy" ] = __get_cnbtaxonomy (df )
152+ report ["samplelocalid" ] = __get_samplelocalid (df )
153+ report ["genotype" ] = __get_genotype (df )
154+ report ["generalmodality" ] = __get_generalmodality (df )
155+ report ["technique" ] = __get_technique (df )
156+ report ["locations" ] = __get_locations (df )
157+ report ["is_reachable" ] = df ["URL" ].apply (__is_reachable )
158+
159+ return report
0 commit comments