doAnalysis.py 955 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import analysis
  2. import sys
  3. import os
  4. import getData
  5. import json
  6. import config
  7. def main(configFile):
  8. with open(configFile,'r') as f:
  9. xsetup=json.load(f)
  10. db,fb=getData.connectDB(xsetup['network'])
  11. try:
  12. qfilter=xsetup['patientFilter']
  13. except KeyError:
  14. qfilter=[]
  15. rows=getData.getPatients(db,xsetup,qfilter)
  16. for r in rows:
  17. getData.downloadCenters(fb,r,xsetup)
  18. mode=['global','IVF']
  19. tempDir=config.getTempDir(xsetup)
  20. for r in rows:
  21. code=config.getCode(r,xsetup)
  22. for m in mode:
  23. #check if we need to run analysis
  24. files=config.printFitParFinalRowNames(r,xsetup,m)
  25. fullFiles=[os.path.join(tempDir,code,f) for f in files]
  26. filesPresent=[os.path.isfile(f) for f in fullFiles]
  27. if not all(filesPresent):
  28. analysis.doAnalysisRow(r,xsetup,m)
  29. getData.uploadFitParFinal(fb,r,xsetup,m)
  30. if __name__=="__main__":
  31. main(sys.argv[1])