> For the complete documentation index, see [llms.txt](https://academy.dnanexus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.dnanexus.com/public-datasets-on-the-dnanexus-platform/csv-builders-for-nextflow-pipelines/csv-builder-for-nf-core-proteinfold.md).

# CSV Builder for nf-core/proteinfold

## Necessary Disclaimers and Legal

The user is responsible for reviewing and complying with the license requirements of the software, and data referenced in this documentation.

Users are responsible for the costs associated with analyzing data, software and its storage in their project spaces.

Instance type availability and pricing are subject to the contract between the user or the user's organization and DNAnexus.

## Overview

Preparing a samplesheet input file for nf-core/proteinfold requires understanding the pipeline's input schema, writing file paths in the correct DNAnexus format, and ensuring all values pass validation. This process is time-consuming and error-prone, especially for new users.&#x20;

The CSV Builder for nf-core/proteinfold is a lightweight GUI applet on DNAnexus that helps users create a pipeline-ready samplesheet without any programming. It validates inputs against the pipeline schema, converts selected files into the correct dx:// file path format automatically, supports both manual entry and prefilled metadata (.csv) upload, and saves the output samplesheet directly to the user's DNAnexus project.

This applet is dedicated to nf-core/proteinfold and supports two pipeline versions: v1.1.1 and v2.0.0. The key difference between the two supported versions is the name of the first required column:

| Pipeline version | Column 1 | Column 2 | Accepted FASTA examples |
| ---------------- | -------- | -------- | ----------------------- |
| v1.1.1           | sequence | fasta    | .fa, .fasta             |
| v2.0.0           | id       | fasta    | .fa, .fasta             |

Note: Both columns must not contain spaces.&#x20;

Official nf-core documentation:

* v1.1.1:[ https://nf-co.re/proteinfold/1.1.1/docs/usage/](https://nf-co.re/proteinfold/1.1.1/docs/usage/)
* v2.0.0:[ https://nf-co.re/proteinfold/2.0.0/docs/usage/](https://nf-co.re/proteinfold/2.0.0/docs/usage/)

### Interface Overview

The applet has two tabs: INPUTS and OUTPUTS. All configuration is done in the INPUTS tab.

* prefilled samplesheet uploads an existing .csv file containing sequence names and file references. Use this when you have already prepared a metadata file.
* fasta selects one or more FASTA files directly from your project on DNAnexus platform. Use this when you do not have a prefilled samplesheet.
* Proteinfold pipeline version determines which pipeline version the applet validates against: 1.1.1 or 2.0.0. This also determines which column name (sequence or id) is used in the output.
* id / sequence accepts sequence names or IDs entered manually, one per file, separated by commas. If left empty, the applet extracts the name automatically from the filename. Use id for v2.0.0 and sequence for v1.1.1.
* output\_samplesheet\_name sets the name of the output .csv file. If left empty, defaults to sample\_sheet.csv.

<img src="/files/3pN8C6hIGdn03ODLAsdX" alt="" height="605" width="569">

## Copying the applet and example dataset into a project

To get started, copy the applet and example dataset from the public project into your own project space.

1. Create a project for your analysis, billed to your own organization. Tutorials on how to set up a project can be found on[ this page](https://academy.dnanexus.com/overview-of-the-platform/setting-up-a-project)
2. Navigate to the Resources tab and locate the project titled "Public Datasets AWS US (East)", then go to nf-core\_input\_csv\_builder.&#x20;

<figure><img src="/files/vayaqLFPlShigjTYlgtG" alt=""><figcaption></figcaption></figure>

3. Next, go to folderproteinfold\_csv\_builder, then select the applet proteinfold\_samplesheet\_builder\_v0.1.1, and the proteinfold\_example folder.
4. Click Copy in the top-right menu and select the project created in Step 1.

<figure><img src="/files/dONvYG13R7UZ93sQeJrk" alt=""><figcaption></figcaption></figure>

3. Return to your project space to begin using the applet.

### Quick start

1. Launch the applet proteinfold\_samplesheet\_builder\_v0.1.1 from the DNAnexus GUI
2. Click the fasta field and navigate to nf-core\_input\_csv\_builder/proteinfold\_example/fasta/. Select the FASTA files you want to include.

<img src="/files/gT33f07fDTLmDJDwKzrS" alt="" height="327" width="624">

3. Choose proteinfold pipeline version 2.0.0.
4. Enter an output name in the output\_samplesheet\_name field.&#x20;
5. Choose your output destination, keep the default instance and launch the job.

<img src="/files/Brmylebf1Zz4FKfzcc9t" alt="" height="497" width="448">

The job takes approximately 2 minutes. Once the job is complete, verify the following:

* Job status shows Done
* Log file contains no errors or warnings related to the samplesheet

<img src="/files/HkD6gxiMAEEYfiE05FVc" alt="" height="85" width="624">

* Output CSV columns match the v2.0.0 schema (id, fasta)

<img src="/files/SEqRrutP0P7Bxitr7U8U" alt="" height="85" width="624">

To confirm the output samplesheet works with the pipeline, run a quick verification using nf-core/proteinfold v2.0.0 with the test and docker profiles.

<img src="/files/RxXtY0xbc83MVju2VkHp" alt="" height="361" width="624">

<br>

For more detailed examples including prefilled samplesheets, manual ID entry, and error scenarios, see the Example jobs section.

## Input Flows

The applet supports two ways to provide input data:

* Prefilled samplesheet: upload an existing CSV file that follows the target pipeline's schema. The applet will parse and validate the file, resolve all file references into dx:// paths, and produce the final output samplesheet.
* Manual input: enter data directly into the applet. Values can be provided as an array (multiple values separated by commas) or as a constant (a single value that will be replicated across all rows). FASTA files can also be selected directly from DNAnexus.

Note: Users should choose only one input source. If both a prefilled samplesheet and FASTA files are provided simultaneously, the applet will prioritize the prefilled samplesheet and ignore the selected FASTA files.

## File path format

When preparing a prefilled samplesheet or entering file references manually, you can use any of the following formats.

Files in the same project as the applet:

<br>

| Format                     | Example                                                                                                                              |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| File ID                    | file-J8x7YY808qvyZzBPVz3Yx9yk                                                                                                        |
| File name                  | T1024.fasta                                                                                                                          |
| Relative path              | proteinfold\_example/fasta/T1024.fasta                                                                                               |
| Absolute path              | /nf-core\_input\_csv\_builder/proteinfold\_csv\_builder/proteinfold\_example/fasta/T1024.fasta                                       |
| File ID with project       | projects/J67fG1j08qvfJyBX4G7Gk3Yf:file-J8x7YY808qvyZzBPVz3Yx9yk                                                                      |
| Absolute path with project | project-J67fG1j08qvfJyBX4G7Gk3Yf:/nf-core\_input\_csv\_builder/proteinfold\_csv\_builder/proteinfold\_example/fasta/T1024.fasta      |
| Full URI                   | dx://project-J67fG1j08qvfJyBX4G7Gk3Yf:/nf-core\_input\_csv\_builder/proteinfold\_csv\_builder/proteinfold\_example/fasta/T1024.fasta |

<br>

Files from another project (project ID is required):

<br>

| Format                     | Example                                                                                                                              |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| File ID with project       | projects/J67fG1j08qvfJyBX4G7Gk3Yf:file-J8x7YY808qvyZzBPVz3Yx9yk                                                                      |
| Absolute path with project | project-J67fG1j08qvfJyBX4G7Gk3Yf:/nf-core\_input\_csv\_builder/proteinfold\_csv\_builder/proteinfold\_example/fasta/T1024.fasta      |
| Full URI                   | dx://project-J67fG1j08qvfJyBX4G7Gk3Yf:/nf-core\_input\_csv\_builder/proteinfold\_csv\_builder/proteinfold\_example/fasta/T1024.fasta |

<br>

Regardless of input format, all file references are resolved and written as full dx:// URIs in the output samplesheet.&#x20;

## Example jobs

### Example 1: Providing input via prefilled metadata (samplesheet)

Scenario: A user has already prepared a CSV file with sequence names and FASTA file references and wants to use it directly as input to the applet.

Example file: proteinfold\_v1.1.1\_input\_metadata.csv in folder: /nf-core\_input\_csv\_builder/proteinfold\_example/metadata\_example/

sequence,fasta,comment

T1024,/nf-core\_input\_csv\_builder/proteinfold\_example/fasta/T1024.fasta,multiple files in project so need to have absolute path

T1026,/nf-core\_input\_csv\_builder/proteinfold\_example/fasta/T1026.fasta,multiple files in project so need to have absolute path

T1041,T1041.fa,extension .fa and unique file in the project

T1030,T1030.fasta,extension .fasta and unique file in the project

The prefilled file demonstrates the different file path formats supported by the applet, including absolute paths and file names. The prefilled file may contain any number of additional columns; however, the applet will automatically retain only the columns required by the pipeline schema and discard the rest.&#x20;

Steps:&#x20;

1. Click the prefilled samplesheet box and choose your metadata (.csv) file.
2. Choose proteinfold pipeline version: 1.1.1 or 2.0.0.
3. Leave required columns empty because it will use information in the metadata.
4. Name your output .csv: It can be proteinfold\_v1.1.1\_samplesheet.csv or .proteinfold\_v1.1.1\_samplesheet. If you leave this box empty, it will use the default name: samplesheet.
5. Choose the output destination.
6. Use the default instance and launch the job.

<img src="/files/Vlu8hVSo8EGi0v4hdoD2" alt="" height="600" width="547">

Runtime: 2 minutes

Successful job checklist:

* Job status is Done
* Check log file: no error or warning related to samplesheet input

<img src="/files/bCagInj5tGZevWNKxKOT" alt="" height="140" width="624">

* Output csv: meet requirement of input file in nf-core/proteinfold 1.1.1

<img src="/files/CnpwXazZtcZ9qI5cnnsM" alt="" height="123" width="624">

* Run verification with nf-core/proteinfold successfully

To verify this output, you can run a quick test with nf-core/proteinfold applet using this samplesheet with the test and docker profiles. Here is a script example using nf-core/proteinfold applet in Public Dataset AWS East (project-J3JyY6j030gzQypGpk273241):

dx run project-J3JyY6j030gzQypGpk273241:/ProteinFold/applets/proteinfold\_v1.1.1 \\

&#x20; -ioutdir='proteinfold\_v111' \\

-iinput='project-xxx:/nf-core\_input\_csv\_builder/proteinfold\_example/samplesheet\_output/proteinfold\_v1.1.1\_samplesheet.csv' \\

&#x20; -inextflow\_run\_opts='-profile test,docker' \\

&#x20; \--destination 'project-xxx:/users/ivy/test\_csv\_builder/test\_06\_05\_26/' \\

&#x20; \--priority high \\

&#x20; \--name "proteinfold\_test\_csv\_builder" \\

&#x20; -y

Note: project-xxx is the project you save your samplesheet output

Runtime: 11 minutes.

<img src="/files/d2DtEqQlQLY9owUEkYrd" alt="" height="354" width="599">

### Example 2: File selection and manual input for ID

Scenario: A user wants to run proteinfold version 2.0.0 with different input file formats. They select three files directly from DNAnexus: a .yaml, a .json, and a .faa file, and manually assign an ID to each by entering sample1, sample2, sample3 in the id field. Note: version 2.0.0 accepts extension '.fa', '.faa', '.fasta', '.yaml', '.yml', or '.json'.

Steps:

1. Click the fasta box and select three files: .yaml, .json and .faa in  nf-core\_input\_csv\_builder/proteinfold\_example/fasta.

<img src="/files/vMvd6gs459LwHxrRk2lt" alt="" height="544" width="542">

2. Choose proteinfold version 2.0.0, provide sample1,sample2,sample3 in the id box and output name.

<img src="/files/fjbCmFLM4qJNvqa47WpR" alt="" height="602" width="547">

3. Choose your output destination, keep the default instance and launch the job.

Runtime: 2 minutes

Successful job:

* Job status is Done.
* Check log file: no error or warning related to samplesheet input.

<img src="/files/6sL5QSTzcKqaaQ9jaWIR" alt="" height="60" width="624">

* Output csv: meet requirement of input file in nf-core/proteinfold 2.0.0 and the id column uses sample1, sample2, and sample3 instead of extracting name from file name

<img src="/files/uHPWwkkAxdsFODi1RGrf" alt="" height="173" width="624">

### Negative cases

Input files for negative cases are in nf-core\_input\_csv\_builder/proteinfold\_example/metadata\_example/negative\_cases/.

* proteinfold\_v1.1.1\_input\_metadata\_missing\_fasta.csv : missing fasta file.
* T1029.fasta.txt.

Output files from negative cases are in nf-core\_input\_csv\_builder/proteinfold\_example/samplesheet\_output/negative\_cases\_results/.

#### Example 3: Upload CSV with missing fasta value for nf-core/proteinfold 1.1.1

Scenario: A user uploads a prefilled samplesheet that accidentally has an empty fasta value for one of the rows. The applet will still generate the output samplesheet, but will log a warning for the missing value. The affected row will appear as nan in the output, while all other valid rows are resolved correctly to dx:// URIs. Users should review the validation summary and correct any missing values before running the pipeline.

<br>

<img src="/files/m94TaakbA4ZovJjsvkjQ" alt="" height="519" width="617.6541786743517">

Expected output

* Job completed successfully.
* The log file contains a warning indicating the missing fasta value for the affected row (e.g., T1026 has no fasta file provided).

<img src="/files/owJ8kzNQT8iiYZguLbCt" alt="" height="121.11597885436007" width="624">

* The output samplesheet is generated with an empty cell for the missing fasta value, while all other rows are resolved correctly to dx:// paths

<img src="/files/uqJzKkxtWjU6hrspzmM1" alt="" height="131.28667045314842" width="624">

<br>

#### Example 4: Select a wrong input file (non fasta file) for nf-core/proteinfold version 1.1.1

Scenario: A user accidentally selects a non-FASTA file (e.g., a .txt file) from the DNAnexus file browser instead of a valid FASTA file. The applet will still generate the output samplesheet but will log a warning indicating that the selected file does not have a valid FASTA extension.

<img src="/files/jHKCuK8MTEXg5Y1PjTpd" alt="" height="568" width="511">

Expected output

* Job completed successfully.
* The log file contains a warning indicating the wrong format file (e.g., T1029 has no right fasta file provided).

<img src="/files/ZLYBklYTfQrTPUprimO0" alt="" height="61" width="624">

<br>

For technical considerations, limitations, and troubleshooting that apply to all CSV builder applets, see Technical Considerations.&#x20;

<br>
