Skip to content
Snippets Groups Projects
Commit 5930d752 authored by Hernandez-Courbevoie Yohan's avatar Hernandez-Courbevoie Yohan
Browse files

Visual changes 2

parent e9eb48e5
Branches toward_version_1_0
No related tags found
1 merge request!2Visual changes, minor corrections and bug fixes - for version 1.0
...@@ -160,15 +160,15 @@ def extract_request(form): ...@@ -160,15 +160,15 @@ def extract_request(form):
elif error_margin_selection == "ppm": elif error_margin_selection == "ppm":
if "error_margin_ppm" in form: if "error_margin_ppm" in form:
error_margin = int(form['error_margin_ppm'].value) error_margin = int(form['error_margin_ppm'].value)
if error_margin < 1 or error_margin > 500: if error_margin < 1 or error_margin > 1000:
error_messages.append(f"The mass error in ppm must be within the range 1-500. Input value: {error_margin}.") error_messages.append(f"The mass error in ppm must be within the range 1-1000. Input value: {error_margin}.")
else: else:
error_messages.append(f"With the custom value in ppm option, a mass error value is required.") error_messages.append(f"With the custom value in ppm option, a mass error value is required.")
elif error_margin_selection == "daltons": elif error_margin_selection == "daltons":
if "error_margin_daltons" in form: if "error_margin_daltons" in form:
error_margin = float(form['error_margin_daltons'].value) error_margin = float(form['error_margin_daltons'].value)
if not (error_margin > 0 and error_margin < 1): if not (error_margin > 0 and error_margin < 1):
error_messages.append(f"The mass error in daltons must be within the range 0.01-0.99. Input value: {error_margin}.") error_messages.append(f"The mass error in daltons must be within the range 0.002-0.998. Input value: {error_margin}.")
else: else:
error_messages.append(f"With the custom value in Daltons option, a mass error value is required.") error_messages.append(f"With the custom value in Daltons option, a mass error value is required.")
else: else:
......
...@@ -176,7 +176,8 @@ def write_details_page(spectrum_name, run_id, job_name=None): ...@@ -176,7 +176,8 @@ def write_details_page(spectrum_name, run_id, job_name=None):
html += open(f"{common.HTML_PATH}/menu_central.txt", 'r').read() html += open(f"{common.HTML_PATH}/menu_central.txt", 'r').read()
html += '</div></div><div id="main"><div id="center">' html += '</div></div><div id="main"><div id="center">'
html += (f'<h2>Results for job {run_id} {f"{(job_name)}" if job_name is not None else ""} - mass spectrum {spectrum_name}</h2>') html += '<div id="details">'
html += (f'<h2>Results for job {run_id} {f"({job_name})" if job_name is not None else ""}<br>Mass spectrum {spectrum_name}</h2>')
if nb_assignments == 0: if nb_assignments == 0:
html += ('<p>No assignment have been found for this spectrum.</p>') html += ('<p>No assignment have been found for this spectrum.</p>')
...@@ -196,11 +197,12 @@ def write_details_page(spectrum_name, run_id, job_name=None): ...@@ -196,11 +197,12 @@ def write_details_page(spectrum_name, run_id, job_name=None):
html += (f'<li>Matching species : {matching_species}</li>') html += (f'<li>Matching species : {matching_species}</li>')
if assignment["hca_rank"] is not None: if assignment["hca_rank"] is not None:
html += (f'<li>Uncertainty : {assignment["hca_name"]} ({assignment["hca_rank"]})</li>') html += (f'<li>Uncertainty : {assignment["hca_name"]} ({assignment["hca_rank"]})</li>')
else:
html += f'<li>P-value : {assignment["pvalue"]:.2E}</li>'
html += ('</ul>') html += ('</ul>')
html += ('<br>') html += ('<br>')
# Spectra # Spectra
html += ('<h4>Peptide Fragmentation Mass Spectrum</h4>')
peaks_mass_name = [] peaks_mass_name = []
for peak_info in assignment['peaks']: for peak_info in assignment['peaks']:
peaks_mass_name.append((peak_info["mass"], f'{peak_info["code"]} - {peak_info["PTM"]}')) peaks_mass_name.append((peak_info["mass"], f'{peak_info["code"]} - {peak_info["PTM"]}'))
...@@ -255,19 +257,21 @@ def write_details_page(spectrum_name, run_id, job_name=None): ...@@ -255,19 +257,21 @@ def write_details_page(spectrum_name, run_id, job_name=None):
# General info # General info
html += (f'<h3><span style="color: {color}">Assignment {i+1}</span> <span style="font-weight: normal;">(p-value: {assignment["pvalue"]:.2E})</span></h3>') html += '<br>'
html += (f'<h3><span class="carre_vide" style="border-color: {color};"></span> Assignment {i+1}</h3>')
html += ('<ul>') html += ('<ul>')
if assignment["lca_rank"] is not None: if assignment["lca_rank"] is not None:
html += (f'<li>Taxonomic group: {assignment["lca_name"]} ({assignment["lca_rank"]})</li>') html += (f'<li>Taxonomic group : {assignment["lca_name"]} ({assignment["lca_rank"]}), with P-value {assignment["pvalue"]:.2E}</li>')
matching_species = ', '.join((f"{k['name']} ({k['id']})" for k in assignment['taxa'])) matching_species = ', '.join((f"{k['name']} ({k['id']})" for k in assignment['taxa']))
html += (f'<li>Matching species : {matching_species}</li>') html += (f'<li>Matching species : {matching_species}</li>')
if assignment["hca_rank"] is not None: if assignment["hca_rank"] is not None:
html += (f'<li>Uncertainty : {assignment["hca_name"]} ({assignment["hca_rank"]})</li>') html += (f'<li>Uncertainty : {assignment["hca_name"]} ({assignment["hca_rank"]})</li>')
else:
html += f'<li>P-value : {assignment["pvalue"]:.2E}</li>'
html += ('</ul>') html += ('</ul>')
html += ('<br>') html += '<br>'
# Spectra # Spectra
html += ('<h4>Peptide Fragmentation Mass Spectrum</h4>')
draw_spectrum_bokeh(resdir, spectrum_name, peaks_mass_name, color_hexa=color, decimals=decimals) draw_spectrum_bokeh(resdir, spectrum_name, peaks_mass_name, color_hexa=color, decimals=decimals)
html += insert_spectrum(resdir, spectrum_name) html += insert_spectrum(resdir, spectrum_name)
...@@ -295,6 +299,7 @@ def write_details_page(spectrum_name, run_id, job_name=None): ...@@ -295,6 +299,7 @@ def write_details_page(spectrum_name, run_id, job_name=None):
# Sequences (alignment) - optionnal # Sequences (alignment) - optionnal
# Overview (recap) # Overview (recap)
html += '<br><br>'
html += ('<h3>Distribution of peptide markers across assignments</h3>') html += ('<h3>Distribution of peptide markers across assignments</h3>')
html += ('<table id="detail_summary_pampa" class="result">') html += ('<table id="detail_summary_pampa" class="result">')
header = ["Marker", "m/z", "Intensity"] + [f"#{i}" for i in range(1, nb_assignments+1)] header = ["Marker", "m/z", "Intensity"] + [f"#{i}" for i in range(1, nb_assignments+1)]
...@@ -303,7 +308,7 @@ def write_details_page(spectrum_name, run_id, job_name=None): ...@@ -303,7 +308,7 @@ def write_details_page(spectrum_name, run_id, job_name=None):
for key in keys_sorted: for key in keys_sorted:
html += ('<tr class="impair">') html += ('<tr class="impair">')
html += ("".join((f'<td>{e}</td>' for e in key.split('|')))) html += ("".join((f'<td>{e}</td>' for e in key.split('|'))))
html += ("".join(('<td>⦿</td>' if i in peak_info_dict[key] else '<td style="padding-left: 15px; padding-right: 15px;"></td>' for i in range(nb_assignments)))) html += ("".join(('<td></td>' if i in peak_info_dict[key] else '<td style="padding-left: 15px; padding-right: 15px;"></td>' for i in range(nb_assignments))))
html += ('</tr>') html += ('</tr>')
html += ('</table>') html += ('</table>')
html += ('<br>') html += ('<br>')
...@@ -315,6 +320,8 @@ def write_details_page(spectrum_name, run_id, job_name=None): ...@@ -315,6 +320,8 @@ def write_details_page(spectrum_name, run_id, job_name=None):
html += ('<br>') html += ('<br>')
html += ('</div>') html += ('</div>')
html += ('<br>') html += ('<br>')
html += ('<br>')
html += ('</div>')
# Insert page footer # Insert page footer
html += '</div></div></body>' html += '</div></div></body>'
......
...@@ -33,10 +33,7 @@ def results_output(run_id, job_name=None): ...@@ -33,10 +33,7 @@ def results_output(run_id, job_name=None):
"table_out_"+run_id+".tsv": "Peptides table built: ", "table_out_"+run_id+".tsv": "Peptides table built: ",
"data_result_"+run_id+".zip": "Downloads all results and data: " "data_result_"+run_id+".zip": "Downloads all results and data: "
} }
head_out = """ head_out = "All results are available in the following files."
<b>Job completed</b>.
All results are available in the following files.
"""
html = head_out html = head_out
html += "<ul>" html += "<ul>"
...@@ -121,10 +118,10 @@ def write_main_page(run_id, taxo_used, job_name=None): ...@@ -121,10 +118,10 @@ def write_main_page(run_id, taxo_used, job_name=None):
content = fileOut.read().strip() content = fileOut.read().strip()
if content != "": if content != "":
html += ('<div id="warnings_hidden" style="display: block;">') html += ('<div id="warnings_hidden" style="display: block;">')
html += ('<p>Warning(s) were raised during the execution. <a id="show_warnings">[View report]</a></p>') html += ('<p>Warning(s) were raised during the execution. <a id="show_warnings">View report</a></p>')
html += ('</div>') html += ('</div>')
html += ('<div id="warnings_shown" style="display: none;">') html += ('<div id="warnings_shown" style="display: none;">')
html += ('<p>Warning(s) were raised during the execution. <a id="hide_warnings">[Hide]</a></p>') html += ('<p>Warning(s) were raised during the execution. <a id="hide_warnings">Hide</a></p>')
html += ('<table class="vide">') html += ('<table class="vide">')
for line in content.split('\n'): for line in content.split('\n'):
if line != "": if line != "":
...@@ -135,7 +132,7 @@ def write_main_page(run_id, taxo_used, job_name=None): ...@@ -135,7 +132,7 @@ def write_main_page(run_id, taxo_used, job_name=None):
# Show the assignments in a table # Show the assignments in a table
html += ("<h3>Assignments</h3>") html += ('<br>')
html += (assignments_output(run_id, taxo_used, job_name=job_name)) html += (assignments_output(run_id, taxo_used, job_name=job_name))
html += ('<br>') html += ('<br>')
......
...@@ -39,15 +39,57 @@ a:hover, input[type="button"], input[type="submit"] { ...@@ -39,15 +39,57 @@ a:hover, input[type="button"], input[type="submit"] {
cursor: pointer; cursor: pointer;
} }
ol li {
line-height: 20px;
}
table.pampa_choice td {
height: 30px;
padding: 0px 15px 0px 0px;
}
pre {
line-height: 0.8em;
}
/* Fake input file from button and p elements */ /* Fake input file from button and p elements */
input[type="button"].file_input { input[type="button"].file_input {
font-weight: normal; font-weight: normal;
} }
/* Custom the '.result' table for PAMPA */ /* Petit carré custom */
span.carre_vide {
display: inline-block;
width: 7px;
height: 7px;
border: 3px black solid;
}
/* PAMPA details page */
div#details h2 {
font-size: 1.4em;
line-height: 1.4em;
}
div#details h3 {
font-size: 1.2em;
line-height: 1.2em;
margin-left: 10px;
}
div#details h4 {
font-size: 1em;
line-height: 1em;
margin-left: 55px;
}
/* Custom the '.result' table for PAMPA */
table#result_pampa th, table#result_pampa td { table#result_pampa th, table#result_pampa td {
padding: 10px; padding: 10px;
border: #999999 1px solid; border: #999999 1px solid;
...@@ -80,7 +122,7 @@ table#result_pampa tr td:last-child, table#result_pampa tr th:last-child { ...@@ -80,7 +122,7 @@ table#result_pampa tr td:last-child, table#result_pampa tr th:last-child {
/* -- */ /* -- */
table#detail_peaks_pampa { table#detail_peaks_pampa {
font-size:11px; font-size:11px;
margin-left: 30px; margin-left: 45px;
} }
table#detail_peaks_pampa th, table#detail_peaks_pampa td{ table#detail_peaks_pampa th, table#detail_peaks_pampa td{
padding: 3px 15px 3px 15px; padding: 3px 15px 3px 15px;
...@@ -98,7 +140,7 @@ table#detail_summary_pampa { ...@@ -98,7 +140,7 @@ table#detail_summary_pampa {
margin-left: 30px; margin-left: 30px;
} }
table#detail_summary_pampa th, table#detail_summary_pampa td{ table#detail_summary_pampa th, table#detail_summary_pampa td{
padding: 3px 15px 3px 15px; padding: 4px 10px 4px 10px;
} }
table#detail_summary_pampa tr td:nth-child(1), table#detail_summary_pampa tr td:nth-child(2), table#detail_summary_pampa tr td:nth-child(3) { table#detail_summary_pampa tr td:nth-child(1), table#detail_summary_pampa tr td:nth-child(2), table#detail_summary_pampa tr td:nth-child(3) {
text-align: right; text-align: right;
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
<input type="hidden" name="pampa_version" value="assign"/> <input type="hidden" name="pampa_version" value="assign"/>
<div class="formulaire"> <div class="formulaire">
<table class="vide"> <table class="vide pampa_choice">
<tr> <tr>
<td class="label"> <td class="label">
<B>Name of the job</B> (optional) : <h2>Name of the job <span style="font-weight: normal">(optional) :</span></h2>
</td> </td>
<td> <td>
<input type="text" name="job_name" maxlength="30"/> <input type="text" name="job_name" maxlength="30"/>
...@@ -56,8 +56,8 @@ ...@@ -56,8 +56,8 @@
</table> </table>
<br> <br>
<h3>Mass error</h3> <b>Mass error</b>
<table class="vide"> <table class="vide pampa_choice">
<tr> <tr>
<td> <td>
<input type="radio" name="error_margin_selection" value="MALDI_TOF" checked/> <input type="radio" name="error_margin_selection" value="MALDI_TOF" checked/>
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
Custom value in ppm Custom value in ppm
</td> </td>
<td> <td>
<input type="number" name="error_margin_ppm" step="1" min="1" max="500" placeholder="between 1 and 500"/> <input type="number" name="error_margin_ppm" step="1" min="1" max="1000" placeholder="between 1 and 1000"/>
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
Custom value in Daltons Custom value in Daltons
</td> </td>
<td> <td>
<input type="number" name="error_margin_daltons" step="0.01" min="0.01" max="0.99" placeholder="between 0.01 and 0.99"/> <input type="number" name="error_margin_daltons" step="0.002" min="0.002" max="0.998" placeholder="between 0.002 and 0.998"/>
</td> </td>
</tr> </tr>
</table> </table>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<div class="formulaire"> <div class="formulaire">
<h2>Choice of the markers and organisms</h2> <h2>Choice of the markers and organisms</h2>
<table class="vide"> <table class="vide pampa_choice">
<tr> <tr>
<td> <td>
<input type="radio" id="reference_source_default" name="reference_source" value="default"/> <input type="radio" id="reference_source_default" name="reference_source" value="default"/>
...@@ -112,7 +112,7 @@ ...@@ -112,7 +112,7 @@
<div id="block_reference_source_default" style="display: none;"> <div id="block_reference_source_default" style="display: none;">
<div class="formulaire"> <div class="formulaire">
<h2>Organisms and marker peptides</h2> <h2>Organisms and marker peptides</h2>
<table id="table_organism"> <table id="table_organism" class="vide pampa_choice">
<tr> <tr>
<td class="label" colspan="2"> <td class="label" colspan="2">
<B>Choose</B> one or several taxonomix classes : <B>Choose</B> one or several taxonomix classes :
...@@ -142,9 +142,6 @@ ...@@ -142,9 +142,6 @@
Reptiles Reptiles
</td> </td>
</tr--> </tr-->
<tr>
<td colspan="2"></td>
</tr>
<tr> <tr>
<td class="label" colspan="2"> <td class="label" colspan="2">
or <B>Select</B> a set of organisms : or <B>Select</B> a set of organisms :
...@@ -163,7 +160,9 @@ ...@@ -163,7 +160,9 @@
</tr> </tr>
</table> </table>
<table class="vide"> <br>
<table class="vide pampa_choice">
<tr> <tr>
<td> <td>
<B>PTMs :</B> <B>PTMs :</B>
...@@ -180,10 +179,10 @@ ...@@ -180,10 +179,10 @@
<div id="block_reference_source_user" style="display: none;"> <div id="block_reference_source_user" style="display: none;">
<div class="formulaire"> <div class="formulaire">
<h2>Organisms and peptide markers</h2> <h2>Organisms and peptide markers</h2>
<table class="vide"> <table class="vide pampa_choice">
<tr> <tr>
<td> <td>
Upload one or several peptide table(s) [<a>?</a>] Upload one or several peptide table(s)
</td> </td>
<td> <td>
<input type="file" name="peptides_files" value="file" accept=".tsv,.zip" multiple/> <input type="file" name="peptides_files" value="file" accept=".tsv,.zip" multiple/>
...@@ -196,7 +195,7 @@ ...@@ -196,7 +195,7 @@
</tr> </tr>
<tr> <tr>
<td> <td>
Upload a set of protein sequences for in silico digestion [<a>?</a>] Upload a set of protein sequences for in silico digestion
</td> </td>
<td> <td>
<input type="file" name="sequences_files" value="file" accept=".fa,.fasta,.fna,.zip" multiple/> <input type="file" name="sequences_files" value="file" accept=".fa,.fasta,.fna,.zip" multiple/>
...@@ -223,7 +222,7 @@ ...@@ -223,7 +222,7 @@
<tr> <tr>
<td> <td>
<input type="radio" name="taxonomy_selection" value="custom"/> <input type="radio" name="taxonomy_selection" value="custom"/>
Upload your own taxonomy [<a>?</a>] Upload your own taxonomy
</td> </td>
<td> <td>
<input type="file" name="taxo_file" value="file" accept=".tsv"/> <input type="file" name="taxo_file" value="file" accept=".tsv"/>
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<!-- Modifier le <h2> et le contenu de la page --> <!-- Modifier le <h2> et le contenu de la page -->
<h2>Input form</h2> <h2>Input form (basic)</h2>
<h3>Mass spectra</h3> <h3>Mass spectra</h3>
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
User can upload several files. It is also possible to provide a ZIP archive containing all files. User can upload several files. It is also possible to provide a ZIP archive containing all files.
</p> </p>
<br>
<p> <p>
<b>Mass error :</b> The error margin is related to the resolution of the mass spectrometer, that is its ability to distinguish closely spaced peaks. We employ it to set an upper bound on the deviation between a peak and the theoretical mass of the associated peptide. <b>Mass error :</b> The error margin is related to the resolution of the mass spectrometer, that is its ability to distinguish closely spaced peaks. We employ it to set an upper bound on the deviation between a peak and the theoretical mass of the associated peptide.
</p> </p>
...@@ -50,13 +52,15 @@ ...@@ -50,13 +52,15 @@
Optimize for MALDI-FTICR spectra: This option corresponds to a value of 5 ppm. Optimize for MALDI-FTICR spectra: This option corresponds to a value of 5 ppm.
</li> </li>
<li> <li>
Custom value in ppm: Enter any value Custom value in ppm: Enter any value between 1 and 1000
</li> </li>
<li> <li>
Custom value in Daltons : Enter any value between 0 and 1.5 Custom value in Daltons : Enter any value between 0.002 and 0.998
</li> </li>
</ul> </ul>
<br>
<h3>Results</h3> <h3>Results</h3>
<ul> <ul>
...@@ -64,13 +68,14 @@ ...@@ -64,13 +68,14 @@
<b>Only optimal results :</b> with this option, PAMPA identifies the species with the smallest P-value for each mass spectrum. <b>Only optimal results :</b> with this option, PAMPA identifies the species with the smallest P-value for each mass spectrum.
</li> </li>
<li> <li>
<b>Near-optimal results within a suboptimality percentage :</b> allows to obtain also near-optimal solutions. For that, you can set the suboptimality range as a percentage from 0 to 100, with the default being 100 (corresponding to solutions with the highest number of marker peptides). <br>For example, if the optimal solutions has 11 marker peptides, '-n 80' will provide solutions with 9 markers or more. <b>Near-optimal results within a suboptimality percentage :</b> allows to obtain also near-optimal solutions. For that, you can set the suboptimality range as a percentage from 0 to 100, with the default being 100 (corresponding to solutions with the highest number of marker peptides). <br>For example, if the optimal solutions has 11 marker peptides, a value of 80 will provide solutions with 9 markers or more.
</li> </li>
<li> <li>
<b>All results within a suboptimality percentage :</b> this option is linked to the previous option and modifies its behavior. When the previous option is used alone, it generates only near-optimal solutions that are not included in any other solution. This option makes the program to compute all solutions, even those that are included in other solutions. <b>All results within a suboptimality percentage :</b> this option is linked to the previous option and modifies its behavior. When the previous option is used alone, it generates only near-optimal solutions that are not included in any other solution. This option makes the program to compute all solutions, even those that are included in other solutions.
</li> </li>
</ul> </ul>
<br>
<h2>Advanced analysis</h2> <h2>Advanced analysis</h2>
...@@ -93,7 +98,7 @@ ...@@ -93,7 +98,7 @@
Sequence : Marker peptide sequence Sequence : Marker peptide sequence
</li> </li>
<li> <li>
PTM : Description of post-translational modifications applied to the marker peptide (see <a>PTM description</a> section) PTM : Description of post-translational modifications applied to the marker peptide (see <a href="/pampa/help.php#PTM_description">PTM description</a> section)
</li> </li>
<li> <li>
Name : Marker name Name : Marker name
...@@ -127,10 +132,10 @@ ...@@ -127,10 +132,10 @@
<p> <p>
<ul> <ul>
<li> <li>
You must provide a taxid for the peptide marker. Rank and taxon names are included primarily to enhance the clarity of results. You must provide a <u>taxid</u> for the peptide marker. Rank and taxon names are included primarily to enhance the clarity of results.
</li> </li>
<li> <li>
You should furnish either a sequence, possibly with a <a>PTM description</a>, or a mass for your marker peptide. If the sequence is provided without a mass, the program will automatically compute the mass from it. To do so, it will utilize either the PTM description (when available) or infer potential PTMs from the sequence. You should furnish either a <u>sequence</u>, possibly with a <a href="/pampa/help.php#PTM_description">PTM description</a>, or a <u>mass</u> for your marker peptide. If the sequence is provided without a mass, the program will automatically compute the mass from it. To do so, it will utilize either the PTM description (when available) or infer potential PTMs from the sequence.
</li> </li>
</ul> </ul>
...@@ -139,11 +144,13 @@ ...@@ -139,11 +144,13 @@
</p> </p>
<p> <p>
Where to find peptide tables, how to generate them ? Several pre-defined tables are accessible <a>here</a>. You can manually edit these peptide table files or create your own using any spreadsheet software and opting for the TSV export format.<br> <b>Where to find peptide tables, how to generate them ?</b> An example of peptide table for mammals is accessible <a href="/pampa/data_pampa/table_mammals_with_deamidation.tsv" download="table_mammals.tsv">here</a>. You can manually edit these peptide table files or create your own using any spreadsheet software and opting for the TSV export format.<br>
Alternatively, <a>PAMPA CRAFT</a> offers automated methods for generating peptide tables. Alternatively, <a href="https://github.com/touzet/pampa#pampa-craft" target="_blank">PAMPA CRAFT</a> offers automated methods for generating peptide tables.
</p> </p>
<h3>FASTA sequences</h3 <br>
<h3>FASTA sequences</h3>
<p> <p>
PAMPA processes amino-acid sequences. For that, it uses the standard FASTA format with UniprotKB-like header. The first line starts with a greater-than character (>) followed by some sequence identifier (SeqID), which is provided for informational purposes and can be customized by the user. Additionally, this line must contain three mandatory fields : PAMPA processes amino-acid sequences. For that, it uses the standard FASTA format with UniprotKB-like header. The first line starts with a greater-than character (>) followed by some sequence identifier (SeqID), which is provided for informational purposes and can be customized by the user. Additionally, this line must contain three mandatory fields :
</p> </p>
...@@ -166,23 +173,25 @@ ...@@ -166,23 +173,25 @@
For example: For example:
</p> </p>
<p> <pre>
>P02453 OS=Bos taurus OX=9913 GN=COL1A1 <br> >P02453 OS=Bos taurus OX=9913 GN=COL1A1 <br>
MFSFVDLRLLLLLAATALLTHGQEEGQEEGQEEDIPPVTCVQNGLRYHDRDVWKPVPCQI<br> MFSFVDLRLLLLLAATALLTHGQEEGQEEGQEEDIPPVTCVQNGLRYHDRDVWKPVPCQI<br>
CVCDNGNVLCDDVICDELKDCPNAKVPTDECCPVCPEGQESPTDQETTGVEGPKGDTGPR<br> CVCDNGNVLCDDVICDELKDCPNAKVPTDECCPVCPEGQESPTDQETTGVEGPKGDTGPR<br>
GPRGPAGPPGRDGIPGQPGLPGPPGPPGPPGPPGLGGNFAPQLSYGYDEKSTGISVPGPM<br> GPRGPAGPPGRDGIPGQPGLPGPPGPPGPPGPPGLGGNFAPQLSYGYDEKSTGISVPGPM<br>
GPSGPRGLPGPPGAPGPQGFQGPPGEPGEPGASGPMGPRGPPGPPGKNGDDGEAGKPGRP<br> GPSGPRGLPGPPGAPGPQGFQGPPGEPGEPGASGPMGPRGPPGPPGKNGDDGEAGKPGRP<br>
GERGPPGPQGARGLPGTAGLPGMKGHRGFSGLDGAKGDAGPAGPKGEPGSPGENGAPGQM GERGPPGPQGARGLPGTAGLPGMKGHRGFSGLDGAKGDAGPAGPKGEPGSPGENGAPGQM
</p> </pre>
<br>
<h2>Taxonomy</h2> <h3>Taxonomy</h3>
<p> <p>
The program offers the optional possibility to add taxonomic information to the species identification. In this case, you can use the file provided or submit your own. The program offers the optional possibility to add taxonomic information to the species identification. In this case, you can use the file provided or submit your own.
</p> </p>
</br> <p>
The taxonomy must be in the form of a Tab-Separated Values (TSV) file comprising five columns: Taxid, Common name, Scientific name, Parent (taxid), and Rank (species, genus, etc.). You can obtain this type of file directly from UniProt (https://www.uniprot.org/taxonomy) by following these steps: The taxonomy must be in the form of a Tab-Separated Values (TSV) file comprising five columns: Taxid, Common name, Scientific name, Parent (taxid), and Rank (species, genus, etc.). You can obtain this type of file directly from UniProt (<a href="https://www.uniprot.org/taxonomy" target="_blank">https://www.uniprot.org/taxonomy</a>) by following these steps:
</p>
<ol> <ol>
<li> <li>
Use the search bar to find your desired clade, entering its common name, scientific name, or taxid. Use the search bar to find your desired clade, entering its common name, scientific name, or taxid.
...@@ -201,6 +210,8 @@ The taxonomy must be in the form of a Tab-Separated Values (TSV) file comprising ...@@ -201,6 +210,8 @@ The taxonomy must be in the form of a Tab-Separated Values (TSV) file comprising
</li> </li>
</ol> </ol>
<br>
<h2>Exploring results</h2> <h2>Exploring results</h2>
<p> <p>
For each spectrum, the output file will give the best assignment, based on the highest number of marker peptides. It contains the following information : For each spectrum, the output file will give the best assignment, based on the highest number of marker peptides. It contains the following information :
...@@ -216,7 +227,7 @@ The taxonomy must be in the form of a Tab-Separated Values (TSV) file comprising ...@@ -216,7 +227,7 @@ The taxonomy must be in the form of a Tab-Separated Values (TSV) file comprising
Assignment : largest subtree of the taxonomy that is compatible with the marker peptides found Assignment : largest subtree of the taxonomy that is compatible with the marker peptides found
</li> </li>
<li> <li>
Rank : Taxonomic rank of the assignment (e.g. species, genus, family) Rank : taxonomic rank of the assignment (e.g. species, genus, family)
</li> </li>
<li> <li>
Species : the list of species supporting the assignment Species : the list of species supporting the assignment
...@@ -234,10 +245,11 @@ The taxonomy must be in the form of a Tab-Separated Values (TSV) file comprising ...@@ -234,10 +245,11 @@ The taxonomy must be in the form of a Tab-Separated Values (TSV) file comprising
</li> </li>
</ul> </ul>
<br>
<h2>Additional information</h2> <h2>Additional information</h2>
<h3>PTM description</h3> <h3 id="PTM_description">PTM description</h3>
<p> <p>
Peptide tables include a field labeled <b>PTM</b>, which is utilized to describe the post-translational modifications (PTMs) applied to the corresponding peptide. PAMPA recognizes three types of PTMs : Peptide tables include a field labeled <b>PTM</b>, which is utilized to describe the post-translational modifications (PTMs) applied to the corresponding peptide. PAMPA recognizes three types of PTMs :
</p> </p>
...@@ -268,6 +280,8 @@ When the PTM description field is left empty in the peptide table, it signifies ...@@ -268,6 +280,8 @@ When the PTM description field is left empty in the peptide table, it signifies
</li> </li>
</ul> </ul>
<br>
<br>
</div> <!-- center --> </div> <!-- center -->
......
...@@ -18,15 +18,11 @@ ...@@ -18,15 +18,11 @@
<!--Partie à modifier--> <!--Partie à modifier-->
<h2>What is Pampa?</h2> <h2>What is Pampa?</h2>
<p> <p>
Pampa (Protein Analysis by Mass Spectrometry for Ancient Species) is a versatile software program designed for species identification in ZooMS (Zooarcheological PAMPA (Protein Analysis by Mass Spectrometry for Ancient Species) is a versatile software program specifically designed for ZooMS (Zooarcheological by Mass Spectrometry) and the usage of marker peptides in ZooMS.
by Mass Spectrometry) through the usage of marker peptides. It offers the following features : </p>
<p>
It can perform a wide range of tasks: conducting taxonomic assignments from mass spectra such as MALDI-TOF or MALDI-FTICR spectra, identifying marker peptides in new species through inference from closely related species, or performing de novo prediction of new markers from the amino-acid sequences alone. PAMPA is capable of handling any number of spectra in a single run and enables users to define their own markers. Additionally, PAMPA allows in-depth exploration of various assignment possibilities within the taxonomic space.
</p> </p>
<ul>
<li>It can handle any number of mass spectra in a single run.</li>
<li>Users can define their own markers by creating custom peptide tables.</li>
<li>The software facilitates the incorporation of taxonomic data.</li>
<li>It enables in-depth exploration of various assignment possibilities within the taxonomic space.</li>
</ul>
<h2>How to use PAMPA ?</h2> <h2>How to use PAMPA ?</h2>
<p>PAMPA is available in two versions.</p> <p>PAMPA is available in two versions.</p>
......
...@@ -2,13 +2,10 @@ ...@@ -2,13 +2,10 @@
<li class="onglet onglet_left"> <li class="onglet onglet_left">
<a href="/pampa/" class="mc aLoad">Pampa</a> <a href="/pampa/" class="mc aLoad">Pampa</a>
</li> </li>
<!--li class="onglet">
<a href="/pampa/pampa_light.php" class="mc aLoad" >pampa light</a>
</li-->
<li class="onglet"> <li class="onglet">
<a href="/pampa/form.php" class="mc aLoad" >pampa classify</a> <a href="/pampa/form.php" class="mc aLoad" >Pampa web</a>
</li> </li>
<li class="onglet onglet_right"> <li class="onglet onglet_right">
<a href="/pampa/help.php" class="mc aLoad" >help</a> <a href="/pampa/help.php" class="mc aLoad" >Help</a>
</li> </li>
</ul> </ul>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment