read-submission.component.html 8.25 KB
Newer Older
1
<div class="body">
rajkumar's avatar
rajkumar committed
2

3
    <div>
rajkumar's avatar
rajkumar committed
4
        <div class="mat-h3 mat-tittle">Read Submission</div>
5 6 7
    </div>
    <mat-divider></mat-divider>
    <div class="container">
rajkumar's avatar
rajkumar committed
8 9
        <p class="mat-body">We recommend that Fastq, BAM, and CRAM read files are submitted using <a
                href="https://ena-docs.readthedocs.io/en/latest/reads/webin-cli.html">Webin-CLI</a></p>
10

rajkumar's avatar
rajkumar committed
11 12 13 14
        <p class="mat-body">When using this interface instead of <a
                href="https://ena-docs.readthedocs.io/en/latest/reads/webin-cli.html">Webin-CLI</a>, raw sequences must
            be <a href="https://ena-docs.readthedocs.io/en/latest/fileprep/upload.html">uploaded</a> in one of the
            supported <a href="https://ena-docs.readthedocs.io/en/latest/fileprep/reads.html">data formats</a> before
Rajkumar-D's avatar
Rajkumar-D committed
15 16 17 18
            they can be submitted. The files can be uploaded using Webin <a
                href="http://www.ebi.ac.uk/ena/upload/WebinUploader.jnlp">File Uploader</a>, FTP or Aspera</p>

        <p class="mat-body"> The study and the sequenced samples must be pre-registered before the raw reads are
rajkumar's avatar
rajkumar committed
19 20 21
            submitted. Please note that each individual study and sample should be registered only once. You will be
            asked to provide information about the sequencing libraries and instruments. Please quote the study
            accession number (ERP*) when citing data submitted to ENA.</p>
22

rajkumar's avatar
rajkumar committed
23 24 25 26 27 28
        <mat-expansion-panel (opened)="panelOpenState = true" (closed)="panelOpenState = false" class="mat-body">
            <mat-expansion-panel-header>
                <mat-panel-title>
                    <b>Download spreadsheet template for Read submission</b>
                </mat-panel-title>
            </mat-expansion-panel-header>
29

rajkumar's avatar
rajkumar committed
30
            <mat-vertical-stepper #stepper>
Rajkumar-D's avatar
Rajkumar-D committed
31 32 33 34 35 36 37
                <mat-step label="Please select a study">
                    <app-report (selectedRecord)="getSelectedStudy($event,stepper)" [reportType]="reportType"
                        [embDefaultSearch]="true" [embeded]="true"></app-report>
                    <div>
                        <button mat-button matStepperNext [disabled]="!this.selectedStudy">Next</button>
                    </div>
                </mat-step>
rajkumar's avatar
rajkumar committed
38 39 40 41 42 43 44 45 46 47 48
                <mat-step label="Please select a file format">
                    <div class="mat-elevation-z8">
                        <mat-accordion>
                            <mat-expansion-panel *ngFor="let fieldType of readFileDetails['fieldTypes']"
                                (click)="selectFileType(fieldType.file_type,fieldType.name)">
                                <mat-expansion-panel-header>
                                    <mat-panel-title>
                                        <b>{{fieldType.label}} </b> <span fxHide fxShow.gt-sm
                                            style="padding-left: 30px;"><i> {{fieldType.description}}</i></span>
                                    </mat-panel-title>
                                </mat-expansion-panel-header>
49

rajkumar's avatar
rajkumar committed
50 51 52 53 54 55 56
                                <div *ngIf="fieldType.name=='PacBio_HDFS'">
                                    <p class="mat-body">A PacBio experiment output consists of a metadata.xml, bas.h5
                                        and bax.h5 files. These files should be submitted using a 'manifest.all' file
                                        that lists these files for a given run. The recommended way to create the
                                        manifest file is to use the linux md5sum command. The manifest file must have
                                        two columns, the first containing file md5 checksum and the second the file
                                        name.</p>
57

rajkumar's avatar
rajkumar committed
58
                                    <p class="mat-body">For example, the 'manifest.all' file may look like:
