Changeset 5930
- Timestamp:
- May 6, 2020, 9:43:30 AM (3 years ago)
- Location:
- extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/Reggie.java
r5903 r5930 417 417 418 418 /** 419 Get the prefix from the name. A prefix is a 420 number of letters/numbers followed by an underscore. 421 Returns null if the name has no prefix. 422 @since 4.27 423 */ 424 public static String getPrefix(String name) 425 { 426 int i = name.indexOf('_'); 427 return i > 0 ? name.substring(0, i) : null; 428 } 429 430 /** 419 431 Mark all related files for removal. 420 432 @since 2.16 -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/CufflinksJobCreator.java
r5790 r5930 502 502 if (externalGroup != null) 503 503 { 504 script.cmd("chgrp -R " + externalGroup + " ${CufflinksFolder} 2>> ${WD}/chgrp.out || echo [" + rawName +"] >> ${WD}/chgrp.out");504 ScriptUtil.addChgrp(externalGroup, "${CufflinksFolder}", rawName, null, script); 505 505 } 506 506 script.cmd("ls -1 ${CufflinksFolder}/* >> ${WD}/files.out"); -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/HisatAlignJobCreator.java
r5791 r5930 444 444 if (externalGroup != null) 445 445 { 446 script.cmd("chgrp -R " + externalGroup + " ${HisatFolder} 2>> ${WD}/chgrp.out || echo [" + alignedName +"] >> ${WD}/chgrp.out");446 ScriptUtil.addChgrp(externalGroup, "${HisatFolder}", alignedName, null, script); 447 447 } 448 448 script.cmd("ls -1 ${HisatFolder}/* >> ${WD}/files.out"); -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/MBafJobCreator.java
r5618 r5930 251 251 if (externalGroup != null) 252 252 { 253 script.cmd("chgrp -R " + externalGroup + " ${BamFolder}/mbaf* 2>> ${WD}/chgrp.out || echo [" + aligned.getName() +"] >> ${WD}/chgrp.out");253 ScriptUtil.addChgrp(externalGroup, "${BamFolder}/mbaf*", aligned.getName(), null, script); 254 254 } 255 255 -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/MipsAlignJobCreator.java
r5843 r5930 413 413 if (externalGroup != null) 414 414 { 415 script.cmd("chgrp -R " + externalGroup + " ${AlignFolder} 2>> ${WD}/chgrp.out || echo [" + alignedName +"] >> ${WD}/chgrp.out");415 ScriptUtil.addChgrp(externalGroup, "${AlignFolder}", alignedName, null, script); 416 416 } 417 417 script.cmd("ls -1 ${AlignFolder}/* >> ${WD}/files.out"); -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/MipsDemuxJobCreator.java
r5865 r5930 367 367 if (externalGroup != null) 368 368 { 369 script.cmd("chgrp -R " + externalGroup + " " + fastqFolder + " 2>> ${WD}/chgrp.out || echo [" + mergeName +"] >> ${WD}/chgrp.out");369 ScriptUtil.addChgrp(externalGroup, fastqFolder, mergeName, archiveRoot+"/"+Reggie.getPrefix(mergeName), script); 370 370 } 371 371 -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/RnaSeqDemuxJobCreator.java
r5865 r5930 450 450 if (externalGroup != null) 451 451 { 452 script.cmd("chgrp -R " + externalGroup + " " + fastqFolder + " 2>> ${WD}/chgrp.out || echo [" + mergeName +"] >> ${WD}/chgrp.out");452 ScriptUtil.addChgrp(externalGroup, fastqFolder, mergeName, archiveRoot+"/"+Reggie.getPrefix(mergeName), script); 453 453 } 454 454 -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/ScriptUtil.java
r5619 r5930 71 71 } 72 72 73 /** 74 Add a 'chgrp' command to set the group of the given 'folder' and all files and subdirectories in it. 75 If a 'parentFolder' is given and is a parent folder of the 'folder' a 'chgrp' command is added 76 to parent folder up to (but not including) the parent folder. Errors are logged to ${WD}/chgrp.out. 77 'itemName' is used for logging errors only 78 @since 4.27 79 */ 80 public static void addChgrp(String groupName, String folder, String itemName, String parentFolder, ScriptBuilder script) 81 { 82 // Make sure parent folder ends with '/' and folder doesn't so that the while loop breaks correctly 83 if (folder.endsWith("/")) folder = folder.substring(0, folder.length()-1); 84 if (parentFolder != null && !parentFolder.endsWith("/")) parentFolder += "/"; 85 86 script.cmd("chgrp -R " + groupName + " " + folder + " 2>> ${WD}/chgrp.out || echo [" + itemName +"] >> ${WD}/chgrp.out"); 87 88 while (parentFolder != null) 89 { 90 int last = folder.lastIndexOf('/'); 91 if (last == -1) break; 92 folder = folder.substring(0, last); // Move up one directory: /foo/bar/x --> /foo/bar 93 // Check if we have reached the parent folder 94 if (folder.indexOf(parentFolder) == -1) break; 95 96 script.cmd("chgrp " + groupName + " " + folder + " 2>> ${WD}/chgrp.out || echo [" + itemName +"] >> ${WD}/chgrp.out"); 97 } 98 } 99 73 100 /** 74 101 We only allow letters, numbers, dot, underscore and forward slash in path names. -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/StringTieJobCreator.java
r5790 r5930 297 297 if (externalGroup != null) 298 298 { 299 script.cmd("chgrp -R " + externalGroup + " ${StringTieFolder} 2>> ${WD}/chgrp.out || echo [" + rawName +"] >> ${WD}/chgrp.out");299 ScriptUtil.addChgrp(externalGroup, "${StringTieFolder}", rawName, null, script); 300 300 } 301 301 script.cmd("ls -1 ${StringTieFolder}/* >> ${WD}/files.out"); -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/VariantCallingJobCreator.java
r5877 r5930 502 502 if (externalGroup != null) 503 503 { 504 script.cmd("chgrp -R " + externalGroup + " ${BamFolder}/variants-* 2>> ${WD}/chgrp.out || echo [" + aligned.getName() +"] >> ${WD}/chgrp.out");504 ScriptUtil.addChgrp(externalGroup, "${BamFolder}/variants-*", aligned.getName(), null, script); 505 505 } 506 506 } … … 515 515 if (externalGroup != null) 516 516 { 517 script.cmd("chgrp -R " + externalGroup + " ${FilteredFolder}/* 2>> ${WD}/chgrp.out || echo [" + aligned.getName() +"] >> ${WD}/chgrp.out");517 ScriptUtil.addChgrp(externalGroup, "${FilteredFolder}", aligned.getName(), null, script); 518 518 } 519 519 }
Note: See TracChangeset
for help on using the changeset viewer.