From 8dbcea2003cacb477219639c0f6b9c13fb04bfb6 Mon Sep 17 00:00:00 2001
From: barillac <barillac>
Date: Wed, 30 Oct 2013 09:54:07 +0000
Subject: [PATCH] dropbox script for importing movies of genes

SVN: 30059
---
 screening/sinergia/import-genes.py | 75 ++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)
 create mode 100644 screening/sinergia/import-genes.py

diff --git a/screening/sinergia/import-genes.py b/screening/sinergia/import-genes.py
new file mode 100644
index 00000000000..c111588e48e
--- /dev/null
+++ b/screening/sinergia/import-genes.py
@@ -0,0 +1,75 @@
+#! /usr/bin/env python
+"""
+  Script for uploading gene data. Data is organized in directories called as gene names. In each of these are:
+  two pdf files (gene and RNA); 10 mp4 gene files; 10 mp4 control files.
+  Samples with gene names must already exist in openBIS (created with import-clusters.py script). All data should go in the corresponding sample.  
+"""
+
+import os, re, glob, shutil
+from time import *
+from datetime import *
+
+
+from java.io import File
+from ch.systemsx.cisd.openbis.dss.etl.dto.api.v1 import SimpleImageDataConfig, ImageMetadata, Location
+from ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto import Geometry
+from ch.systemsx.cisd.openbis.dss.etl.dto.api.v1 import SimpleImageContainerDataConfig, ChannelColor
+from loci.formats import ImageReader
+
+print "###################################################"
+tz=localtime()[3]-gmtime()[3]
+d=datetime.now()
+print d.strftime("%Y-%m-%d %H:%M:%S GMT"+"%+.2d" % tz+":00")
+
+
+def process(transaction):
+	incoming = transaction.getIncoming()
+	geneName = os.path.basename(incoming.getPath())
+
+#Set project/experiment/sample
+	project = transaction.getProject("/SINERGIA/CLUSTERS")
+	exp = transaction.getExperiment("/SINERGIA/CLUSTERS/CLUSTERS")
+	sample = transaction.getSample("/SINERGIA/" + geneName)
+
+#upload the gene pdf and the RNA pdf
+	for pdf in glob.glob(os.path.join(incoming.getPath(), '*.pdf')):
+		dataSetPDF = transaction.createNewDataSet()
+		dataSetPDF.setDataSetType("PDF")
+		dataSetPDF.setSample(sample)
+		transaction.moveFile(pdf, dataSetPDF)
+ 
+# upload the 10 tif images for each gene	
+#	tifDir = incoming.getPath() + "/tiffs"
+#	if not os.path.exists(tifDir):
+#		os.makedirs(tifDir)
+#	for tif in glob.glob(os.path.join(incoming.getPath(), '*.tif')):
+#		shutil.move(tif, tifDir)
+#	dataSetTIF = transaction.createNewDataSet()
+#	dataSetTIF.setDataSetType("TIF_IMAGES")
+#	dataSetTIF.setSample(sample)
+#	transaction.moveFile(tifDir, dataSetTIF)
+
+#upload the 10 control movies
+	videoControlDir = incoming.getPath() + "/controlVideos"
+	if not os.path.exists(videoControlDir):
+		os.makedirs(videoControlDir)
+	for mp4 in glob.glob(os.path.join(incoming.getPath(), 'control*.mp4')):
+		shutil.move(mp4, videoControlDir)
+	dataSetMP4Control = transaction.createNewDataSet()
+ 	dataSetMP4Control.setDataSetType("VIDEOS")
+ 	dataSetMP4Control.setSample(sample)
+ 	transaction.moveFile(videoControlDir, dataSetMP4Control)
+
+#upload the 10 gene synthetic movies
+	videoGeneDir = incoming.getPath() + "/geneVideos"
+	if not os.path.exists(videoGeneDir):
+		os.makedirs(videoGeneDir)
+	for mp4 in glob.glob(os.path.join(incoming.getPath(), '*.mp4')):
+		shutil.move(mp4, videoGeneDir)
+	dataSetMP4Gene = transaction.createNewDataSet()
+ 	dataSetMP4Gene.setDataSetType("VIDEOS")
+ 	dataSetMP4Gene.setSample(sample)
+ 	transaction.moveFile(videoGeneDir, dataSetMP4Gene)
+
+
+
-- 
GitLab