59

rajkumar's avatar
rajkumar committed
60 61 62 63 64
                                    <p class="mat-body">0ddf706a5962b55fc85c524c4150231d metadata.xml</p>
                                    <p class="mat-body">d45f37b3567dfac6b33a1e150e6c5a68 a.bas.h5</p>
                                    <p class="mat-body">12d4309a2b7c71500194261acbc00c62 a.bax.h5</p>
                                    <p class="mat-body">The 'manifest.all' file should be submitted to the archive on
                                        behalf of the files listed within.</p>
65
                                </div>
rajkumar's avatar
rajkumar committed
66 67 68 69 70 71 72 73 74 75 76 77 78

                                <div *ngFor="let field of fieldType.fields">
                                    <div *ngIf="displayEgaField(field)">
                                        <mat-checkbox class="checklist-checked-field"
                                            [checked]="field.mandatory || field.checked" [disabled]="field.mandatory"
                                            (change)="selectedField($event,field)"> <b
                                                class="checklist-checked-field">{{field.label}}</b></mat-checkbox>
                                        <p fxHide fxShow.gt-sm>{{field.description}}</p>
                                        <div style="width:20%">
                                            <p *ngIf="field.value_choice !=null">
                                                <mat-select class="checklist-restriction"
                                                    placeholder="Permitted values">
                                                    <mat-option *ngFor="let PermitedValues of field.value_choice"
Rajkumar-D's avatar
Rajkumar-D committed
79
                                                        [value]="PermitedValues" [disabled]="true">
rajkumar's avatar
rajkumar committed
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
                                                        {{ PermitedValues }}
                                                    </mat-option>
                                                </mat-select>
                                            </p>
                                        </div>
                                    </div>
                                </div>

                            </mat-expansion-panel>

                        </mat-accordion>
                    </div>
                    <div>
                        <button mat-button matStepperPrevious>Back</button>
                        <button mat-button matStepperNext [disabled]="!this.selectedFieldType">Next</button>
                    </div>
                </mat-step>
                <mat-step label="Download spreadsheet template">
                    <p>
                        Please download the spreadsheet template containing the fields you have selected by using the
                        'Download' button below.
                    </p>
                    <!-- <button mat-raised-button color="accent" (click)="downloadReadExcelTemplate()" style="margin-left: 5px;">Download Excel Template</button> -->
                    <button mat-raised-button color="accent" (click)="downloadReadTsvTemplate()"
                        style="margin-left: 5px;">Download TSV Template</button>

                    <div>
                        <button mat-button matStepperPrevious>Back</button>
                        <!-- <button mat-button matStepperNext (click)="">Done</button> -->
                    </div>

                </mat-step>
            </mat-vertical-stepper>
        </mat-expansion-panel>
        <mat-expansion-panel (opened)="panelOpenState = true" (closed)="panelOpenState = false" class="mat-body">
            <mat-expansion-panel-header>
                <mat-panel-title>
                    <b>Upload filled spreadsheet template for Read submission</b>
                </mat-panel-title>
            </mat-expansion-panel-header>
            <p>If you have downloaded and filled a Read submission template spreadsheet please upload it using the
Rajkumar-D's avatar
Rajkumar-D committed
121 122
                <b>Submit Completed Spreadsheet button</b>.
            </p>
rajkumar's avatar
rajkumar committed
123 124
            <form (ngSubmit)="uploadFile(form)" #form="ngForm">
                <input type="file" required name="spreadSheet" [(ngModel)]="form.spreadSheet" observeFiles />
Rajkumar-D's avatar
Rajkumar-D committed
125 126 127
                <mat-form-field *ngIf="isBroker()" appearance="outline" style="width:7%; margin-right: 5px;">
                    <input matInput placeholder="Center name" name="centerName" [(ngModel)]="centerName">
                </mat-form-field>
rajkumar's avatar
rajkumar committed
128 129 130 131 132 133
                <button mat-raised-button color="accent" [disabled]="form.invalid ">Submit Completed
                    Spreadsheet</button>
            </form>
        </mat-expansion-panel>

    </div>
134
</div>