-
Notifications
You must be signed in to change notification settings - Fork 0
make new resource markdown (resource migration 2/3) #73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
37fd2cf
5e1c540
75fbc17
9f43b2b
a345633
478c946
e0fd5b2
cc336ee
6653ea5
eb6b692
3e89540
211c55a
ee27bd4
00d073e
2bdcb98
879d577
1a50470
1e1ee25
079639a
f9283a8
be3ef5c
971039c
c12a1aa
72038d2
fc2b31f
f793be6
89d19e2
a517a79
666a21a
7369d06
d98830e
6104fb3
137179e
0c37800
8d88a8d
8264972
0d4765e
2b14e68
2c25a81
2127cba
8411c40
8d3b7b9
fbe2502
23a5c69
a097dae
1c4aec8
0fdcd79
09f471d
4973738
362361f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| export const RESOURCE_TYPES = { | ||
| SOFTWARE_TOOL: "softwareTool", | ||
| DATASET: "dataset", | ||
| PROTOCOL_LINK: "protocolLink", | ||
| PROTOCOL_FILE: "protocolFile", | ||
| CELL_LINE: "cellLine", | ||
| } as const; | ||
|
|
||
| export type ResourceType = (typeof RESOURCE_TYPES)[keyof typeof RESOURCE_TYPES]; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| --- | ||
| templateKey: resource | ||
| name: '60x timelapse images of tagged lines "after" EMT, "sandwich" dataset' | ||
| resourceDetails: | ||
| type: dataset | ||
| name: '60x timelapse images of tagged lines "after" EMT, "sandwich" dataset' | ||
| status: Preliminary | ||
| --- |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| --- | ||
| templateKey: resource | ||
| name: Actin compression simulation dataset | ||
| resourceDetails: | ||
| type: dataset | ||
| name: Actin compression simulation dataset | ||
| description: | | ||
| ### Overview | ||
|
|
||
| This dataset contains simulated data of actin filaments using the monomer-scale model [ReaDDy](https://github.com/simularium/readdy-models) and fiber-scale model [Cytosim](https://github.com/simularium/Cytosim). | ||
|
|
||
| Simulation conditions test compression of a single 500 nm actin filament at different velocities, as well as control simulations with no compression. | ||
|
|
||
| Compression simulations use the prefix `ACTIN_COMPRESSION_VELOCITY`; control simulations use the prefix `ACTIN_NO_COMPRESSION`. | ||
|
|
||
| Compression simulation keys include the following: | ||
|
|
||
| - `0047` = 4.7 μm/s | ||
| - `0150` = 15 μm/s | ||
| - `0470` = 47 μm/s | ||
| - `1500` = 150 μm/s | ||
|
|
||
| For _ReaDDy_, the actin filament is composed of particles, each representing an actin monomer, initialized based on measurements from an actin crystal structure. Compression was implemented by linearly displacing the three monomers at the pointed end for one time step and then allowing the structure to relax for nine time steps, until the fiber was compressed to 350 nm. Each simulation condition contains 5 replicates. | ||
|
|
||
| For _Cytosim_, the actin filament is modeled as a 500 nm fiber anchored by two fiber-binding linkers spaced 10 nm apart at each end. The linkers on one of the ends were translated linearly for one time step and allowed to relax for nine time steps, until the fiber was compressed to 350 nm. Each simulation condition contains 5 replicates, with replicates corresponding to random seeds 1, 2, 3, 4, and 5. | ||
|
|
||
| ### Usage | ||
|
|
||
| For documentation on how to use and interact with this dataset please refer to [https://docs.quiltdata.com/walkthrough/getting-data-from-a-package](https://docs.quiltdata.com/walkthrough/getting-data-from-a-package). | ||
|
|
||
| ### License | ||
|
|
||
| For questions on licensing please refer to [https://www.allencell.org/terms-of-use.html](https://www.allencell.org/terms-of-use.html). | ||
| link: https://open.quiltdata.com/b/allencell/tree/aics/subcellular_model_simulations/subcellular_model_simulations_actin_comparison/ | ||
| status: Public | ||
| --- | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| --- | ||
| templateKey: resource | ||
| name: AICS-42 | ||
| resourceDetails: | ||
| type: cellLine | ||
| name: AICS-42 | ||
| link: https://allencell.org/cell-catalog | ||
| --- |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| --- | ||
| templateKey: resource | ||
| name: AICS-67 | ||
| resourceDetails: | ||
| type: cellLine | ||
| name: AICS-67 | ||
| link: https://allencell.org/cell-catalog | ||
| --- |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| --- | ||
| templateKey: resource | ||
| name: "EMC" | ||
| resourceDetails: | ||
| type: dataset | ||
| name: "EMC" | ||
| description: We have some preliminary data on different ECM to drive lumenoid formation | ||
| status: Preliminary | ||
| --- |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,31 +3,61 @@ import { Helmet } from "react-helmet-async"; | |
|
|
||
| import { Link, PageProps, graphql } from "gatsby"; | ||
|
|
||
| const ResourcesPage: React.FC<PageProps<Queries.ResourcesIndexQueryQuery>> = ({ | ||
|
|
||
| type ResourceNode = { slug: string; name: string | null; description?: string | null }; | ||
|
|
||
| function renderResourceList(nodes: ResourceNode[]) { | ||
| if (!nodes.length) return null; | ||
| return ( | ||
| <ul> | ||
| {nodes.map((node) => ( | ||
| <li key={node.slug}> | ||
| <Link to={node.slug}>{node.name}</Link> | ||
| {node.description && <p>{node.description}</p>} | ||
| </li> | ||
| ))} | ||
| </ul> | ||
| ); | ||
| } | ||
|
|
||
| const resourceSections: { | ||
| title: string; | ||
| keys: (keyof Omit<Queries.ResourcesIndexQuery, "site">)[]; | ||
| }[] = [ | ||
| { title: "Software", keys: ["softwareResources"] }, | ||
| { title: "Datasets", keys: ["datasetResources"] }, | ||
| { title: "Cell Lines", keys: ["cellLineResources"] }, | ||
| { | ||
| title: "Protocols", | ||
| keys: ["protocolLinkResources", "protocolFileResources"], | ||
| }, | ||
| ]; | ||
|
|
||
| const ResourcesPage: React.FC<PageProps<Queries.ResourcesIndexQuery>> = ({ | ||
| data, | ||
| }) => { | ||
| const { allResource, site } = data; | ||
|
|
||
| if (!allResource || !site) { | ||
| if (!data.site) { | ||
| return <p>Data not found.</p>; | ||
| } | ||
|
|
||
| const { nodes } = allResource; | ||
| const title = site.siteMetadata?.title || "Title"; | ||
| const title = data.site.siteMetadata?.title || "Title"; | ||
| return ( | ||
| <section> | ||
| <Helmet title={`Resources | ${title}`} /> | ||
| <div> | ||
| <h1>Resources</h1> | ||
| <ul> | ||
| {nodes.map((node) => ( | ||
| <li key={node.slug}> | ||
| <Link to={node.slug}>{node.name}</Link> | ||
| {node.description && <p>{node.description}</p>} | ||
| {node.type && <p>{node.type}</p>} | ||
| </li> | ||
| ))} | ||
| </ul> | ||
| {resourceSections.map(({ keys, title: sectionTitle }) => { | ||
| const nodes = keys.flatMap( | ||
| (key) => data[key]?.nodes ?? [] | ||
| ); | ||
| if (!nodes.length) return null; | ||
| return ( | ||
| <React.Fragment key={sectionTitle}> | ||
| <h2>{sectionTitle}</h2> | ||
| {renderResourceList(nodes)} | ||
| </React.Fragment> | ||
| ); | ||
| })} | ||
| </div> | ||
| </section> | ||
| ); | ||
|
|
@@ -36,16 +66,41 @@ const ResourcesPage: React.FC<PageProps<Queries.ResourcesIndexQueryQuery>> = ({ | |
| export default ResourcesPage; | ||
|
|
||
| export const resourcePageQuery = graphql` | ||
| query ResourcesIndexQuery { | ||
| query ResourcesIndex { | ||
| site { | ||
| siteMetadata { | ||
| title | ||
| } | ||
| } | ||
| allResource { | ||
| datasetResources: allResource(filter: { type: { eq: "dataset" } }) { | ||
| nodes { | ||
| ...DatasetResourceFields | ||
| } | ||
| } | ||
| softwareResources: allResource( | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. similar to my comment above can you make these keys instead of strings
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These need to be static like this due to graphql limitations, the other option here would be to query all fields en masse and the filter in the javascript, but I thought this was more fun and I was learning about fragments. |
||
| filter: { type: { eq: "softwareTool" } } | ||
| ) { | ||
| nodes { | ||
| ...SoftwareToolResourceFields | ||
| } | ||
| } | ||
| cellLineResources: allResource(filter: { type: { eq: "cellLine" } }) { | ||
| nodes { | ||
| ...CellLineResourceFields | ||
| } | ||
| } | ||
| protocolLinkResources: allResource( | ||
| filter: { type: { eq: "protocolLink" } } | ||
| ) { | ||
| nodes { | ||
| ...ProtocolLinkResourceFields | ||
| } | ||
| } | ||
| protocolFileResources: allResource( | ||
| filter: { type: { eq: "protocolFile" } } | ||
| ) { | ||
| nodes { | ||
| slug | ||
| ...ResourceFields | ||
| ...ProtocolFileResourceFields | ||
| } | ||
| } | ||
| } | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| --- | ||
| templateKey: resource | ||
| name: Released EMT dataset | ||
| resourceDetails: | ||
| type: dataset | ||
| name: Released EMT dataset | ||
| description: Description for released EMT dataset in the markdown file for the dataset. | ||
|
interim17 marked this conversation as resolved.
|
||
| link: https://www.biorxiv.org/content/10.1101/2024.08.16.608353v1.full | ||
| status: Public | ||
| --- | ||
Uh oh!
There was an error while loading. Please reload this page.