Changeset 1938
- Timestamp:
- Apr 17, 2013, 2:50:51 PM (10 years ago)
- Location:
- extensions/net.sf.basedb.reggie/trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/net.sf.basedb.reggie/trunk/resources/libprep/assign_barcode.jsp
r1932 r1938 224 224 { 225 225 // Set the 'stratagene'/'external' flag 226 cdna.stratagene = cdna.name.indexOf( STRATAGENE_NAME) == 0;226 cdna.stratagene = cdna.name.indexOf(GENERIC_STRATAGENE_NAME) == 0; 227 227 cdna.external = cdna.name.indexOf(EXTERNAL_RNA_NAME) == 0; 228 228 } … … 602 602 { 603 603 background-image: url('../images/mrnaqc.png'); 604 background-position: 95% 5%;604 background-position: 95% 25%; 605 605 background-repeat: no-repeat; 606 606 } -
extensions/net.sf.basedb.reggie/trunk/resources/libprep/mrna_protocol2.jsp
r1929 r1938 140 140 var rna = mrna.rna; 141 141 // Set the 'stratagene' flag 142 rna.stratagene = rna.name == STRATAGENE_NAME;142 rna.stratagene = rna.name.indexOf(GENERIC_STRATAGENE_NAME) == 0; 143 143 rna.external = rna.name == EXTERNAL_RNA_NAME; 144 144 … … 466 466 { 467 467 background-image: url('../images/mrnaqc.png'); 468 background-position: 95% 5%;468 background-position: 95% 25%; 469 469 background-repeat: no-repeat; 470 470 } -
extensions/net.sf.basedb.reggie/trunk/resources/libprep/select_rna.jsp
r1929 r1938 56 56 var tmp = {}; 57 57 tmp.name = name; 58 tmp.stratagene = name == STRATAGENE_NAME;58 tmp.stratagene = name.indexOf(GENERIC_STRATAGENE_NAME) == 0; 59 59 tmp.external = name == EXTERNAL_RNA_NAME; 60 60 tmp.info = rna.infoByName(name); … … 70 70 var tmp = {}; 71 71 tmp.name = info.name; 72 tmp.stratagene = tmp.name == STRATAGENE_NAME;72 tmp.stratagene = tmp.name.indexOf(GENERIC_STRATAGENE_NAME) == 0; 73 73 tmp.external = tmp.name == EXTERNAL_RNA_NAME; 74 74 tmp.id = info.id; … … 185 185 186 186 var warningMsg = null; 187 if (info.bioWell) 188 { 189 var rnaWell = info.bioWell; 190 text += '<div class="location">'+rnaWell.bioPlate.name+'['+rnaWell.location+']</div>'; 191 } 192 else if (!rna.stratagene && !rna.external) 193 { 194 if (!warningMsg) warningMsg = 'No location'; 195 } 196 187 197 if (info && info.id && !rna.stratagene && !rna.external) 188 198 { … … 190 200 var use = Math.ceil(quantity/info.NDConc); 191 201 var water = Math.round(50-use); 192 if (info.bioWell)193 {194 var rnaWell = info.bioWell;195 text += '<div class="location">'+rnaWell.bioPlate.name+'['+WELL_ALPHA[rnaWell.row]+(rnaWell.column+1)+']</div>';196 }197 else198 {199 if (!warningMsg) warningMsg = 'No location';200 }201 202 if (info.remainingQuantity) 202 203 { … … 227 228 if (!warningMsg) warningMsg = 'No NDConc value'; 228 229 } 229 if (warningMsg)230 {231 well.setWarning(warningMsg);232 }233 230 } 234 231 else if (!rna.id) … … 240 237 text += '<div class="comment">'+Main.encodeTags(rna.comment)+'</div>'; 241 238 } 239 if (warningMsg) 240 { 241 well.setWarning(warningMsg); 242 } 242 243 } 243 244 else if (well.copyText) … … 257 258 function init() 258 259 { 260 loadStratagene(); 261 259 262 keepSessionAlive('<%=ID%>', debug, '../'); 260 263 … … 274 277 Plate.name = findNextMRnaPlateName(); 275 278 setInnerHTML('plateName', Plate.name); 279 } 280 281 function loadStratagene() 282 { 283 var request = Ajax.getXmlHttpRequest(); 284 var url = '../MRna.servlet?ID=<%=ID%>&cmd=GetStratagene'; 285 if (debug) Main.debug(url); 286 request.open("GET", url, false); 287 request.send(null); 288 289 if (debug) Main.debug(request.responseText); 290 var response = JSON.parse(request.responseText); 291 if (response.status != 'ok') 292 { 293 setFatalError(response.message); 294 return false; 295 } 296 297 var stratagene = response.stratagene; 298 299 var frm = document.forms['reggie']; 300 301 for (var i = 0; i < stratagene.length; i++) 302 { 303 var s = stratagene[i]; 304 var name = s.name; 305 if (s.bioWell) 306 { 307 name += ' -- ' + s.bioWell.bioPlate.name + ' ('+s.bioWell.location + ')'; 308 } 309 frm.stratagene[frm.stratagene.length] = new Option(name, s.name); 310 } 311 276 312 } 277 313 … … 374 410 function setToStratagene() 375 411 { 376 setToSpecial(STRATAGENE_NAME, true); 412 var frm = document.forms['reggie']; 413 setToSpecial(frm.stratagene.value, true); 377 414 } 378 415 … … 1509 1546 </tr> 1510 1547 <tr valign="top"> 1548 <td class="prompt">Stratagene to use</td> 1549 <td class="input"> 1550 <select name="stratagene" style="width: 25em;"></select> 1551 </td> 1552 <td class="help"> 1553 Select the Stratagene tube to use. If not known, the 1554 generic <b>Stratagene.r</b> (last in the list) should be used. 1555 </td> 1556 </tr> 1557 <tr valign="top"> 1511 1558 <td class="prompt">Preliminary pool layout</td> 1512 1559 <td class="input"> 1513 <select name="pool_schema" onchange="poolSchemaOnChange()" ></select>1560 <select name="pool_schema" onchange="poolSchemaOnChange()" style="width: 25em;"></select> 1514 1561 </td> 1515 1562 <td class="help">Preliminary pool layout (can be changed later).</td> -
extensions/net.sf.basedb.reggie/trunk/resources/reggie.js
r1927 r1938 2 2 var WELL_ALPHA = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; 3 3 4 var STRATAGENE_NAME = 'Stratagene.r';4 var GENERIC_STRATAGENE_NAME = 'Stratagene.r'; 5 5 var EXTERNAL_RNA_NAME = 'External.r'; 6 6 -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/dao/Rna.java
r1908 r1938 63 63 64 64 /** 65 The name of the RNA item in BASE that represents Stratagene. 65 The name of the RNA item in BASE that represents Generic Stratagene. 66 Tracked Stratagene should use the pattern 'Stratagene.rNNN' where 67 'NNN' is a number. 66 68 @since 2.12 67 69 */ … … 73 75 */ 74 76 public static final String EXTERNAL = "External.r"; 77 78 /** 79 Checks if an item with the given name is a Stratagene RNA or a 80 derivative from a Stratagene RNA. 81 @since 2.12 82 */ 83 public static boolean isStratagene(String name) 84 { 85 return name.startsWith(STRATAGENE); 86 } 75 87 76 88 /** … … 109 121 // Filter on id not equal to any that has a RNAQC child 110 122 query.restrict(Restrictions.neq(Hql.property("id"), Expressions.all(subquery))); 111 // Filter on creation date (eg. to get rid of 'Stratagene')123 // Filter on creation date==null and parent != null (eg. to get rid of 'Stratagene') 112 124 query.join(Hql.innerJoin("creationEvent", "ce")); 113 125 query.restrict(Restrictions.neq(Hql.property("ce", "eventDate"), null)); 126 query.restrict(Restrictions.neq(Hql.property("parent"), null)); 114 127 115 128 query.order(Orders.asc(Hql.property("id"))); 129 130 return toRna(query.list(dc)); 131 } 132 133 /** 134 Find all Stratagene RNA that is available for selection in the 135 mRNA wizards. This should include all 'Stratagene.rNNN' where 136 'NNN' is a number that has a registered location on a bioplate, and 137 the generic 'Stratagene.r' extract. 138 */ 139 public static List<Rna> findStratagene(DbControl dc) 140 { 141 ItemQuery<Extract> query = Extract.getQuery(); 142 query.setIncludes(Reggie.INCLUDE_IN_CURRENT_PROJECT); 143 // Join bioplate 144 query.join(Hql.leftJoin(null, "bioWell", "bw", null, true)); 145 query.join(Hql.leftJoin("bw", "bioPlate", "bp", null, true)); 146 147 // Filter on RNA subtype 148 Subtype.RNA.addFilter(dc, query); 149 150 // Filter on name='Stratagene.r' OR name ~ 'Stratagene.rNNN' 151 query.restrict( 152 Restrictions.or( 153 Restrictions.eq(Hql.property("name"), Expressions.string(Rna.STRATAGENE)), 154 Restrictions.and( 155 Restrictions.rlike(Hql.property("name"), Expressions.string("^"+ Rna.STRATAGENE + "[0-9]+$")), 156 Restrictions.neq(Hql.property("bioWell"), null) 157 ) 158 ) 159 ); 160 161 // Sort by bioplate position -- those without plate are sorted last by name 162 query.order(Orders.asc(Hql.expression("coalesce(bp.name, 'zzzz')", null))); 163 query.order(Orders.asc(Hql.property("bw", "row"))); 164 query.order(Orders.asc(Hql.property("bw", "column"))); 165 query.order(Orders.asc(Hql.property("name"))); 116 166 117 167 return toRna(query.list(dc)); -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/servlet/MRnaServlet.java
r1899 r1938 94 94 json.put("name", bioPlateType.generateNextName(dc, 1)); 95 95 } 96 else if ("GetStratagene".equals(cmd)) 97 { 98 dc = sc.newDbControl(); 99 List<Rna> stratagene = Rna.findStratagene(dc); 100 101 JSONArray jsonStratagene = new JSONArray(); 102 for (Rna s : stratagene) 103 { 104 s.loadBioPlateLocation(); 105 jsonStratagene.add(s.asJSONObject()); 106 } 107 json.put("stratagene", jsonStratagene); 108 109 } 96 110 else if ("GetUnprocessedPlates".equals(cmd)) 97 111 { … … 143 157 query.join(Hql.innerJoin("creationEvent", "ce")); 144 158 query.restrict(Restrictions.neq(Hql.property("ce", "eventDate"), null)); 159 // Filter on parent != null (to get rid of 'Stratagene' 160 query.restrict(Restrictions.neq(Hql.property("parent"), null)); 145 161 146 162 // Join AUTO_PROCESSING annotation
Note: See TracChangeset
for help on using the changeset viewer.