diff extract_tables.py @ 21:d7a88a8a8f5f draft

Uploaded
author ieguinoa
date Fri, 06 Nov 2020 20:14:09 +0000
parents d85e35a36715
children 758e5bc32bbb
line wrap: on
line diff
--- a/extract_tables.py	Tue Oct 06 12:26:38 2020 +0000
+++ b/extract_tables.py	Fri Nov 06 20:14:09 2020 +0000
@@ -3,6 +3,8 @@
 import os
 import pathlib
 
+from datetime import datetime
+
 parser = argparse.ArgumentParser()
 parser.add_argument('--studies',dest='studies_json_path', required=True)
 parser.add_argument('--out_dir',dest='out_path', required=True)
@@ -25,15 +27,18 @@
 
 action = 'add'
 viral_submission = False
+
+dt_oobj = datetime.now(tz=None)
+timestamp = dt_oobj.strftime("%Y%m%d_%H:%M:%S")
 for study_index, study in enumerate(studies_dict):
-    study_alias = 'study_'+str(study_index)
+    study_alias = 'study_'+str(study_index)+'_'+timestamp
     studies_table.write('\t'.join([study_alias,action,'ENA_accession',study['title'], study['type'],study['abstract'],study['pubmed_id'],'ENA_submission_data']))
     if "geo_location" in study['samples'][0].keys(): # sample belongs to a viral sample
         samples_table.write('\t'.join(['alias','status','accession','title','scientific_name','taxon_id','sample_description','collection_date','geographic_location','host_common_name','host_subject_id','host_health_state','host_sex','host_scientific_name','collector_name','collecting_institution','isolate','submission_date']) + '\n')
     else:
         samples_table.write('\t'.join(['alias','status','accession','title','scientific_name','taxon_id','sample_description','submission_date']) + '\n')
     for sample_index,sample in enumerate(study['samples']):
-        sample_alias = 'sample_'+str(sample_index)
+        sample_alias = 'sample_'+str(sample_index)+'_'+timestamp
         if "geo_location" in sample.keys(): # sample belongs to a viral sample
             if sample['collector_name'] == '':
                 sample['collector_name'] = 'unknown'
@@ -41,14 +46,14 @@
         else:
             samples_table.write('\t'.join([sample_alias,action,'ena_accession',sample['title'],sample['tax_name'], sample['tax_id'],sample['description'],'ENA_submission_date'])+ '\n')
         for exp_index,exp in enumerate(sample['experiments']):
-            exp_alias = 'experiment_'+str(exp_index)+'_'+str(sample_index)
+            exp_alias = 'experiment_'+str(exp_index)+'.'+str(sample_index)+'_'+timestamp
             lib_alias = 'library_'+str(exp_index)+'_'+str(sample_index)
             experiments_table.write('\t'.join([exp_alias,action,'accession_ena',exp['title'],study_alias,sample_alias,exp['experiment_design'],lib_alias,exp['library_strategy'],exp['library_source'],exp['library_selection'],exp['library_layout'].lower(),exp['insert_size'],exp['library_construction_protocol'],exp['platform'],exp['instrument_model'],'submission_date_ENA']) + '\n')
             run_index = 0
             # exp['runs'] is a list of lists
             for run in exp['runs']:
                 run_index += 1
-                run_alias = '_'.join(['run',str(exp_index),str(sample_index),str(run_index)])
+                run_alias = '.'.join(['run_'+str(run_index),str(exp_index),str(sample_index)]) + '_' +timestamp
                 for file_entry in run:
                     file_format = 'fastq'
                     runs_table.write('\t'.join([run_alias,action,'ena_run_accession',exp_alias,file_entry,file_format,'file_checksum','submission_date_ENA']) + '\n')