Compare commits
5 Commits
dev
...
beta-relea
Author | SHA1 | Date |
---|---|---|
|
53336c410c | |
|
711af96d29 | |
|
f7c3069145 | |
|
0e0d72ec9c | |
|
754000952b |
32
README.md
32
README.md
|
@ -51,7 +51,7 @@ However, it is much easier to click-and-drag the desired region.
|
|||
If we click and hold on a well (see right pane), that specifies our start well.
|
||||
Then, we can drag and subsequently release on our desired end well.
|
||||
|
||||
Our selected wells will be highlighted in light blue for our source plate and light red for our destination plate.
|
||||
Our selected wells will be bolded (thicker outline).
|
||||
You might also notice that some wells are hatched:
|
||||
this indicates wells that will be used in the transfer.
|
||||
Not all selected wells will necessarily be hatched,
|
||||
|
@ -68,6 +68,29 @@ When finished, click the "Save" button to commit these changes.
|
|||
|
||||
If you no longer need a transfer, select it as above and then click the "Delete" button.
|
||||
|
||||
#### Interleave
|
||||
Interleave can be set for both source and destination plates.
|
||||
Essentially, it can be read as "use every Nth well".
|
||||
That is, a source row interleave of 2 would use every other row of the selected region.
|
||||
It is permitted to have interleave in both dimensions on both plates in a single transfer.
|
||||
|
||||
#### Pooling
|
||||
Consider a case where you want to condense an entire column in a source plate into just one row in the destination.
|
||||
Instead of creating multiple transfers, it is sufficient to set the destination row interleave to 0.
|
||||
An 0 interleave can be thought of as condensing that dimension to a point.
|
||||
For this reason, 0 interleaves are not permitted on source plates (consider what this would represent).
|
||||
Similarly, 0 interleaves are not permitted in replicate transfers (see next section).
|
||||
|
||||
#### Replicates
|
||||
Where pooling permits a "many-to-one" transfer, replicates are "one-to-many".
|
||||
This behavior is achieved by selecting a region in the destination plate instead of just a plate.
|
||||
(If the corners of the destination region are not identical, it is a replicate.)
|
||||
|
||||
Plate-tool will attempt to fit as many copies into the selected destination region as space permits.
|
||||
Partial copies will not be created.
|
||||
That is, if a source region is 3 wells wide and a destination region is 7 wells wide,
|
||||
2 copies will be made, and the 7th well in the destination will be left unused.
|
||||
|
||||
### Importing and Exporting
|
||||
|
||||
#### Export as CSV
|
||||
|
@ -201,3 +224,10 @@ Here's how:
|
|||
- You may need to check where `cargo` is installing binaries by default. For me, they're at `~/.cargo/bin`.
|
||||
If trunk is not automatically placed in your path, you would then run `/your/path/to/.cargo/bin/trunk serve`.
|
||||
- You can instead run `trunk build --release` for a more performant binary.
|
||||
|
||||
## Bug Reports and Further Help
|
||||
|
||||
Any requests for help or assistance with bugs can be sent to platetool(at)ilia.moe
|
||||
|
||||
If reporting a bug, ideally include what it was you were trying to do and, if possible, a screenshot or any logs in
|
||||
your browser's console.
|
||||
|
|
|
@ -6,13 +6,17 @@ div.plate_container {
|
|||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-evenly;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
border: 2px solid $color-dark;
|
||||
grid-column: right / right;
|
||||
grid-row: upper / 3;
|
||||
|
||||
@media (min-height: 900px) {
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-bottom: 1%;
|
||||
text-align: center;
|
||||
|
|
|
@ -53,6 +53,41 @@ td.current_select div.plate_cell_inner {
|
|||
|
||||
|
||||
// Styles for specific plate types:
|
||||
.W96 {
|
||||
th {
|
||||
font-size: 0.9rem;
|
||||
line-height: 0px;
|
||||
}
|
||||
tr:first-child {
|
||||
th {
|
||||
line-height: inherit;
|
||||
}
|
||||
}
|
||||
td {
|
||||
padding: 0;
|
||||
}
|
||||
td.current_select div.plate_cell_inner {
|
||||
border: 2px solid black;
|
||||
}
|
||||
}
|
||||
|
||||
.W384 {
|
||||
th {
|
||||
font-size: 0.9rem;
|
||||
line-height: 0px;
|
||||
}
|
||||
tr:first-child {
|
||||
th {
|
||||
line-height: inherit;
|
||||
}
|
||||
}
|
||||
td {
|
||||
padding: 0;
|
||||
}
|
||||
td.current_select div.plate_cell_inner {
|
||||
border: 2px solid black;
|
||||
}
|
||||
}
|
||||
|
||||
.W1536 {
|
||||
th {
|
||||
|
|
|
@ -13,6 +13,8 @@ div.tree {
|
|||
height: 100%;
|
||||
border: 2px solid $color-dark;
|
||||
|
||||
overflow: scroll;
|
||||
|
||||
h3 {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
|
|
@ -121,9 +121,18 @@ pub fn Plate(props: &PlateProps) -> Html {
|
|||
|
||||
let mouseleave_callback = Callback::clone(&mouseup_callback);
|
||||
|
||||
let screenshot_callback = Callback::from(|_| {
|
||||
let _ = js_sys::eval("copy_screenshot_src()");
|
||||
});
|
||||
let screenshot_callback = {
|
||||
match props.ptype {
|
||||
PlateType::Source =>
|
||||
Callback::from(|_| {
|
||||
let _ = js_sys::eval("copy_screenshot_src()");
|
||||
}),
|
||||
PlateType::Destination =>
|
||||
Callback::from(|_| {
|
||||
let _ = js_sys::eval("copy_screenshot_dest()");
|
||||
}),
|
||||
}
|
||||
};
|
||||
|
||||
let width = match props.ptype {
|
||||
PlateType::Source => props.source_plate.plate.size().1,
|
||||
|
|
Loading…
Reference in New Issue