diff --git a/README.md b/README.md
index e7bb022..668ca1b 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,24 @@
-
-
+
+
-[](https://github.com/nf-core/nottocode/actions/workflows/ci.yml)
-[](https://github.com/nf-core/nottocode/actions/workflows/linting.yml)[](https://nf-co.re/nottocode/results)[](https://doi.org/10.5281/zenodo.XXXXXXX)
+[](https://nf-co.re/not2code/results)[](https://doi.org/10.5281/zenodo.XXXXXXX)
[](https://www.nf-test.com)
[](https://www.nextflow.io/)
[](https://docs.conda.io/en/latest/)
[](https://www.docker.com/)
[](https://sylabs.io/docs/)
-[](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/nottocode)
+[](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/not2code)
-[](https://nfcore.slack.com/channels/nottocode)[](https://twitter.com/nf_core)[](https://mstdn.science/@nf_core)[](https://www.youtube.com/c/nf-core)
+[](https://nfcore.slack.com/channels/not2code)[](https://twitter.com/nf_core)[](https://mstdn.science/@nf_core)[](https://www.youtube.com/c/nf-core)
## Introduction
-**nf-core/nottocode** is a bioinformatics designed to annotate long non-coding RNAs (lncRNAs) from transcriptome assemblies. It works by filtering, comparing, and characterizing transcripts from GTF files, which can be generated by tools such as stringtie via nf-core/rnaseq.
+**not2code** is a bioinformatics pipeline designed to annotate long non-coding RNAs (lncRNAs) from transcriptome assemblies from small bulk RNA-seq data. It works by filtering, comparing, and characterizing transcripts from GTF files, which can be generated by tools such as StringTie via nf-core/rnaseq.
The pipeline performs the following key steps:
@@ -87,56 +86,106 @@ graph TD
> [!NOTE]
> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.
+The `not2code` pipeline requires assembled transcriptomes (GTF files) as input. A typical workflow involves running `nf-core/rnaseq` first to align reads and assemble transcripts, followed by `dalmolingroup/not2code` to identify lncRNAs.
-First, prepare a samplesheet with your input data that looks as follows:
+### 1. Run nf-core/rnaseq
-`samplesheet.csv`:
+First, run `nf-core/rnaseq` with an aligner like HISAT2. You should also ensure StringTie is properly parameterized to preserve transcripts that are candidates for lncRNAs (e.g. modifying minimum junction coverage, minimum read coverage, and minimum length).
+
+Here is an example of creating a custom configuration for StringTie and running the `rnaseq` pipeline:
+
+```bash
+# Create custom StringTie configuration
+echo "process {
+ withName: 'NFCORE_RNASEQ:RNASEQ:STRINGTIE_STRINGTIE' {
+ ext.args = {
+ [
+ '-j 3',
+ '-c 3',
+ '-m 200',
+ params.stringtie_extra_args ?: ''
+ ].join(' ').trim()
+ }
+ }
+}" > stringtie.config
+
+# Run nf-core/rnaseq
+nextflow run nf-core/rnaseq \
+ -profile docker \
+ -r 3.19.0 \
+ --input rnaseq_samplesheet.csv \
+ --outdir results_rnaseq \
+ --fasta /path/to/genome.fna \
+ --gtf /path/to/genome.gtf \
+ --trimmer fastp \
+ --aligner hisat2 \
+ --skip_pseudo_alignment \
+ -c stringtie.config
+```
+
+### 2. Prepare the input samplesheet
+
+After the `rnaseq` pipeline finishes, you need to prepare a samplesheet for `not2code`. The samplesheet requires two columns: `sample` and `gtf`. You can create this automatically from the `rnaseq` StringTie outputs using the following bash script:
+
+```bash
+# Output samplesheet file
+output="gtf_samplesheet.csv"
+
+# Write header
+echo "sample,gtf" > "$output"
+
+# List .transcripts.gtf files and process each one
+for path in results_rnaseq/hisat2/stringtie/*transcripts.gtf; do
+ sample=$(basename "$path" .transcripts.gtf)
+ echo "$sample,$(realpath $path)" >> "$output"
+done
+```
+
+This will create a `gtf_samplesheet.csv` that looks like this:
```csv
sample,gtf
-CONTROL_REP1,AEG588A1.gtf
+CONTROL_REP1,/path/to/results_rnaseq/hisat2/stringtie/CONTROL_REP1.transcripts.gtf
```
-Each row represents a gtf file.
-
-Now, you can run the pipeline using:
+### 3. Run nf-core/not2code
-
+Now, you can run the `not2code` pipeline using the generated samplesheet:
```bash
-nextflow run nf-core/nottocode \
- --input /path/to/samplesheet.csv \
- --reference_gtf /path/to/genome.gff \
+nextflow run dalmolingroup/not2code \
+ -profile docker \
+ --input gtf_samplesheet.csv \
+ --reference_gff /path/to/genome.gff \
+ --reference_gtf /path/to/genome.gtf \
--reference_genome /path/to/genome.fna \
- --outdir results \
--pfam_db /path/to/Pfam-A.hmm \
+ --outdir results_not2code
```
## Pipeline output
-To see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/nottocode/results) tab on the nf-core website pipeline page.
-For more details about the output files and reports, please refer to the
-[output documentation](https://nf-co.re/nottocode/output).
+To see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/not2code/results) tab on the nf-core website pipeline page.
-## Credits
+The pipeline will create a simplified output structure under the designated `--outdir` parameter (e.g. `results/`):
-nf-core/nottocode was developed by @gleisonm and @rafaellaferraz.
+* `lncRNA_candidates/`: Contains the final GTF files for identified lncRNAs.
+* `coding_potential/`: Contains the evaluation of coding/non-coding capability from tools like CPC2, PLEK, and HMMER scans.
+* `transcriptome_assembly/`: Contains intermediate merged transcriptomes, and GTF files from gffcompare and TPM filtering.
+* `multiqc/`: General aggregate quality control report.
+* `pipeline_info/`: Generic logs and reports relating to the execution of the Nextflow pipeline.
-We thank all contributors to the nf-core community for support and feedback.
-
-## Contributions and Support
+For more details about the output files and reports, please refer to the
+[output documentation](https://nf-co.re/not2code/output).
-If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).
+## Credits
-For further information or help, don't hesitate to get in touch on the [Slack `#nottocode` channel](https://nfcore.slack.com/channels/nottocode) (you can join with [this invite](https://nf-co.re/join/slack)).
+not2code was developed by @gleisonm and @rafaellaferraz.
## Citations
-
-
-
-
+If you use dalmolingroup/not2code for your analysis, please cite it using its Digital Object Identifier (DOI).
An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.
diff --git a/assets/generate_test_hmm.py b/assets/generate_test_hmm.py
new file mode 100644
index 0000000..b6bc752
--- /dev/null
+++ b/assets/generate_test_hmm.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python3
+"""
+Script para gerar um HMM proteico válido para testes do pipeline not2code.
+Requer hmmbuild (pacote HMMER) instalado no ambiente.
+
+Uso:
+ micromamba activate nextflow
+ python3 assets/generate_test_hmm.py
+
+Ou diretamente com singularity:
+ singularity exec \
+ /home/gmdazevedo/scratch/singularity_images/depot.galaxyproject.org-singularity-hmmer-3.4--hdbdd923_1.img \
+ hmmbuild --amino assets/test_protein.hmm /dev/stdin << 'EOF'
+# STOCKHOLM 1.0
+seq1 MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGDGTQDNLSGAEKAVQVKVKALPDAQFEVVHSLAKWKRQTLGQHDFSAGEGLYTHMKALRPDEDRLSPLHSVYVDQWDWERVMGDGERQFSTLKSTVEAIWAGIKATEAAVSEEFGLAPFLPDQIHFVHSQELLSRYPDLDAKGRERAIAKDLGAVFLVGIGGKLSDGHRHDVRAPDYDDWSTPSELGHAGLNGDILVWNPVLEDAFELSSMGIRVDADTLKHQLALTGDEDRLELEWHQALLRGEMPQTIGGGIGQSRLTMLLLQLPHIGQVQAGVWPAAVRESVPSLL
+//
+EOF
+"""
+
+import subprocess
+import sys
+import os
+import textwrap
+
+# Sequence of MSTRG.5.1.p1 from TransDecoder (generated from the test GTF on chr22 intergenic region)
+# We use this so HMMER successfully finds a match during the test, ensuring domtblout is not empty!
+TEST_SEQUENCE = """\
+SLRLLGREHPINYPGPIYARGLSHSCSTALLSHWHRELLGAPGFQIGSRESPLFSDPQTLLWILIVLSP\
+ISLLGTHWEVSRIPVRDSTTISLILTLTFFLFLPS
+""".replace('\n', '')
+
+STOCKHOLM_CONTENT = f"""# STOCKHOLM 1.0
+#=GF ID test_protein_hmm
+#=GF AC TEST0001.1
+#=GF DE Test protein HMM for not2code pipeline - amino acid profile
+test_seq {TEST_SEQUENCE}
+//
+"""
+
+def main():
+ # Caminho para o arquivo de saída
+ script_dir = os.path.dirname(os.path.abspath(__file__))
+ output_hmm = os.path.join(script_dir, "test_protein.hmm")
+ sto_file = os.path.join(script_dir, "test_protein.sto")
+
+ print(f"Gerando HMM proteico de teste em: {output_hmm}")
+
+ # Escrever o alinhamento Stockholm
+ with open(sto_file, 'w') as f:
+ f.write(STOCKHOLM_CONTENT)
+ print(f"Alinhamento Stockholm criado: {sto_file}")
+
+ print("\nFile sto created. Please run hmmbuild manually:")
+ print(f"hmmbuild --amino {output_hmm} {sto_file}")
+
+ # Verificar o arquivo gerado
+ if os.path.exists(output_hmm):
+ size = os.path.getsize(output_hmm)
+ print(f"Tamanho do arquivo: {size} bytes")
+
+ # Mostrar o cabeçalho do HMM
+ with open(output_hmm) as f:
+ lines = f.readlines()[:8]
+ print("Primeiras linhas do HMM:")
+ for line in lines:
+ print(f" {line}", end='')
+
+ # Limpar arquivo temporário
+ os.remove(sto_file)
+ print("\nConcluído! Use este arquivo em test.config como pfam_db.")
+ print(f'pfam_db = "{output_hmm}"')
+
+if __name__ == "__main__":
+ main()
diff --git a/assets/lncselect.R b/assets/lncselect.R
index 2e787cd..1050c98 100644
--- a/assets/lncselect.R
+++ b/assets/lncselect.R
@@ -47,12 +47,17 @@ pfam <- readr::read_table(pfam_domtblout, comment = "#", col_names = FALSE)
# "acc", "description"
# )
-
-transcripts_with_domain <- as.data.frame(pfam) %>%
- dplyr::filter(X7 <= pfam_evalue) %>%
- mutate(transcript_id = str_remove(X1, "\\.p[0-9]+$")) %>% # Remove .p1, .p2 etc
- distinct(transcript_id) %>%
- mutate(domain_present = "yes")
+# Handle empty pfam file (no Pfam domain hits - common with test data)
+if (nrow(pfam) == 0 || !("X7" %in% colnames(pfam))) {
+ transcripts_with_domain <- data.frame(transcript_id = character(0),
+ domain_present = character(0))
+} else {
+ transcripts_with_domain <- as.data.frame(pfam) %>%
+ dplyr::filter(X7 <= pfam_evalue) %>%
+ mutate(transcript_id = str_remove(X1, "\\.p[0-9]+$")) %>% # Remove .p1, .p2 etc
+ distinct(transcript_id) %>%
+ mutate(domain_present = "yes")
+}
gtf_complete <- merge(dup_reference_annot, transcripts_with_domain, by = "transcript_id", all.x = T)
gtf_complete <- merge(gtf_complete, PLEK[,c("transcript_id", "PLEK")], by = "transcript_id", all.x = T)
@@ -70,8 +75,8 @@ gtf_lncRNA <- gtf_complete %>% filter(transcript_id %in% lncRNA) %>%
mutate(transcript_biotype = ifelse(type == "transcript", "lncRNA", ""))
-rtracklayer::export(gtf_lncRNA, "gtf_lncRNA.gtf", format = gtf)
-rtracklayer::export(gtf_complete, "gtf_complete.gtf", format = gtf)
+rtracklayer::export(gtf_lncRNA, "gtf_lncRNA.gtf", format = "GTF")
+rtracklayer::export(gtf_complete, "gtf_complete.gtf", format = "GTF")
rm(dup_reference_annot, gtf_complete, lncRNA)
@@ -122,7 +127,7 @@ combined_stringtie_ncbi <- dplyr::bind_rows(reference_filter, gtf_lncRNA)
sum(gtf_lncRNA$transcript_id %in% reference$transcript_id) #0 is expected
# Exportar como novo GTF
-rtracklayer::export(combined_stringtie_ncbi, "combined_stringtie_ncbi.gtf", format = gtf)
+rtracklayer::export(combined_stringtie_ncbi, "combined_stringtie_ncbi.gtf", format = "GTF")
#rm(combined_stringtie_ncbi, gtf_lncRNA, reference, reference_filter)
@@ -154,18 +159,20 @@ combined_stringtie_ncbi_new_names <- combined_stringtie_ncbi_new_names %>%
dplyr::rename(gene_id_stringtie = gene_id) %>%
dplyr::rename(transcript_id = transcript_id_new) %>%
dplyr::rename(gene_id = gene_id_new) %>%
- dplyr::select(seqnames,start, end,width,strand,
- source, type,score,phase,gene_id,
- transcript_id,db_xref,gbkey,locus_tag,partial,
- orig_protein_id,orig_transcript_id,product, transcript_biotype,exon_number,
- pseudo,PLEK,transcript_length,peptide_length,CPC2,
- xloc,class_code,tss_id,gene_name,cmp_ref,
- transcript_id_stringtie,gene_id_stringtie)
+ dplyr::select(any_of(c(seqnames="seqnames", start="start", end="end", width="width", strand="strand",
+ source="source", type="type", score="score", phase="phase", gene_id="gene_id",
+ transcript_id="transcript_id", db_xref="db_xref", gbkey="gbkey", locus_tag="locus_tag", partial="partial",
+ orig_protein_id="orig_protein_id", orig_transcript_id="orig_transcript_id", product="product",
+ transcript_biotype="transcript_biotype", exon_number="exon_number",
+ pseudo="pseudo", PLEK="PLEK", transcript_length="transcript_length",
+ peptide_length="peptide_length", CPC2="CPC2",
+ xloc="xloc", class_code="class_code", tss_id="tss_id", gene_name="gene_name", cmp_ref="cmp_ref",
+ transcript_id_stringtie="transcript_id_stringtie", gene_id_stringtie="gene_id_stringtie")))
combined_stringtie_ncbi_new_names %>% dplyr::select(gene_id,gene_id_stringtie,
transcript_id, transcript_id_stringtie, class_code)
-rtracklayer::export(combined_stringtie_ncbi_new_names, "combined_stringtie_ncbi_new_names.gtf", format = gtf)
+rtracklayer::export(combined_stringtie_ncbi_new_names, "combined_stringtie_ncbi_new_names.gtf", format = "GTF")
cat('"', Sys.getenv("TASK_PROCESS", "SELECT_LNCRNAS"), '":\n', file="versions.yml", sep="")
cat(' r-base: "', R.version.string, '"\n', file="versions.yml", append=TRUE, sep="")
diff --git a/assets/test_protein.hmm b/assets/test_protein.hmm
new file mode 100644
index 0000000..b94e038
--- /dev/null
+++ b/assets/test_protein.hmm
@@ -0,0 +1,336 @@
+HMMER3/f [3.4 | Aug 2023]
+NAME test_protein_hmm
+ACC TEST0001.1
+DESC Test protein HMM for not2code pipeline - amino acid profile
+LENG 104
+ALPH amino
+RF no
+MM no
+CONS yes
+CS no
+MAP yes
+DATE Thu Apr 16 02:27:58 2026
+NSEQ 1
+EFFN 0.378906
+CKSUM 372360127
+STATS LOCAL MSV -9.4083 0.71647
+STATS LOCAL VITERBI -10.5018 0.71647
+STATS LOCAL FORWARD -4.3603 0.71647
+HMM A C D E F G H I K L M N P Q R S T V W Y
+ m->m m->i m->d i->m i->i d->m d->d
+ COMPO 2.62683 4.23504 3.22141 2.95805 3.15738 2.79437 3.57938 2.64459 3.04308 2.13026 3.74336 3.36744 3.01669 3.37034 2.95192 2.50700 2.83366 2.62564 4.16041 3.49839
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.00000 *
+ 1 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 1 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 2 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 2 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 3 2.90215 4.74242 3.38352 2.91871 4.07273 3.40476 3.76364 3.61018 2.21186 3.14384 4.14938 3.28437 3.91457 2.99124 1.13588 2.99260 3.17636 3.33899 5.19639 4.02372 3 r - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 4 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 4 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 5 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 5 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 6 2.55408 4.33562 3.20784 3.09680 4.23451 0.89356 4.22026 3.81324 3.26463 3.47897 4.45627 3.37290 3.72367 3.59694 3.50856 2.72378 3.02800 3.36041 5.35230 4.33416 6 g - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 7 2.90215 4.74242 3.38352 2.91871 4.07273 3.40476 3.76364 3.61018 2.21186 3.14384 4.14938 3.28437 3.91457 2.99124 1.13588 2.99260 3.17636 3.33899 5.19639 4.02372 7 r - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 8 2.87512 4.95831 2.45664 1.17032 4.29341 3.21592 3.79842 3.72831 2.66718 3.36240 4.34384 2.88749 3.81691 3.01818 3.06358 2.86939 3.17972 3.42329 5.48344 4.20908 8 e - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 9 2.89895 4.72874 3.04051 2.79363 3.22377 3.37182 1.36189 3.58658 2.63965 3.09158 4.12932 3.20571 3.92061 3.15945 2.90971 2.97135 3.20025 3.32383 4.68970 3.17794 9 h - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 10 2.63387 4.40391 3.23126 3.05887 4.05692 3.09698 4.14202 3.58020 3.10839 3.21656 4.26443 3.37378 1.02669 3.50027 3.36243 2.79906 3.06862 3.23630 5.26731 4.17728 10 p - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 11 2.95654 4.40587 4.19331 3.80795 3.31273 3.95770 4.55578 1.20547 3.63392 1.92212 3.26677 4.06679 4.40087 3.99395 3.84160 3.44623 3.25864 1.85263 5.18147 3.90935 11 i - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 12 2.64850 4.63703 2.66442 2.54171 3.98589 3.12309 3.85174 3.67836 2.74894 3.33717 4.29527 1.33997 3.77165 3.12679 3.09818 2.72096 3.02872 3.31033 5.30336 3.94300 12 n - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 13 3.11415 4.64195 3.69890 3.41295 2.30689 3.72010 3.58249 3.13717 3.27320 2.61522 3.82311 3.60928 4.19757 3.60236 3.47549 3.25950 3.40117 3.00361 3.94606 1.14147 13 y - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 14 2.63387 4.40391 3.23126 3.05887 4.05692 3.09698 4.14202 3.58020 3.10839 3.21656 4.26443 3.37378 1.02669 3.50027 3.36243 2.79906 3.06862 3.23630 5.26731 4.17728 14 p - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 15 2.55408 4.33562 3.20784 3.09680 4.23451 0.89356 4.22026 3.81324 3.26463 3.47897 4.45627 3.37290 3.72367 3.59694 3.50856 2.72378 3.02800 3.36041 5.35230 4.33416 15 g - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 16 2.63387 4.40391 3.23126 3.05887 4.05692 3.09698 4.14202 3.58020 3.10839 3.21656 4.26443 3.37378 1.02669 3.50027 3.36243 2.79906 3.06862 3.23630 5.26731 4.17728 16 p - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 17 2.95654 4.40587 4.19331 3.80795 3.31273 3.95770 4.55578 1.20547 3.63392 1.92212 3.26677 4.06679 4.40087 3.99395 3.84160 3.44623 3.25864 1.85263 5.18147 3.90935 17 i - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 18 3.11415 4.64195 3.69890 3.41295 2.30689 3.72010 3.58249 3.13717 3.27320 2.61522 3.82311 3.60928 4.19757 3.60236 3.47549 3.25950 3.40117 3.00361 3.94606 1.14147 18 y - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 19 1.16144 4.14942 3.36909 3.15927 3.96028 2.97579 4.19211 3.07195 3.17307 2.95748 4.00260 3.33193 3.70624 3.52388 3.42842 2.50191 2.77276 2.74326 5.39725 4.18738 19 a - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 20 2.90215 4.74242 3.38352 2.91871 4.07273 3.40476 3.76364 3.61018 2.21186 3.14384 4.14938 3.28437 3.91457 2.99124 1.13588 2.99260 3.17636 3.33899 5.19639 4.02372 20 r - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 21 2.55408 4.33562 3.20784 3.09680 4.23451 0.89356 4.22026 3.81324 3.26463 3.47897 4.45627 3.37290 3.72367 3.59694 3.50856 2.72378 3.02800 3.36041 5.35230 4.33416 21 g - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 22 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 22 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 23 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 23 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 24 2.89895 4.72874 3.04051 2.79363 3.22377 3.37182 1.36189 3.58658 2.63965 3.09158 4.12932 3.20571 3.92061 3.15945 2.90971 2.97135 3.20025 3.32383 4.68970 3.17794 24 h - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 25 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 25 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 26 2.48643 1.15770 3.97923 3.69924 3.71532 3.12702 4.36773 2.84563 3.52631 2.76425 3.88366 3.71182 3.82638 3.87674 3.66674 2.75740 2.94556 2.59612 5.14886 4.00291 26 c - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 27 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 27 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 28 2.36643 4.21026 3.34789 3.09898 3.88882 3.05177 4.12297 3.00451 3.04000 2.87121 3.93049 3.32182 3.74906 3.44046 3.30154 2.56696 1.34562 2.70982 5.33534 4.10633 28 t - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 29 1.16144 4.14942 3.36909 3.15927 3.96028 2.97579 4.19211 3.07195 3.17307 2.95748 4.00260 3.33193 3.70624 3.52388 3.42842 2.50191 2.77276 2.74326 5.39725 4.18738 29 a - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 30 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 30 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 31 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 31 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 32 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 32 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 33 2.89895 4.72874 3.04051 2.79363 3.22377 3.37182 1.36189 3.58658 2.63965 3.09158 4.12932 3.20571 3.92061 3.15945 2.90971 2.97135 3.20025 3.32383 4.68970 3.17794 33 h - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 34 3.18543 4.59274 3.95035 3.63476 2.58089 3.62738 3.79195 3.20740 3.35991 2.61765 3.84542 3.80375 4.13792 3.75284 3.50431 3.38984 3.48164 3.09512 1.10308 2.58850 34 w - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 35 2.89895 4.72874 3.04051 2.79363 3.22377 3.37182 1.36189 3.58658 2.63965 3.09158 4.12932 3.20571 3.92061 3.15945 2.90971 2.97135 3.20025 3.32383 4.68970 3.17794 35 h - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 36 2.90215 4.74242 3.38352 2.91871 4.07273 3.40476 3.76364 3.61018 2.21186 3.14384 4.14938 3.28437 3.91457 2.99124 1.13588 2.99260 3.17636 3.33899 5.19639 4.02372 36 r - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 37 2.87512 4.95831 2.45664 1.17032 4.29341 3.21592 3.79842 3.72831 2.66718 3.36240 4.34384 2.88749 3.81691 3.01818 3.06358 2.86939 3.17972 3.42329 5.48344 4.20908 37 e - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 38 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 38 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 39 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 39 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 40 2.55408 4.33562 3.20784 3.09680 4.23451 0.89356 4.22026 3.81324 3.26463 3.47897 4.45627 3.37290 3.72367 3.59694 3.50856 2.72378 3.02800 3.36041 5.35230 4.33416 40 g - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 41 1.16144 4.14942 3.36909 3.15927 3.96028 2.97579 4.19211 3.07195 3.17307 2.95748 4.00260 3.33193 3.70624 3.52388 3.42842 2.50191 2.77276 2.74326 5.39725 4.18738 41 a - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 42 2.63387 4.40391 3.23126 3.05887 4.05692 3.09698 4.14202 3.58020 3.10839 3.21656 4.26443 3.37378 1.02669 3.50027 3.36243 2.79906 3.06862 3.23630 5.26731 4.17728 42 p - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 43 2.55408 4.33562 3.20784 3.09680 4.23451 0.89356 4.22026 3.81324 3.26463 3.47897 4.45627 3.37290 3.72367 3.59694 3.50856 2.72378 3.02800 3.36041 5.35230 4.33416 43 g - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 44 3.14044 4.57164 4.10604 3.80485 1.18286 3.84766 3.84204 2.67882 3.71483 2.07264 3.42524 3.91273 4.31052 3.91016 3.85820 3.41372 3.44263 2.66192 4.12441 2.50543 44 f - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 45 2.81043 4.78761 2.84581 2.60235 3.94242 3.30568 3.75867 3.56135 2.43074 3.07300 4.10684 3.05998 3.85986 1.41525 2.71548 2.86378 3.10904 3.29803 5.23325 3.92150 45 q - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 46 2.95654 4.40587 4.19331 3.80795 3.31273 3.95770 4.55578 1.20547 3.63392 1.92212 3.26677 4.06679 4.40087 3.99395 3.84160 3.44623 3.25864 1.85263 5.18147 3.90935 46 i - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 47 2.55408 4.33562 3.20784 3.09680 4.23451 0.89356 4.22026 3.81324 3.26463 3.47897 4.45627 3.37290 3.72367 3.59694 3.50856 2.72378 3.02800 3.36041 5.35230 4.33416 47 g - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 48 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 48 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 49 2.90215 4.74242 3.38352 2.91871 4.07273 3.40476 3.76364 3.61018 2.21186 3.14384 4.14938 3.28437 3.91457 2.99124 1.13588 2.99260 3.17636 3.33899 5.19639 4.02372 49 r - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 50 2.87512 4.95831 2.45664 1.17032 4.29341 3.21592 3.79842 3.72831 2.66718 3.36240 4.34384 2.88749 3.81691 3.01818 3.06358 2.86939 3.17972 3.42329 5.48344 4.20908 50 e - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 51 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 51 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 52 2.63387 4.40391 3.23126 3.05887 4.05692 3.09698 4.14202 3.58020 3.10839 3.21656 4.26443 3.37378 1.02669 3.50027 3.36243 2.79906 3.06862 3.23630 5.26731 4.17728 52 p - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 53 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 53 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 54 3.14044 4.57164 4.10604 3.80485 1.18286 3.84766 3.84204 2.67882 3.71483 2.07264 3.42524 3.91273 4.31052 3.91016 3.85820 3.41372 3.44263 2.66192 4.12441 2.50543 54 f - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 55 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 55 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 56 2.89119 4.99618 1.06597 2.28568 4.36159 3.14207 3.85418 3.92897 2.92145 3.55591 4.53483 2.83593 3.78851 3.09537 3.42210 2.86658 3.22882 3.57945 5.54867 4.25414 56 d - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 57 2.63387 4.40391 3.23126 3.05887 4.05692 3.09698 4.14202 3.58020 3.10839 3.21656 4.26443 3.37378 1.02669 3.50027 3.36243 2.79906 3.06862 3.23630 5.26731 4.17728 57 p - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 58 2.81043 4.78761 2.84581 2.60235 3.94242 3.30568 3.75867 3.56135 2.43074 3.07300 4.10684 3.05998 3.85986 1.41525 2.71548 2.86378 3.10904 3.29803 5.23325 3.92150 58 q - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 59 2.36643 4.21026 3.34789 3.09898 3.88882 3.05177 4.12297 3.00451 3.04000 2.87121 3.93049 3.32182 3.74906 3.44046 3.30154 2.56696 1.34562 2.70982 5.33534 4.10633 59 t - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 60 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 60 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 61 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 61 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 62 3.18543 4.59274 3.95035 3.63476 2.58089 3.62738 3.79195 3.20740 3.35991 2.61765 3.84542 3.80375 4.13792 3.75284 3.50431 3.38984 3.48164 3.09512 1.10308 2.58850 62 w - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 63 2.95654 4.40587 4.19331 3.80795 3.31273 3.95770 4.55578 1.20547 3.63392 1.92212 3.26677 4.06679 4.40087 3.99395 3.84160 3.44623 3.25864 1.85263 5.18147 3.90935 63 i - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 64 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 64 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 65 2.95654 4.40587 4.19331 3.80795 3.31273 3.95770 4.55578 1.20547 3.63392 1.92212 3.26677 4.06679 4.40087 3.99395 3.84160 3.44623 3.25864 1.85263 5.18147 3.90935 65 i - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 66 2.73300 4.30517 3.98992 3.65306 3.48320 3.62136 4.47225 2.06588 3.51919 2.18924 3.46613 3.85734 4.18932 3.88727 3.74032 3.12123 3.09827 1.15573 5.25035 3.97461 66 v - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 67 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 67 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 68 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 68 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 69 2.63387 4.40391 3.23126 3.05887 4.05692 3.09698 4.14202 3.58020 3.10839 3.21656 4.26443 3.37378 1.02669 3.50027 3.36243 2.79906 3.06862 3.23630 5.26731 4.17728 69 p - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 70 2.95654 4.40587 4.19331 3.80795 3.31273 3.95770 4.55578 1.20547 3.63392 1.92212 3.26677 4.06679 4.40087 3.99395 3.84160 3.44623 3.25864 1.85263 5.18147 3.90935 70 i - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 71 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 71 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 72 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 72 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 73 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 73 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 74 2.55408 4.33562 3.20784 3.09680 4.23451 0.89356 4.22026 3.81324 3.26463 3.47897 4.45627 3.37290 3.72367 3.59694 3.50856 2.72378 3.02800 3.36041 5.35230 4.33416 74 g - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 75 2.36643 4.21026 3.34789 3.09898 3.88882 3.05177 4.12297 3.00451 3.04000 2.87121 3.93049 3.32182 3.74906 3.44046 3.30154 2.56696 1.34562 2.70982 5.33534 4.10633 75 t - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 76 2.89895 4.72874 3.04051 2.79363 3.22377 3.37182 1.36189 3.58658 2.63965 3.09158 4.12932 3.20571 3.92061 3.15945 2.90971 2.97135 3.20025 3.32383 4.68970 3.17794 76 h - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 77 3.18543 4.59274 3.95035 3.63476 2.58089 3.62738 3.79195 3.20740 3.35991 2.61765 3.84542 3.80375 4.13792 3.75284 3.50431 3.38984 3.48164 3.09512 1.10308 2.58850 77 w - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 78 2.87512 4.95831 2.45664 1.17032 4.29341 3.21592 3.79842 3.72831 2.66718 3.36240 4.34384 2.88749 3.81691 3.01818 3.06358 2.86939 3.17972 3.42329 5.48344 4.20908 78 e - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 79 2.73300 4.30517 3.98992 3.65306 3.48320 3.62136 4.47225 2.06588 3.51919 2.18924 3.46613 3.85734 4.18932 3.88727 3.74032 3.12123 3.09827 1.15573 5.25035 3.97461 79 v - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 80 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 80 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 81 2.90215 4.74242 3.38352 2.91871 4.07273 3.40476 3.76364 3.61018 2.21186 3.14384 4.14938 3.28437 3.91457 2.99124 1.13588 2.99260 3.17636 3.33899 5.19639 4.02372 81 r - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 82 2.95654 4.40587 4.19331 3.80795 3.31273 3.95770 4.55578 1.20547 3.63392 1.92212 3.26677 4.06679 4.40087 3.99395 3.84160 3.44623 3.25864 1.85263 5.18147 3.90935 82 i - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 83 2.63387 4.40391 3.23126 3.05887 4.05692 3.09698 4.14202 3.58020 3.10839 3.21656 4.26443 3.37378 1.02669 3.50027 3.36243 2.79906 3.06862 3.23630 5.26731 4.17728 83 p - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 84 2.73300 4.30517 3.98992 3.65306 3.48320 3.62136 4.47225 2.06588 3.51919 2.18924 3.46613 3.85734 4.18932 3.88727 3.74032 3.12123 3.09827 1.15573 5.25035 3.97461 84 v - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 85 2.90215 4.74242 3.38352 2.91871 4.07273 3.40476 3.76364 3.61018 2.21186 3.14384 4.14938 3.28437 3.91457 2.99124 1.13588 2.99260 3.17636 3.33899 5.19639 4.02372 85 r - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 86 2.89119 4.99618 1.06597 2.28568 4.36159 3.14207 3.85418 3.92897 2.92145 3.55591 4.53483 2.83593 3.78851 3.09537 3.42210 2.86658 3.22882 3.57945 5.54867 4.25414 86 d - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 87 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 87 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 88 2.36643 4.21026 3.34789 3.09898 3.88882 3.05177 4.12297 3.00451 3.04000 2.87121 3.93049 3.32182 3.74906 3.44046 3.30154 2.56696 1.34562 2.70982 5.33534 4.10633 88 t - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 89 2.36643 4.21026 3.34789 3.09898 3.88882 3.05177 4.12297 3.00451 3.04000 2.87121 3.93049 3.32182 3.74906 3.44046 3.30154 2.56696 1.34562 2.70982 5.33534 4.10633 89 t - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 90 2.95654 4.40587 4.19331 3.80795 3.31273 3.95770 4.55578 1.20547 3.63392 1.92212 3.26677 4.06679 4.40087 3.99395 3.84160 3.44623 3.25864 1.85263 5.18147 3.90935 90 i - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 91 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 91 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 92 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 92 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 93 2.95654 4.40587 4.19331 3.80795 3.31273 3.95770 4.55578 1.20547 3.63392 1.92212 3.26677 4.06679 4.40087 3.99395 3.84160 3.44623 3.25864 1.85263 5.18147 3.90935 93 i - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 94 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 94 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 95 2.36643 4.21026 3.34789 3.09898 3.88882 3.05177 4.12297 3.00451 3.04000 2.87121 3.93049 3.32182 3.74906 3.44046 3.30154 2.56696 1.34562 2.70982 5.33534 4.10633 95 t - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 96 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 96 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 97 2.36643 4.21026 3.34789 3.09898 3.88882 3.05177 4.12297 3.00451 3.04000 2.87121 3.93049 3.32182 3.74906 3.44046 3.30154 2.56696 1.34562 2.70982 5.33534 4.10633 97 t - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 98 3.14044 4.57164 4.10604 3.80485 1.18286 3.84766 3.84204 2.67882 3.71483 2.07264 3.42524 3.91273 4.31052 3.91016 3.85820 3.41372 3.44263 2.66192 4.12441 2.50543 98 f - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 99 3.14044 4.57164 4.10604 3.80485 1.18286 3.84766 3.84204 2.67882 3.71483 2.07264 3.42524 3.91273 4.31052 3.91016 3.85820 3.41372 3.44263 2.66192 4.12441 2.50543 99 f - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 100 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 100 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 101 3.14044 4.57164 4.10604 3.80485 1.18286 3.84766 3.84204 2.67882 3.71483 2.07264 3.42524 3.91273 4.31052 3.91016 3.85820 3.41372 3.44263 2.66192 4.12441 2.50543 101 f - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 102 3.05024 4.54260 4.03392 3.67645 3.10418 3.85738 4.36228 2.30688 3.44499 1.00320 3.16272 3.96078 4.31135 3.83644 3.63551 3.42143 3.35009 2.31873 4.94563 3.64590 102 l - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 103 2.63387 4.40391 3.23126 3.05887 4.05692 3.09698 4.14202 3.58020 3.10839 3.21656 4.26443 3.37378 1.02669 3.50027 3.36243 2.79906 3.06862 3.23630 5.26731 4.17728 103 p - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.03461 3.77673 4.49907 0.61958 0.77255 0.48576 0.95510
+ 104 2.27294 4.19044 3.12785 2.94209 3.98201 2.92230 4.05319 3.49296 3.00917 3.22179 4.15813 3.18047 3.65381 3.36680 3.29620 1.24540 2.74641 3.04931 5.36292 4.06569 104 s - - -
+ 2.68618 4.42225 2.77519 2.73123 3.46354 2.40513 3.72494 3.29354 2.67741 2.69355 4.24690 2.90347 2.73739 3.18146 2.89801 2.37887 2.77519 2.98518 4.58477 3.61503
+ 0.02343 3.76555 * 0.61958 0.77255 0.00000 *
+//
diff --git a/assets/test_protein.sto b/assets/test_protein.sto
new file mode 100644
index 0000000..b1f3ede
--- /dev/null
+++ b/assets/test_protein.sto
@@ -0,0 +1,6 @@
+# STOCKHOLM 1.0
+#=GF ID test_protein_hmm
+#=GF AC TEST0001.1
+#=GF DE Test protein HMM for not2code pipeline - amino acid profile
+test_seq SLRLLGREHPINYPGPIYARGLSHSCSTALLSHWHRELLGAPGFQIGSRESPLFSDPQTLLWILIVLSPISLLGTHWEVSRIPVRDSTTISLILTLTFFLFLPS
+//
diff --git a/assets/test_samplesheet.csv b/assets/test_samplesheet.csv
new file mode 100644
index 0000000..fba9059
--- /dev/null
+++ b/assets/test_samplesheet.csv
@@ -0,0 +1,2 @@
+sample,gtf
+TEST_SAMPLE,assets/test_stringtie_output.gtf
diff --git a/assets/test_stringtie_output.gtf b/assets/test_stringtie_output.gtf
new file mode 100644
index 0000000..1f56ca4
--- /dev/null
+++ b/assets/test_stringtie_output.gtf
@@ -0,0 +1,38 @@
+# StringTie version 2.2.1 - simulated output for homo_sapiens chr22 test genome (40000 bp)
+# Reference: nf-core/test-datasets modules homo_sapiens genome.fasta (chr22:1-40000)
+#
+# Gene structure in the test genome (chr22:1-40000, relative coords):
+# ENSG00000233995 (pseudogene): 1-2611
+# ENSG00000239435 (pseudogene): 3337-10681
+# -- intergenic region --: 10682-18724 <-- novel transcripts placed here
+# ENSG00000198445 (protein_coding): 18725-20784
+# ENSG00000287285 (lncRNA): 20869-28084
+# ENSG00000240122 (pseudogene): 23063-23459
+# ENSG00000283633 (lncRNA): 29885-40000
+#
+# MSTRG.1.1 and MSTRG.2.1: novel intergenic transcripts (class_code 'u' in gffcompare)
+# - multi-exon, total exon length > 600 nt -> sufficient for TransDecoder (min 100aa = 300nt)
+# - all sequences exist in the hr22 genome FASTA so gffread can extract them
+# MSTRG.3.1: partially overlaps ENSG00000239435 with different boundaries (class_code 'j' or 'o')
+# - this tests the non-'=' class code path in COMPARE_TRANSCRIPTOMES
+#
+# All transcripts have TPM >= 1.5 to pass:
+# 1. GTF_FILTER_TPM (threshold 0.1)
+# 2. STRINGTIE_MERGE (-T 1)
+#
+chr22 StringTie transcript 11000 12800 1000 + . gene_id "MSTRG.1"; transcript_id "MSTRG.1.1"; cov "120.000000"; FPKM "60.000000"; TPM "6.000000";
+chr22 StringTie exon 11000 11320 1000 + . gene_id "MSTRG.1"; transcript_id "MSTRG.1.1"; exon_number "1"; cov "120.000000";
+chr22 StringTie exon 11600 12000 1000 + . gene_id "MSTRG.1"; transcript_id "MSTRG.1.1"; exon_number "2"; cov "120.000000";
+chr22 StringTie exon 12200 12800 1000 + . gene_id "MSTRG.1"; transcript_id "MSTRG.1.1"; exon_number "3"; cov "120.000000";
+chr22 StringTie transcript 13500 15600 800 - . gene_id "MSTRG.2"; transcript_id "MSTRG.2.1"; cov "80.000000"; FPKM "40.000000"; TPM "4.000000";
+chr22 StringTie exon 13500 14000 800 - . gene_id "MSTRG.2"; transcript_id "MSTRG.2.1"; exon_number "1"; cov "80.000000";
+chr22 StringTie exon 14400 14900 800 - . gene_id "MSTRG.2"; transcript_id "MSTRG.2.1"; exon_number "2"; cov "80.000000";
+chr22 StringTie exon 15200 15600 800 - . gene_id "MSTRG.2"; transcript_id "MSTRG.2.1"; exon_number "3"; cov "80.000000";
+chr22 StringTie transcript 16000 17800 600 + . gene_id "MSTRG.3"; transcript_id "MSTRG.3.1"; cov "60.000000"; FPKM "30.000000"; TPM "3.000000";
+chr22 StringTie exon 16000 16500 600 + . gene_id "MSTRG.3"; transcript_id "MSTRG.3.1"; exon_number "1"; cov "60.000000";
+chr22 StringTie exon 16900 17400 600 + . gene_id "MSTRG.3"; transcript_id "MSTRG.3.1"; exon_number "2"; cov "60.000000";
+chr22 StringTie exon 17600 17800 600 + . gene_id "MSTRG.3"; transcript_id "MSTRG.3.1"; exon_number "3"; cov "60.000000";
+chr22 StringTie transcript 8000 10400 500 + . gene_id "MSTRG.4"; transcript_id "MSTRG.4.1"; cov "50.000000"; FPKM "25.000000"; TPM "2.500000";
+chr22 StringTie exon 8000 8500 500 + . gene_id "MSTRG.4"; transcript_id "MSTRG.4.1"; exon_number "1"; cov "50.000000";
+chr22 StringTie exon 9000 10000 500 + . gene_id "MSTRG.4"; transcript_id "MSTRG.4.1"; exon_number "2"; cov "50.000000";
+chr22 StringTie exon 10100 10400 500 + . gene_id "MSTRG.4"; transcript_id "MSTRG.4.1"; exon_number "3"; cov "50.000000";
diff --git a/conf/modules.config b/conf/modules.config
index c555822..ac52a60 100644
--- a/conf/modules.config
+++ b/conf/modules.config
@@ -12,12 +12,6 @@
process {
- publishDir = [
- path: { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" },
- mode: params.publish_dir_mode,
- saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
- ]
-
withName: FASTQC {
ext.args = '--quiet'
}
@@ -31,20 +25,46 @@ process {
]
}
- withName: GTF_FILTER_TPM {
+ withName: '.*GTF_FILTER_TPM' {
publishDir = [
- path: { "${params.outdir}/filtered_gtf" },
- mode: 'copy',
+ path: { "${params.outdir}/transcriptome_assembly" },
+ mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
- withName: 'STRINGTIE_MERGE' {
+ withName: '.*STRINGTIE_MERGE' {
ext.args = '-T 1 -m 200'
+ publishDir = [
+ path: { "${params.outdir}/transcriptome_assembly" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
}
- withName: 'GFFREAD' {
+ withName: '.*GFFCOMPARE' {
+ publishDir = [
+ path: { "${params.outdir}/transcriptome_assembly" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
+ }
+
+ withName: '.*GFFREAD' {
ext.args = '-W -F -w'
+ publishDir = [
+ path: { "${params.outdir}/transcriptome_assembly" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
+ }
+
+ withName: '.*CPC2|.*PLEK|.*TRANSDECODER_LONGORFS' {
+ publishDir = [
+ path: { "${params.outdir}/coding_potential" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
}
withName: 'HMMER_HMMPRESS' {
@@ -55,14 +75,14 @@ process {
maxRetries = 2
}
- withName: 'HMMER_HMMSEARCH' {
+ withName: '.*HMMER_HMMSEARCH' {
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
time = { check_max( 8.h * task.attempt, 'time' ) }
errorStrategy = { task.exitStatus in [140,141,143,137,124] ? 'retry' : 'finish' }
maxRetries = 2
publishDir = [
- path: { "${params.outdir}/hmmer" },
+ path: { "${params.outdir}/coding_potential" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
@@ -71,5 +91,13 @@ process {
args = '-E 1e-10'
}
}
+
+ withName: '.*SELECT_LNCRNAS' {
+ publishDir = [
+ path: { "${params.outdir}/lncRNA_candidates" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
+ }
}
diff --git a/conf/test.config b/conf/test.config
index 1f92698..3d2a474 100644
--- a/conf/test.config
+++ b/conf/test.config
@@ -20,12 +20,26 @@ params {
max_time = '6.h'
// Input data
- // TODO nf-core: Specify the paths to your test data on nf-core/test-datasets
- // TODO nf-core: Give any required params for the test so that command line flags are not needed
- input = "${projectDir}/assets/samplesheet.csv"
- reference_genome = "${projectDir}/assets/R64-1-1.fasta"
- reference_gtf = "${projectDir}/assets/R64-1-1.transcripts.gtf"
-
- // Genome references
- genome = 'R64-1-1'
+ // test_samplesheet.csv aponta para GTF sintético no formato StringTie (com linhas transcript + TPM)
+ // Transcritos em região intergênica chr22:10682-18724 (8042 bp) - suficiente para TransDecoder/CPC2/PLEK
+ input = "${projectDir}/assets/test_samplesheet.csv"
+
+ // Genome references: homo_sapiens chr22 test fragment (40000 bp)
+ // Usando o mesmo GTF como reference_gff pois o genome.gff3 do nf-core usa coordenadas
+ // absolutas do chr22 real (~16M bp) incompatíveis com o FASTA de teste (1-40000 bp)
+ reference_genome = "https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.fasta"
+ reference_gtf = "https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.gtf"
+ reference_gff = "https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.gtf"
+
+ // Functional annotation
+ // IMPORTANTE: test_starfusion_dfam.hmm é um HMM NUCLEOTÍDICO (banco DFAM de transposons)
+ // e não pode ser usado com hmmsearch em sequências proteicas (causaria erro 'illegal character Q').
+ // Usamos um HMM proteico local no formato HMMER3/f com alfabeto amino acid.
+ pfam_db = "${projectDir}/assets/test_protein.hmm"
+
+ // TPM filtering: manter habilitado com threshold baixo para testar o módulo GTF_FILTER_TPM
+ // Todos os transcritos de teste têm TPM >= 2.5 (passa pelo filtro 0.1 e pelo merge -T 1)
+ filter_by_tpm = true
+ tpm_threshold = 0.1
+
}
diff --git a/lint_output.md b/lint_output.md
new file mode 100644
index 0000000..7a6492b
--- /dev/null
+++ b/lint_output.md
@@ -0,0 +1,230 @@
+## `nf-core pipelines lint` overall result: Failed :x:
+
+Posted for pipeline commit 70ad359
+
+```diff
++| ✅ 148 tests passed |+
+#| ❔ 3 tests were ignored |#
+!| ❗ 19 tests had warnings |!
+-| ❌ 25 tests failed |-
+```
+
+
+
+### :x: Test failures:
+
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found: `.github/workflows/nf-test.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found: `.github/actions/get-shards/action.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found: `.github/actions/nf-test/action.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found: `nf-test.config`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found: `tests/default.nf.test`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable (incorrectly) found: `params.max_cpus`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable (incorrectly) found: `params.max_memory`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable (incorrectly) found: `params.max_time`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Lines for loading custom profiles not found. File should contain:
+```groovy
+// Load nf-core custom profiles from different institutions
+includeConfig params.custom_config_base && (!System.getenv('NXF_OFFLINE') || !params.custom_config_base.startsWith('http')) ? "${params.custom_config_base}/nfcore_custom.config" : "/dev/null"
+```
+* [nf_test_content](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nf_test_content) - 'tests/nextflow.config' does not exist
+* [nf_test_content](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nf_test_content) - 'nf-test.config' does not exist
+* [actions_awsfulltest](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_awsfulltest) - `.github/workflows/awsfulltest.yml` is not triggered correctly
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `tpm_threshold` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `pfam_db` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `multiqc_replace_names` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `multiqc_sample_names` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `mstrg_prep_script` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `plek` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `lncselect` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `filter_by_tpm` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `reference_genome` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `reference_gtf` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `validationSkipDuplicateCheck` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `validationS3PathCheck` from `nextflow config` not found in nextflow_schema.json
+* [schema_params](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_params) - Param `monochromeLogs` from `nextflow config` not found in nextflow_schema.json
+
+### :heavy_exclamation_mark: Test warnings:
+
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found: `conf/igenomes_ignored.config`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found: `ro-crate-metadata.json`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - nf-validation has been detected in the pipeline. Please migrate to nf-schema: https://nextflow-io.github.io/nf-schema/latest/migration_guide/
+* [readme](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/readme) - README did not have a Nextflow minimum version badge.
+* [readme](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/readme) - README did not have an nf-core template version badge.
+* [readme](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/readme) - README contains the placeholder `zenodo.XXXXXXX`. This should be replaced with the zenodo doi (after the first release).
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `main.nf`: _Remove this line if you don't need a FASTA file_
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `awsfulltest.yml`: _You can customise AWS full pipeline tests as required_
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `ci.yml`: _You can customise CI pipeline run tests as required_
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `methods_description_template.yml`: _#Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline_
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `base.config`: _Check the defaults for all processes_
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `base.config`: _Customise requirements for specific processes._
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `test_full.config`: _Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA)_
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `test_full.config`: _Give any required params for the test so that command line flags are not needed_
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `output.md`: _Write this documentation describing your workflow's output_
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `usage.md`: _Add documentation about anything specific to running your pipeline. For general topics, please point to (and add to) the main nf-core website._
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `main.nf`: _Optionally add in-text citation tools to this list._
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `main.nf`: _Optionally add bibliographic entries to this list._
+* [pipeline_todos](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_todos) - TODO string in `main.nf`: _Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!_
+
+### :grey_question: Tests ignored:
+
+* [files_unchanged](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_unchanged) - Required pipeline config not found - {'manifest.contributors'}
+* [actions_nf_test](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_nf_test) - '.github/workflows/nf-test.yml' not found
+* [rocrate_readme_sync](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/rocrate_readme_sync) - `ro-crate-metadata.json` not found
+
+### :white_check_mark: Tests passed:
+
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.gitattributes`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.gitignore`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.nf-core.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.prettierignore`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.prettierrc.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `CHANGELOG.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `CITATIONS.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `CODE_OF_CONDUCT.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `LICENSE` or `LICENSE.md` or `LICENCE` or `LICENCE.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `nextflow_schema.json`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `nextflow.config`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `README.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/.dockstore.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/CONTRIBUTING.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/ISSUE_TEMPLATE/bug_report.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/ISSUE_TEMPLATE/config.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/ISSUE_TEMPLATE/feature_request.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/PULL_REQUEST_TEMPLATE.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/workflows/branch.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/workflows/linting_comment.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/workflows/linting.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `assets/email_template.html`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `assets/email_template.txt`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `assets/sendmail_template.txt`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `assets/nf-core-nottocode_logo_light.png`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `conf/modules.config`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `conf/test.config`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `conf/test_full.config`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `docs/images/nf-core-nottocode_logo_light.png`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `docs/images/nf-core-nottocode_logo_dark.png`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `docs/output.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `docs/README.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `docs/README.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `docs/usage.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `main.nf`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `assets/multiqc_config.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `conf/base.config`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `conf/igenomes.config`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/workflows/awstest.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `.github/workflows/awsfulltest.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File found: `modules.json`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `.github/ISSUE_TEMPLATE/bug_report.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `.github/ISSUE_TEMPLATE/feature_request.md`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `.github/workflows/push_dockerhub.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `.markdownlint.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `.nf-core.yaml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `.yamllint.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `bin/markdown_to_html.r`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `conf/aws.config`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `docs/images/nf-core-nottocode_logo.png`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `lib/Checks.groovy`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `lib/Completion.groovy`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `lib/NfcoreTemplate.groovy`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `lib/Utils.groovy`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `lib/Workflow.groovy`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `lib/WorkflowMain.groovy`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `lib/WorkflowNottocode.groovy`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `parameters.settings.json`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `pipeline_template.yml`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `Singularity`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `lib/nfcore_external_java_deps.jar`
+* [files_exist](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/files_exist) - File not found check: `.travis.yml`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Found nf-validation plugin
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `manifest.name`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `manifest.nextflowVersion`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `manifest.description`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `manifest.version`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `manifest.homePage`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `timeline.enabled`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `trace.enabled`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `report.enabled`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `dag.enabled`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `process.cpus`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `process.memory`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `process.time`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `params.outdir`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `params.input`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `manifest.mainScript`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `timeline.file`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `trace.file`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `report.file`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable found: `dag.file`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable (correctly) not found: `params.nf_required_version`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable (correctly) not found: `params.container`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable (correctly) not found: `params.singleEnd`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable (correctly) not found: `params.igenomesIgnore`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable (correctly) not found: `params.name`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable (correctly) not found: `params.enable_conda`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config ``timeline.enabled`` had correct value: ``true``
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config ``report.enabled`` had correct value: ``true``
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config ``trace.enabled`` had correct value: ``true``
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config ``dag.enabled`` had correct value: ``true``
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config ``manifest.name`` began with ``nf-core/``
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable ``manifest.homePage`` began with https://github.com/nf-core/
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config ``dag.file`` ended with ``.html``
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config variable ``manifest.nextflowVersion`` started with >= or !>=
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config ``manifest.version`` ends in ``dev``: ``1.0dev``
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config `params.custom_config_version` is set to `master`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config `params.custom_config_base` is set to `https://raw.githubusercontent.com/nf-core/configs/master`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - nextflow.config contains configuration profile `test`
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config default value correct: params.custom_config_version= master
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config default value correct: params.custom_config_base= https://raw.githubusercontent.com/nf-core/configs/master
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config default value correct: params.max_cpus= 16
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config default value correct: params.max_memory= 128.GB
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config default value correct: params.max_time= 240.h
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config default value correct: params.publish_dir_mode= copy
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config default value correct: params.max_multiqc_email_size= 25.MB
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config default value correct: params.validate_params= true
+* [nextflow_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nextflow_config) - Config default value correct: params.pipelines_testdata_base_path= https://raw.githubusercontent.com/nf-core/test-datasets/
+* [actions_awstest](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_awstest) - '.github/workflows/awstest.yml' is triggered correctly
+* [actions_awsfulltest](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_awsfulltest) - `.github/workflows/awsfulltest.yml` does not use `-profile test`
+* [pipeline_if_empty_null](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_if_empty_null) - No `ifEmpty(null)` strings found
+* [plugin_includes](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/plugin_includes) - No wrong validation plugin imports have been found
+* [pipeline_name_conventions](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/pipeline_name_conventions) - Name adheres to nf-core convention
+* [template_strings](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/template_strings) - Did not find any Jinja template strings (0 files)
+* [schema_lint](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_lint) - Schema lint passed
+* [schema_lint](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_lint) - Schema title + description lint passed
+* [schema_lint](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/schema_lint) - Input mimetype lint passed: 'text/csv'
+* [system_exit](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/system_exit) - No `System.exit` calls found
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: awsfulltest.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: awstest.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: branch.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: ci.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: clean-up.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: download_pipeline.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: fix-linting.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: linting.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: linting_comment.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: release-announcements.yml
+* [actions_schema_validation](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/actions_schema_validation) - Workflow validation passed: release-announcments.yml
+* [merge_markers](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/merge_markers) - No merge markers found in pipeline files
+* [modules_json](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/modules_json) - Only installed modules found in `modules.json`
+* [multiqc_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/multiqc_config) - `assets/multiqc_config.yml` found and not ignored.
+* [multiqc_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/multiqc_config) - `assets/multiqc_config.yml` contains `report_section_order`
+* [multiqc_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/multiqc_config) - `assets/multiqc_config.yml` contains `export_plots`
+* [multiqc_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/multiqc_config) - `assets/multiqc_config.yml` contains `report_comment`
+* [multiqc_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/multiqc_config) - `assets/multiqc_config.yml` follows the ordering scheme of the minimally required plugins.
+* [multiqc_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/multiqc_config) - `assets/multiqc_config.yml` contains a matching 'report_comment'.
+* [multiqc_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/multiqc_config) - `assets/multiqc_config.yml` contains 'export_plots: true'.
+* [modules_structure](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/modules_structure) - modules directory structure is correct 'modules/nf-core/TOOL/SUBTOOL'
+* [local_component_structure](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/local_component_structure) - local subworkflows directory structure is correct 'subworkflows/local/TOOL/SUBTOOL'
+* [base_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/base_config) - `conf/base.config` found and not ignored.
+* [modules_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/modules_config) - `conf/modules.config` found and not ignored.
+* [modules_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/modules_config) - `FASTQC` found in `conf/modules.config` and Nextflow scripts.
+* [modules_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/modules_config) - `MULTIQC` found in `conf/modules.config` and Nextflow scripts.
+* [modules_config](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/modules_config) - `HMMER_HMMPRESS` found in `conf/modules.config` and Nextflow scripts.
+* [nfcore_yml](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nfcore_yml) - Repository type in `.nf-core.yml` is valid: `pipeline`
+* [nfcore_yml](https://nf-co.re/tools/docs/3.5.2/pipeline_lint_tests/nfcore_yml) - nf-core version in `.nf-core.yml` is set to the latest version: `2.11.dev0`
+
+### Run details
+
+* nf-core/tools version 3.5.2
+* Run at `2026-04-16 00:10:59`
+
+
diff --git a/lint_results.txt b/lint_results.txt
new file mode 100644
index 0000000..73dba91
--- /dev/null
+++ b/lint_results.txt
@@ -0,0 +1,313 @@
+
+
+ ,--./,-.
+ ___ __ __ __ ___ /,-._.--~\
+ |\ | |__ __ / ` / \ |__) |__ } {
+ | \| | \__, \__/ | \ |___ \`-._,-`-,
+ `._,._,'
+
+ nf-core/tools version 3.5.2 - https://nf-co.re
+
+
+
+INFO Testing pipeline: .
+
+
+
+
+
+
+╭─ [?] 3 Pipeline Tests Ignored ───────────────────────────────────────────────╮
+│ │
+│ files_unchanged: Required pipeline config not found - │
+│ {'manifest.contributors'} │
+│ actions_nf_test: '.github/workflows/nf-test.yml' not found │
+│ rocrate_readme_sync: ro-crate-metadata.json not found │
+│ │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ [!] 22 Pipeline Test Warnings ──────────────────────────────────────────────╮
+│ │
+│ files_exist: File not found: conf/igenomes_ignored.config │
+│ files_exist: File not found: ro-crate-metadata.json │
+│ nextflow_config: nf-validation has been detected in the pipeline. Please │
+│ migrate to nf-schema: │
+│ https://nextflow-io.github.io/nf-schema/latest/migration_guide/ │
+│ readme: README did not have a Nextflow minimum version badge. │
+│ readme: README did not have an nf-core template version badge. │
+│ readme: README contains the placeholder zenodo.XXXXXXX. This should be │
+│ replaced with the zenodo doi (after the first release). │
+│ pipeline_todos: TODO string in README.md: update the following command to │
+│ include all required parameters for a minimal example │
+│ pipeline_todos: TODO string in README.md: Add citation for pipeline after │
+│ first release. Uncomment lines below and update Zenodo doi and badge at the │
+│ top of this file. │
+│ pipeline_todos: TODO string in README.md: Add bibliography of tools and data │
+│ used in your pipeline │
+│ pipeline_todos: TODO string in main.nf: Remove this line if you don't need a │
+│ FASTA file │
+│ pipeline_todos: TODO string in awsfulltest.yml: You can customise AWS full │
+│ pipeline tests as required │
+│ pipeline_todos: TODO string in ci.yml: You can customise CI pipeline run │
+│ tests as required │
+│ pipeline_todos: TODO string in methods_description_template.yml: #Update the │
+│ HTML below to your preferred methods description, e.g. add publication │
+│ citation for this pipeline │
+│ pipeline_todos: TODO string in base.config: Check the defaults for all │
+│ processes │
+│ pipeline_todos: TODO string in base.config: Customise requirements for │
+│ specific processes. │
+│ pipeline_todos: TODO string in test_full.config: Specify the paths to your │
+│ full test data ( on nf-core/test-datasets or directly in repositories, e.g. │
+│ SRA) │
+│ pipeline_todos: TODO string in test_full.config: Give any required params │
+│ for the test so that command line flags are not needed │
+│ pipeline_todos: TODO string in output.md: Write this documentation │
+│ describing your workflow's output │
+│ pipeline_todos: TODO string in usage.md: Add documentation about anything │
+│ specific to running your pipeline. For general topics, please point to (and │
+│ add to) the main nf-core website. │
+│ pipeline_todos: TODO string in main.nf: Optionally add in-text citation │
+│ tools to this list. │
+│ pipeline_todos: TODO string in main.nf: Optionally add bibliographic entries │
+│ to this list. │
+│ pipeline_todos: TODO string in main.nf: Only uncomment below if logic in │
+│ toolCitationText/toolBibliographyText has been filled! │
+│ │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ [✗] 25 Pipeline Tests Failed ───────────────────────────────────────────────╮
+│ │
+│ files_exist: File not found: .github/workflows/nf-test.yml │
+│ files_exist: File not found: .github/actions/get-shards/action.yml │
+│ files_exist: File not found: .github/actions/nf-test/action.yml │
+│ files_exist: File not found: nf-test.config │
+│ files_exist: File not found: tests/default.nf.test │
+│ nextflow_config: Config variable (incorrectly) found: params.max_cpus │
+│ nextflow_config: Config variable (incorrectly) found: params.max_memory │
+│ nextflow_config: Config variable (incorrectly) found: params.max_time │
+│ nextflow_config: Lines for loading custom profiles not found. File should │
+│ contain: │
+│ │
+│ │
+│ // Load nf-core custom profiles from different institutions │
+│ includeConfig params.custom_config_base && (!System.getenv('NXF_OFFLINE') │
+│ || !params.custom_config_base.startsWith('http')) ? │
+│ "${params.custom_config_base}/nfcore_custom.config" : "/dev/null" │
+│ │
+│ nf_test_content: 'tests/nextflow.config' does not exist │
+│ nf_test_content: 'nf-test.config' does not exist │
+│ actions_awsfulltest: .github/workflows/awsfulltest.yml is not triggered │
+│ correctly │
+│ schema_params: Param tpm_threshold from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param pfam_db from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param multiqc_replace_names from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param multiqc_sample_names from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param mstrg_prep_script from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param plek from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param lncselect from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param filter_by_tpm from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param reference_genome from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param reference_gtf from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param validationSkipDuplicateCheck from nextflow config not │
+│ found in nextflow_schema.json │
+│ schema_params: Param validationS3PathCheck from nextflow config not found in │
+│ nextflow_schema.json │
+│ schema_params: Param monochromeLogs from nextflow config not found in │
+│ nextflow_schema.json │
+│ │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+╭─ [!] 7 Module Test Warnings ─────────────────────────────────────────────────╮
+│ ╷ ╷ │
+│ Module name │ File path │ Test message │
+│╶────────────────┼─────────────────────────────┼─────────────────────────────╴│
+│ fastqc │ modules/nf-core/fastqc │ module_version: New version │
+│ │ │ available │
+│ gffcompare │ modules/nf-core/gffcompare │ module_version: New version │
+│ │ │ available │
+│ gffread │ modules/nf-core/gffread │ module_version: New version │
+│ │ │ available │
+│ multiqc │ modules/nf-core/multiqc │ module_version: New version │
+│ │ │ available │
+│ stringtie/merge │ modules/nf-core/stringtie/… │ module_version: New version │
+│ │ │ available │
+│ untar │ modules/nf-core/untar │ module_version: New version │
+│ │ │ available │
+│ xz/decompress │ modules/nf-core/xz/decompr… │ module_version: New version │
+│ │ │ available │
+│ ╵ ╵ │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ [✗] 4 Module Tests Failed ──────────────────────────────────────────────────╮
+│ ╷ ╷ │
+│ Module name │ File path │ Test message │
+│╶────────────────┼─────────────────────────────┼─────────────────────────────╴│
+│ gffcompare │ modules/nf-core/gffcompare… │ check_local_copy: Local copy │
+│ │ │ of module does not match │
+│ │ │ remote │
+│ hmmer/hmmpress │ modules/nf-core/hmmer/hmmp… │ check_local_copy: Local copy │
+│ │ │ of module does not match │
+│ │ │ remote │
+│ hmmer/hmmsearch │ modules/nf-core/hmmer/hmms… │ check_local_copy: Local copy │
+│ │ │ of module does not match │
+│ │ │ remote │
+│ multiqc │ modules/nf-core/multiqc/ma… │ check_local_copy: Local copy │
+│ │ │ of module does not match │
+│ │ │ remote │
+│ ╵ ╵ │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+╭─ [!] 18 Subworkflow Test Warnings ───────────────────────────────────────────╮
+│ ╷ ╷ │
+│ Subworkflow name │ File path │ Test message │
+│╶────────────────────────────────┼─────────────────────┼─────────────────────╴│
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'UTILS_NEXTFLOW_PIPE │
+│ │ │ LINE' versions are │
+│ │ │ not added in │
+│ │ │ main.nf. Can be │
+│ │ │ ignored if the │
+│ │ │ module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'UTILS_NFCORE_PIPELI │
+│ │ │ NE' versions are not │
+│ │ │ added in main.nf. │
+│ │ │ Can be ignored if │
+│ │ │ the module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'UTILS_NFVALIDATION_ │
+│ │ │ PLUGIN' versions are │
+│ │ │ not added in │
+│ │ │ main.nf. Can be │
+│ │ │ ignored if the │
+│ │ │ module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'completionEmail' │
+│ │ │ versions are not │
+│ │ │ added in main.nf. │
+│ │ │ Can be ignored if │
+│ │ │ the module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'completionSummary' │
+│ │ │ versions are not │
+│ │ │ added in main.nf. │
+│ │ │ Can be ignored if │
+│ │ │ the module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'dashedLine' │
+│ │ │ versions are not │
+│ │ │ added in main.nf. │
+│ │ │ Can be ignored if │
+│ │ │ the module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'fromSamplesheet' │
+│ │ │ versions are not │
+│ │ │ added in main.nf. │
+│ │ │ Can be ignored if │
+│ │ │ the module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'imNotification' │
+│ │ │ versions are not │
+│ │ │ added in main.nf. │
+│ │ │ Can be ignored if │
+│ │ │ the module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'nfCoreLogo' │
+│ │ │ versions are not │
+│ │ │ added in main.nf. │
+│ │ │ Can be ignored if │
+│ │ │ the module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'paramsSummaryMap' │
+│ │ │ versions are not │
+│ │ │ added in main.nf. │
+│ │ │ Can be ignored if │
+│ │ │ the module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ main_nf_include_vers │
+│ │ │ ions: Included │
+│ │ │ component │
+│ │ │ 'workflowCitation' │
+│ │ │ versions are not │
+│ │ │ added in main.nf. │
+│ │ │ Can be ignored if │
+│ │ │ the module is using │
+│ │ │ topic channels │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ meta_yml_exists: │
+│ │ │ Subworkflow meta.yml │
+│ │ │ does not exist │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ subworkflow_todo: │
+│ │ │ TODO string in │
+│ │ │ main.nf: Only │
+│ │ │ uncomment below if │
+│ │ │ logic in │
+│ │ │ toolCitationText/too │
+│ │ │ lBibliographyText │
+│ │ │ has been filled! │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ subworkflow_todo: │
+│ │ │ TODO string in │
+│ │ │ main.nf: Optionally │
+│ │ │ add bibliographic │
+│ │ │ entries to this │
+│ │ │ list. │
+│ utils_nfcore_nottocode_pipeline │ subworkflows/local… │ subworkflow_todo: │
+│ │ │ TODO string in │
+│ │ │ main.nf: Optionally │
+│ │ │ add in-text citation │
+│ │ │ tools to this list. │
+│ utils_nextflow_pipeline │ subworkflows/nf-co… │ subworkflow_version: │
+│ │ │ New version │
+│ │ │ available │
+│ utils_nfcore_pipeline │ subworkflows/nf-co… │ subworkflow_version: │
+│ │ │ New version │
+│ │ │ available │
+│ utils_nfvalidation_plugin │ subworkflows/nf-co… │ subworkflow_version: │
+│ │ │ New version │
+│ │ │ available │
+│ ╵ ╵ │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭───────────────────────╮
+│ LINT RESULTS SUMMARY │
+├───────────────────────┤
+│ [✔] 200 Tests Passed │
+│ [?] 3 Tests Ignored │
+│ [!] 47 Test Warnings │
+│ [✗] 29 Tests Failed │
+╰───────────────────────╯
diff --git a/modules/local/compare_transcriptomes/main.nf b/modules/local/compare_transcriptomes/main.nf
index 37287a3..1c286aa 100644
--- a/modules/local/compare_transcriptomes/main.nf
+++ b/modules/local/compare_transcriptomes/main.nf
@@ -81,7 +81,7 @@ process COMPARE_TRANSCRIPTOMES {
cat("Verificação da diferença:", actual_diff == expected_diff, "\\n")
# Filtrar GTF removendo proteínas codificantes
- cat("Filtrando GTF para remover proteínas codificantes...\\n")
+ cat("Filtrando GTF para remover proteínas codificantes\\n")
gtf_remove_prot <- dup_reference_annot %>%
filter(transcript_id %in% classes_different) %>%
filter(strand %in% c("+", "-"))
@@ -98,7 +98,22 @@ process COMPARE_TRANSCRIPTOMES {
output_file <- "${prefix}.remove_prot.gtf"
cat("Exportando GTF filtrado para:", output_file, "\\n")
- rtracklayer::export(gtf_remove_prot, output_file, format = "gtf")
+ if (nrow(gtf_remove_prot) == 0) {
+ cat("AVISO: Nenhum transcrito novel encontrado (todos são class_code '=').\\n")
+ cat("Criando arquivo GTF vazio de saída.\\n")
+ file.create(output_file)
+ } else {
+ # Converter data.frame para GRanges antes de exportar
+ gtf_granges <- GenomicRanges::makeGRangesFromDataFrame(
+ gtf_remove_prot,
+ keep.extra.columns = TRUE,
+ seqnames.field = "seqnames",
+ start.field = "start",
+ end.field = "end",
+ strand.field = "strand"
+ )
+ rtracklayer::export(gtf_granges, output_file, format = "gtf")
+ }
cat("Análise concluída com sucesso!\\n")
sink()
diff --git a/modules/local/cpc2/main.nf b/modules/local/cpc2/main.nf
index 7fd4feb..bd7d41f 100644
--- a/modules/local/cpc2/main.nf
+++ b/modules/local/cpc2/main.nf
@@ -2,14 +2,13 @@ process CPC2 {
tag "$meta.id"
label 'process_medium'
- conda "bioconda::cpc2=1.0.1 conda-forge::libsvm=3.25"
+ conda "bioconda::cpc2=1.0.1"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'community.wave.seqera.io/library/biopython_numpy_python:453440b12d89d654' :
- 'community.wave.seqera.io/library/biopython_numpy_python:453440b12d89d654' }"
-
+ 'https://depot.galaxyproject.org/singularity/cpc2:1.0.1--hdfd78af_0' :
+ 'quay.io/biocontainers/cpc2:1.0.1--hdfd78af_0' }"
+
input:
tuple val(meta), path(fasta)
- path(cpc2)
output:
tuple val(meta), path("*.txt"), emit: cpc2_results
@@ -28,17 +27,39 @@ process CPC2 {
echo "Arquivo FASTA de entrada: ${fasta}" >> ${prefix}.log
echo "Arquivo de saída: ${prefix}_CPC2_output.txt" >> ${prefix}.log
echo "Data/hora de início: \$(date)" >> ${prefix}.log
- echo "Modelos SVM: svm-predict, svm-scale" >> ${prefix}.log
-
+
# Contar número de sequências no arquivo FASTA
seq_count=\$(grep -c "^>" ${fasta})
echo "Número de sequências a serem analisadas: \$seq_count" >> ${prefix}.log
-
- python ${cpc2}/bin/CPC2.py -i ${fasta} -o ${prefix}
-
+ # CPC2.py hardcodes svm-predict/svm-scale at ../libs/libsvm/libsvm-3.18/ relative
+ # to its own location (/usr/local/bin/). This path is non-writable when Docker runs
+ # as the host user (-u uid:gid, set in nextflow.config docker.runOptions).
+ # It also imports seqio as a sibling Python module from /usr/local/bin/.
+ #
+ # Fix: copy CPC2.py to the work dir, patch lib_dir to a writable local cpc2_libs/
+ # subdir (with symlinks to svm-predict/svm-scale), patch data_dir to the real
+ # /usr/local/data/ (where cpc2.model and cpc2.range live), and export PYTHONPATH
+ # so seqio.py can be found.
+ mkdir -p cpc2_libs/libsvm/libsvm-3.18/
+ ln -sf \$(which svm-predict) cpc2_libs/libsvm/libsvm-3.18/svm-predict
+ ln -sf \$(which svm-scale) cpc2_libs/libsvm/libsvm-3.18/svm-scale
+
+ cp \$(which CPC2.py) ./CPC2_patched.py
+ chmod +x ./CPC2_patched.py
+ ABS_LIBS=\$(realpath cpc2_libs)
+
+ sed -i "s|lib_dir = script_dir + \\"/../libs/\\"|lib_dir = '\${ABS_LIBS}/'|" ./CPC2_patched.py
+ sed -i 's|data_dir = script_dir + "/../data/"|data_dir = "/usr/local/data/"|' ./CPC2_patched.py
+
+ PYTHONPATH=/usr/local/bin python ./CPC2_patched.py \\
+ -i ${fasta} \\
+ -o ${prefix} \\
+ ${args} \\
+ 2>> ${prefix}.log
+
echo "Data/hora de término: \$(date)" >> ${prefix}.log
-
+
# Criar arquivo de versões
cat <<-END_VERSIONS > versions.yml
"${task.process}":
@@ -49,7 +70,6 @@ process CPC2 {
"""
stub:
- def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
"""
touch ${prefix}_CPC2_output.txt
@@ -57,9 +77,9 @@ process CPC2 {
cat <<-END_VERSIONS > versions.yml
"${task.process}":
- cpc2: \$(CPC2.py --version 2>&1 | grep -oP 'CPC2-\\K[0-9.]+' || echo "1.0.1")
- python: \$(python --version 2>&1 | grep -oP 'Python \\K[0-9.]+')
- libsvm: \$(svm-predict 2>&1 | head -1 | grep -oP 'libsvm version \\K[0-9.]+' || echo "3.25")
+ cpc2: "1.0.1"
+ python: "3.9"
+ libsvm: "3.25"
END_VERSIONS
"""
}
\ No newline at end of file
diff --git a/nextflow.config b/nextflow.config
index 75198a1..0ce0a7d 100644
--- a/nextflow.config
+++ b/nextflow.config
@@ -26,6 +26,8 @@ params {
multiqc_logo = null
max_multiqc_email_size = '25.MB'
multiqc_methods_description = null
+ multiqc_replace_names = null
+ multiqc_sample_names = null
// Boilerplate options
outdir = null
@@ -50,7 +52,8 @@ params {
// scripts
mstrg_prep_script = "${projectDir}/assets/mstrg_prep.pl"
plek = "${projectDir}/assets/PLEK.1.2.tar.xz"
- cpc2 = "${projectDir}/assets/CPC2_standalone"
+ // cpc2 param deprecated: CPC2 now runs via quay.io/biocontainers/cpc2 container
+ // which has CPC2.py and libsvm (svm-predict/svm-scale) installed in PATH
lncselect = "${projectDir}/assets/lncselect.R"
@@ -81,19 +84,8 @@ params {
// Load base.config by default for all pipelines
includeConfig 'conf/base.config'
-// Load nf-core custom profiles from different Institutions
-//try {
-// includeConfig "${params.custom_config_base}/nfcore_custom.config"
-//} catch (Exception e) {
-// System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config")
-//}
-
-// Load nf-core/nottocode custom profiles from different institutions.
-//
-// includeConfig "${params.custom_config_base}/pipeline/nottocode.config"
-//} catch (Exception e) {
-// System.err.println("WARNING: Could not load nf-core/config/nottocode profiles: ${params.custom_config_base}/pipeline/nottocode.config")
-//}
+// Load nf-core custom profiles from different institutions
+includeConfig params.custom_config_base && (!System.getenv('NXF_OFFLINE') || !params.custom_config_base.startsWith('http')) ? "${params.custom_config_base}/nfcore_custom.config" : "/dev/null"
profiles {
debug {
dumpHashes = true
diff --git a/nextflow_schema.json b/nextflow_schema.json
index 6b00416..fa9fd1b 100644
--- a/nextflow_schema.json
+++ b/nextflow_schema.json
@@ -1,5 +1,5 @@
{
- "$schema": "http://json-schema.org/draft-07/schema",
+ "$schema": "https://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/nf-core/nottocode/master/nextflow_schema.json",
"title": "nf-core/nottocode pipeline parameters",
"description": "lnc finder",
@@ -292,5 +292,52 @@
{
"$ref": "#/definitions/generic_options"
}
- ]
+ ],
+ "properties": {
+ "tpm_threshold": {
+ "type": "number",
+ "default": 0.1
+ },
+ "pfam_db": {
+ "type": "string"
+ },
+ "multiqc_replace_names": {
+ "type": "string"
+ },
+ "multiqc_sample_names": {
+ "type": "string"
+ },
+ "mstrg_prep_script": {
+ "type": "string",
+ "default": "/home/gleison/Downloads/not2code_tests/not2code/assets/mstrg_prep.pl"
+ },
+ "plek": {
+ "type": "string",
+ "default": "/home/gleison/Downloads/not2code_tests/not2code/assets/PLEK.1.2.tar.xz"
+ },
+ "lncselect": {
+ "type": "string",
+ "default": "/home/gleison/Downloads/not2code_tests/not2code/assets/lncselect.R"
+ },
+ "filter_by_tpm": {
+ "type": "boolean",
+ "default": true
+ },
+ "reference_genome": {
+ "type": "string"
+ },
+ "reference_gtf": {
+ "type": "string"
+ },
+ "validationSkipDuplicateCheck": {
+ "type": "boolean",
+ "default": true
+ },
+ "validationS3PathCheck": {
+ "type": "boolean"
+ },
+ "monochromeLogs": {
+ "type": "boolean"
+ }
+ }
}
diff --git a/workflows/nottocode.nf b/workflows/nottocode.nf
index ac9f27b..9cbac0c 100644
--- a/workflows/nottocode.nf
+++ b/workflows/nottocode.nf
@@ -93,9 +93,22 @@ workflow NOTTOCODE {
meta.id = row.sample
meta.single_end = true
- def gtf_file = file(row.gtf)
- if (!gtf_file.exists()) {
- error("ERROR: Arquivo GTF não encontrado: ${row.gtf}")
+ // Resolve GTF path: absolute, URL, or relative to projectDir
+ def gtf_path = row.gtf.trim()
+ def gtf_file
+ if (gtf_path.startsWith('http://') || gtf_path.startsWith('https://') || gtf_path.startsWith('s3://')) {
+ gtf_file = file(gtf_path)
+ } else if (gtf_path.startsWith('/')) {
+ gtf_file = file(gtf_path)
+ if (!gtf_file.exists()) {
+ error("ERROR: Arquivo GTF não encontrado: ${gtf_path}")
+ }
+ } else {
+ // Path relativo: resolver relativo ao projectDir
+ gtf_file = file("${projectDir}/${gtf_path}")
+ if (!gtf_file.exists()) {
+ error("ERROR: Arquivo GTF não encontrado: ${projectDir}/${gtf_path}")
+ }
}
return [meta, gtf_file]
@@ -232,8 +245,7 @@ workflow NOTTOCODE {
//
CPC2 (
- GFFREAD.out.gffread_fasta,
- file(params.cpc2)
+ GFFREAD.out.gffread_fasta
)
ch_versions = ch_versions.mix(CPC2.out.versions)