Skip to content

Commit

Permalink
UPD feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
eboileau committed Jun 25, 2024
1 parent feb34ba commit 941999f
Show file tree
Hide file tree
Showing 10 changed files with 96 additions and 135 deletions.
9 changes: 8 additions & 1 deletion client/src/components/home/HomeRoadmap.vue
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,14 @@
<h2 class="text-lg font-bold mt-0 mb-2">First release</h2>
<p class="mt-0 mb-3 line-height-3">Add data, release version.</p>
<div class="border-2 border-solid border-gb-2 rounded">
<div class="border-2 border-solid border-gb-2 rounded" style="width: 25%"></div>
<div class="border-2 border-solid border-gb-2 rounded" style="width: 45%"></div>
</div>
</div>
<div class="p-3 border-l-4 border-solid border-gb-2 rounded-l dark:text-white/80">
<h2 class="text-lg font-bold mt-0 mb-2">RNA types</h2>
<p class="mt-0 mb-3 line-height-3">Add tRNA.</p>
<div class="border-2 border-solid border-gb-2 rounded">
<div class="border-2 border-solid border-gb-2 rounded" style="width: 15%"></div>
</div>
</div>
</div>
Expand Down
25 changes: 18 additions & 7 deletions client/src/presets/windscm/radiobutton/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,32 @@ export default {
{
'text-surface-700 dark:text-white/80':
props.value !== props.modelValue && props.value !== undefined,
'bg-surface-0 dark:bg-surface-900':
props.value !== props.modelValue && props.value !== undefined,
// 'bg-surface-0 dark:bg-surface-900':
// props.value !== props.modelValue && props.value !== undefined,
'border-surface-300 dark:border-surface-700':
props.value !== props.modelValue && props.value !== undefined,
'border-primary-500 dark:border-primary-400':
'bg-primary-500 border-primary-500 dark:bg-primary-400 dark:border-primary-400':
props.value == props.modelValue && props.value !== undefined
},

// States
{
'outline-none outline-offset-0': !props.disabled,
'peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-surface-0 dark:focus-visible:ring-offset-surface-800 peer-focus-visible:ring-primary-500 dark:peer-focus-visible:ring-primary-400':
'peer-hover:border-surface-400 dark:peer-hover:border-surface-400':
!props.disabled && !props.invalid && props.value !== props.modelValue,
'peer-hover:border-primary-hover':
!props.disabled && props.value == props.modelValue && props.value !== void 0,
'peer-hover:[&>*:first-child]:bg-primary-600 dark:peer-hover:[&>*:first-child]:bg-primary-300':
!props.disabled && props.value == props.modelValue && props.value !== void 0,
'peer-focus-visible:ring-1 peer-focus-visible:ring-primary-500 dark:peer-focus-visible:ring-primary-400':
!props.disabled,
'opacity-60 cursor-default': props.disabled
'bg-surface-200 [&>*:first-child]:bg-surface-600 dark:bg-surface-700 dark:[&>*:first-child]:bg-surface-400 border-surface-300 dark:border-surface-700 select-none pointer-events-none cursor-default':
props.disabled
}
// {
// 'outline-none outline-offset-0': !props.disabled,
// 'peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-surface-0 dark:focus-visible:ring-offset-surface-800 peer-focus-visible:ring-primary-500 dark:peer-focus-visible:ring-primary-400':
// !props.disabled,
// 'opacity-60 cursor-default': props.disabled
// }
]
}),
input: {
Expand Down
3 changes: 2 additions & 1 deletion client/src/utils/selection.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { toTree, toCascade, nestedSort, toIds } from '@/utils/index.js'
export const updModification = (selection) => {
// update modification
// grouped Dropdown works with one child tree
let tree = toTree(selection, ['rna', 'modomics_sname'], 'modification_id')
let tree = toTree(selection, ['rna_name', 'modomics_sname'], 'modification_id')
nestedSort(tree, ['children'])
return tree
}
Expand Down Expand Up @@ -58,6 +58,7 @@ export const updSelectionFromAll = (selection, slctMod, slctOrg, slctTech) => {
)
let selection_id = opts.map((item) => item.selection_id)
let taxid = [...new Set(opts.map((item) => item.taxa_id))]
// there should be only one RNA type, bt we don't check...
let rna = [...new Set(opts.map((item) => item.rna))]
return { selection: selection_id, technology: idsTech, taxid: taxid[0], rna: rna[0] }
}
12 changes: 3 additions & 9 deletions client/src/views/BrowseView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,18 @@ const initFilters = (defaultGlobal) => {
},
modomics_sname: {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.CONTAINS }]
constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }]
},
tech: {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.CONTAINS }]
constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }]
},
taxa_sname: {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }]
},
cto: {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.CONTAINS }]
},
// access: { value: null, matchMode: FilterMatchMode.IN },
access: {
operator: FilterOperator.OR,
constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }]
}
}
Expand Down Expand Up @@ -108,8 +103,7 @@ onMounted(() => {
'modomics_sname',
'tech',
'taxa_sname',
'cto',
'access'
'cto'
]"
paginatorTemplate="FirstPageLink PrevPageLink CurrentPageReport NextPageLink LastPageLink RowsPerPageDropdown"
:rowsPerPageOptions="[5, 10, 25]"
Expand Down
12 changes: 6 additions & 6 deletions client/src/views/CompareView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ const tablePt = {
<Button
@click="active = 0"
rounded
label="A"
label="1"
severity="secondary"
:outlined="active !== 0"
:pt="buttonPt"
Expand All @@ -210,7 +210,7 @@ const tablePt = {
<Button
@click="active = 1"
rounded
label="B"
label="2"
severity="secondary"
:outlined="active !== 1"
:pt="buttonPt"
Expand All @@ -219,7 +219,7 @@ const tablePt = {
<Button
@click="active = 2"
rounded
label="C"
label="3"
severity="secondary"
:outlined="active !== 2"
:pt="buttonPt"
Expand All @@ -228,7 +228,7 @@ const tablePt = {
</div>

<TabView v-model:activeIndex="active">
<TabPanel header="Select reference dataset">
<TabPanel header="1. Select reference dataset">
<div class="h-52">
<div class="mb-4">
Select one organism and choose up to three reference dataset. Use the dataset search
Expand All @@ -237,7 +237,7 @@ const tablePt = {
<CompareStepA v-model="selectedDatasetA" @dataset-updated="datasetUpdated = $event" />
</div>
</TabPanel>
<TabPanel header="Select dataset for comparison">
<TabPanel header="2. Select dataset for comparison">
<div class="h-52">
<div class="mb-4">
At least one reference dataset must be selected. Upload your own data or select up
Expand All @@ -254,7 +254,7 @@ const tablePt = {
/>
</div>
</TabPanel>
<TabPanel header="Select query criteria">
<TabPanel header="3. Select query criteria">
<div>
<form @submit="onSubmit">
<div class="h-52">
Expand Down
73 changes: 21 additions & 52 deletions client/src/views/DocumentationView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -58,39 +58,7 @@ import SubTitle from '@/components/ui/SubTitle.vue'
</p>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">
Simply put, a dataset consists of per-site records of RNA modifications stored in a given
bedRMod file. The bedRMod or EU (epitranscriptome unified data exchange) format is similar
to the
<a
class="text-primary-500 hover:text-secondary-500"
href="https://www.encodeproject.org/data-standards/wgbs/"
target="_blank"
rel="noopener noreferrer"
>ENCODE bedMethyl</a
>
format (BED9+2), but includes a header. The name (4th column) must conform to the
<a
class="text-primary-500 hover:text-secondary-500"
href="https://www.genesilico.pl/modomics/modifications"
target="_blank"
rel="noopener noreferrer"
>MODOMICS</a
>
nomenclature for the modification short name, and the score (5th column) is a
site-specific measure of confidence.
</p>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">
The bedRMod file is a tabulated count of base modifications from every sequencing read
over each reference genomic position. It is a convenient representation of the information
stored in the
<a
class="text-primary-500 hover:text-secondary-500"
href="http://samtools.github.io/hts-specs/SAMtags.pdf"
target="_blank"
rel="noopener noreferrer"
>MM/ML tags</a
>
in BAM alignment files. When aligning or basecalling, most recent software should output
these tags. For more information, consult the
bedRMod file. For more information, consult the
<a
class="text-primary-500 hover:text-secondary-500"
href="https://dieterich-lab.github.io/scimodom/bedrmod.html"
Expand Down Expand Up @@ -135,7 +103,8 @@ import SubTitle from '@/components/ui/SubTitle.vue'
available technologies. Sci-ModoM contains a large amount of records; selecting a
particular gene or genomic region can significantly reduce the query time. The search can
also be narrowed down by selecting a biotype or a genomic feature. Selected records can be
exported to CSV.
exported to CSV. To download all records for a given dataset, use
<span class="italic">Browse</span>.
</p>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">
Columns with arrow signs can be sorted. Multiple columns can be sorted, this requires a
Expand Down Expand Up @@ -164,11 +133,11 @@ import SubTitle from '@/components/ui/SubTitle.vue'
compare dataset with your own data.
</p>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">
<span class="font-bold">A</span> First select a given organism, then select up to 3
<span class="font-bold">1.</span> First select a given organism, then select up to 3
reference dataset. Use the search bar (dataset dropdown) to narrow down your selection.
</p>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">
<span class="font-bold">B</span> Select up to 3 dataset for comparison. You can also use
<span class="font-bold">2.</span> Select up to 3 dataset for comparison. You can also use
your own data (bedRMod or BED format). BED files with more than 6 columns are cut down to
BED6.
<span class="italic"
Expand All @@ -179,9 +148,9 @@ import SubTitle from '@/components/ui/SubTitle.vue'
</span>
</p>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">
<span class="font-bold">C</span> Select the operation you want to perform on the dataset
selected in A and B. The more dataset you select or the larger the dataset, the longer the
query time. Records can be exported to CSV.
<span class="font-bold">3.</span> Select the operation you want to perform on the dataset
selected in previous steps. The more dataset you select or the larger the dataset, the
longer the query time. Records can be exported to CSV.
</p>
</div>
<!-- DATA MANAGEMENT -->
Expand All @@ -190,17 +159,18 @@ import SubTitle from '@/components/ui/SubTitle.vue'
<span>Data management</span>
</h1>
<p class="indent-4 text-xl leading-relaxed mt-4 mb-2">
Sci-ModoM is freely available, and does not require login or registration. Interested
users can however register to propose new projects, and eventually upload dataset and
attachments that are made publicly available to all users.
<span class="font-bold"
>Sci-ModoM is freely available, and does not require login or registration</span
>. Interested users can however register to propose new projects, and eventually upload
dataset and attachments that are made publicly available to all users.
</p>
<p class="indent-4 text-lg underline underline-offset-8 decoration-gb-4/25 font-semibold">
Project template
</p>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">
To create a new project, fill the template request form, accessible for logged-in users
through User menu > Data > Project template. Add a new metadata sheet for each dataset
that belongs to this project.
through <span class="italic">User menu > Data > Project template</span>. Add a new
metadata sheet for each dataset that belongs to this project.
</p>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">For example:</p>
<div class="pl-8">
Expand Down Expand Up @@ -231,9 +201,9 @@ import SubTitle from '@/components/ui/SubTitle.vue'
</p>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">
To add dataset to an existing project, fill the upload form (Upload bedRMod), accessible
for logged-in users through User menu > Data > Dataset upload. Use the Attach BAM files
form to upload attachments. Attaching BAM files to a given dataset allow users to access
read-level information.
for logged-in users through <span class="italic">User menu > Data > Dataset upload</span>.
Use the Attach BAM files form to upload attachments. Attaching BAM files to a given
dataset allow users to access read-level information.
</p>
<p class="indent-4 text-lg underline underline-offset-8 decoration-gb-4/25 font-semibold">
Dataset upload errors
Expand All @@ -247,7 +217,7 @@ import SubTitle from '@/components/ui/SubTitle.vue'
rel="noopener noreferrer"
>bedRMod format specification</a
>. Pay particular attention to the header, which must meet strict requirements. Most
errors are due to a badly formatted header, or a mismatch between a header tag, value pair
errors are due to a badly formatted header, or a mismatch between a header tag-value pair
and a corresponding value that you entered when filling the upload form. Most of these
errors can be resolved quickly without the need to contact us.
</p>
Expand All @@ -262,18 +232,17 @@ import SubTitle from '@/components/ui/SubTitle.vue'
<li>too many contigs/scaffolds (only chromosomes are used)</li>
<li>wrong modification name (4th column)</li>
<li>mismatch between the modification name (4th column) and that chosen at upload</li>
<li>too many rows with undefined strand (6th column)</li>
<li>
too many rows with out-of-range values for score (5th column) or frequency (11th
column)
too many rows with out-of-range values <span class="italic">e.g.</span> score (5th
column) or frequency (11th column)
</li>
</ul>
</div>
<p class="indent-4 text-lg leading-relaxed mt-2 mb-2">
If you get a <span class="italic">Liftover failed</span> error, it is likely that your
data could not be lifted over (too many unmapped records). Since your data has by then
been validated for organism, assembly, missing records, <span class="italic">etc.</span>,
this is unlikely to happen. Please contact us.
this is unlikely to happen. Please contact us in such cases.
</p>
</div>
</SectionLayout>
Expand Down
9 changes: 4 additions & 5 deletions server/docs/source/bedrmod.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ The bedRMod format specification

The bedRMod, previously known as the EU (epitranscriptome unified data exchange) format is similar to the `ENCODE bedMethyl <https://www.encodeproject.org/data-standards/wgbs/>`_ format (BED9+2), but includes a header. The name (4th column) must conform to the `MODOMICS <https://www.genesilico.pl/modomics/modifications>`_ nomenclature for the modification short name, and the score (5th column) is a site-specific measure of confidence.

The bedRMod file is a tabulated count of base modifications from every sequencing read over each reference genomic position or modification site. It is a convenient representation of the information stored in the MM/ML tags in BAM alignment files.
The bedRMod file is a tabulated count of base modifications from every sequencing read over each reference genomic position or modification site. It is a convenient representation of the information stored in the `MM/ML tags <http://samtools.github.io/hts-specs/SAMtags.pdf>`_ in BAM alignment files.

.. note::

Sci-ModoM requirements

A given dataset or bedRMod file can contain more than one modification, as reported in column 4 (MODOMICS short name), but this should
be for the same RNA type. Supported RNA types are *WTS* or *whole transcriptome sequencing* and *tRNA* or *transfer RNA*. A dataset or bedRMod
be for the same RNA type. Currently, supported RNA types are *WTS* or *whole transcriptome sequencing*. A dataset or bedRMod
file can only contain ONE RNA type, ONE technology, ONE organism (incl. cell type, tissue, or organ), and records from the same assembly.
The best way to handle treatment and/or conditions is to have as many bedRMod files as required to describe the experimental protocol, and
provide a meaningful title and metadata for each file.
Expand Down Expand Up @@ -102,12 +102,11 @@ The first nine columns generally follow the standard `BED specification <https:/

For data upload to Sci-ModoM, chromosomes (1st column) must be formatted following the Ensembl short format *e.g.* 1 and not chr1, or MT and not chrM.
Only chromosomes are considered, records from contigs/scaffolds are discarded. The modification name (4th column) must match exactly the chosen
modifications, according to the `MODOMICS <https://www.genesilico.pl/modomics/modifications>`_ nomenclature for the modification short name. Rows with
undefined strand (6th column) are discarded. Rows with out-of-range values for score (5th column) or frequency (11th column) are discarded.
modifications, according to the `MODOMICS <https://www.genesilico.pl/modomics/modifications>`_ nomenclature for the modification short name. Rows with out-of-range values for score (5th column) or frequency (11th column) are discarded.

.. warning::

File upload will fail if there are too many skipped records.
File upload will fail if there are too many skipped records, *e.g.* due to wrong chromosome formatting, too many contigs, out-of-range values, *etc.*


Additional columns
Expand Down
Loading

0 comments on commit 941999f

Please sign in to comment.