From: Yaroslav Halchenko <debian@onerussian.com>
Subject: Initiated by fixing crash while providing a single 4D volume

since it requires 1 more formatcard (%s) in the string for the interpolation

also complemented with use of os.path.merge as exemplars to write OS-agnostic
path handling

Origin: NeuroDebian
Last-Update: 2012-11-29

--- a/pkundu/meica.py
+++ b/pkundu/meica.py
@@ -388,7 +388,7 @@ sl.append("3dcalc -overwrite -a s0v.nii
 if options.anat!='':
 	#Copy in anatomical and make sure its in +orig space
 	logcomment("Copy anatomical into ME-ICA directory and process warps",level=1)
-	sl.append("cp %s/%s* ." % (startdir,nsmprage))	
+	sl.append("cp %s* ." % os.path.merge(startdir,nsmprage))
 	abmprage = nsmprage
 	refanat = nsmprage
 	if options.space:
@@ -396,15 +396,15 @@ if options.anat!='':
 		if '/' in options.space: 
 			sl.append("ll=\"%s\"; templateloc=${ll%%/*}/" % options.space)
 			options.space=options.space.split('/')[-1]
-  		else:
+		else:
 			sl.append("templateloc=${afnibinloc%/*}")
 		atnsmprage = "%s_at.nii.gz" % (dsprefix(nsmprage))
 		if not dssuffix(nsmprage).__contains__('nii'): sl.append("3dcalc -float -a %s -expr 'a' -prefix %s.nii.gz" % (nsmprage,dsprefix(nsmprage)))
 		logcomment("If can't find affine-warped anatomical, copy native anatomical here, compute warps (takes a while) and save in start dir. ; otherwise link in existing files")
 		sl.append("if [ ! -e %s/%s ]; then \@auto_tlrc -no_ss -base ${templateloc}/%s -input %s.nii.gz -suffix _at" % (startdir,atnsmprage,options.space,dsprefix(nsmprage)))
 		sl.append("cp %s.nii %s" % (dsprefix(atnsmprage),startdir))
-		sl.append("gzip -f %s/%s.nii" % (startdir,dsprefix(atnsmprage)))
-		sl.append("else ln -s %s/%s ." % (startdir,atnsmprage))
+		sl.append("gzip -f %s.nii" % os.path.merge(startdir,dsprefix(atnsmprage)))
+		sl.append("else ln -s %s ." % os.path.merge(startdir,atnsmprage))
 		refanat = '%s/%s' % (startdir,atnsmprage)
 		sl.append("fi")
 		sl.append("3dcopy %s/%s.nii.gz %s" % (startdir,dsprefix(atnsmprage),dsprefix(atnsmprage)))
@@ -424,7 +424,7 @@ if options.anat!='':
 	
 	#Set anatomical reference for anatomical-functional co-registration
 	if oblique_mode: alnsmprage = "./%s_ob.nii.gz" % (anatprefix)
-	else: alnsmprage = "%s/%s" % (startdir,nsmprage)
+	else: alnsmprage = os.path.merge(startdir,nsmprage)
 	if options.coreg_mode=='lp-t2s': 
 		logcomment("Using alignp_mepi_anat.py to drive T2*-map weighted anatomical-functional coregistration")
 		t2salignpath = 'meica.libs/alignp_mepi_anat.py'
@@ -552,7 +552,7 @@ for echo_ii in range(len(datasets)):
 if len(ica_datasets)==1:
 	dsin = ''.join(ica_datasets)+trailing
 	ica_prefix = dsin
-	ica_input="./%s_in%s" % (prefix,''.join(ica_datasets),trailing)
+	ica_input="./%s_in%s%s" % (prefix,''.join(ica_datasets),trailing)
 	ica_mask="eBvrmask.nii.gz"
 else:
 	ica_input = "zcat_ffd.nii.gz" 
