aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--workflows/pangenome-generate/delete_entries_on_arvados.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/workflows/pangenome-generate/delete_entries_on_arvados.py b/workflows/pangenome-generate/delete_entries_on_arvados.py
new file mode 100644
index 0000000..d281456
--- /dev/null
+++ b/workflows/pangenome-generate/delete_entries_on_arvados.py
@@ -0,0 +1,34 @@
+import sys
+import arvados
+import arvados.collection
+
+from datetime import datetime
+
+date_time_str = '2020-08-20'
+date_time_obj = datetime.strptime(date_time_str, '%Y-%m-%d')
+
+api = arvados.api()
+keepclient = arvados.keep.KeepClient(api_client=api)
+
+validated = arvados.util.list_all(api.collections().list, filters=[
+ ["owner_uuid", "=", sys.argv[1]],
+# ["properties.status", "=", "validated"]
+])
+
+# validated.sort(key=lambda v: v["portable_data_hash"])
+
+num_sample_deleted = 0
+for item in validated:
+ sequence_label = item['properties']["sequence_label"]
+
+ # The SRA samples start with SRR or ERR
+ if not sequence_label.startswith('SRR') and not sequence_label.startswith('ERR'):
+ created_at_obj = datetime.strptime(item["created_at"], '%Y-%m-%dT%H:%M:%S.%fZ')
+ # print(item, created_at_obj)
+
+ if created_at_obj < date_time_obj:
+ api.collections().delete(uuid=item['current_version_uuid']).execute()
+ num_sample_deleted += 1
+ print(sequence_label)
+
+print('num_sample_deleted: {}'.format(num_sample_deleted))