Skip to main content

CressChrom1

Introduction

This package contains a set of minimal eukaryotic genome and transcriptome datasets from chromosme 1 of Arabidopsis thaliana. They may, for example, be useful for rapidly testing a RNA-seq bioinformatics pipeline.

Installation

Ensure your computing environment includes Python 3.11 or later and the following bioinformatics tools:

  • sra-tools
  • pigz
  • fastp
  • kraken2
  • openpyxl

Conda is useful for setting up this environment. Then, cresschrom1 can be installed with Pip:

conda create -c conda-forge -c bioconda -n cresschrom1 \
  biopython pysradb sra-tools pigz fastp kraken2 openpyxl
conda activate cresschrom1
pip install cresschrom1

Usage

Run cresschrom1 without arguments to list the help text of all subcommands

cresschrom1
usage: cresschrom1 [-h] [--version] {init,path,metadata,download,sheet,trim,classify} ...

Small dataset of Arabidopsis chromosome 1

positional arguments:
  {init,path,metadata,download,sheet,trim,classify}
    init                fully initialize the dataset by downloading, trimming, and classifying RNA-seq reads
    path                show paths to data directory and files
    metadata            fetch sra metadata
    download            download RNA-seq reads
    sheet               sample sheet for cresschrom1 rna-seq dataset
    trim                trim downloaded reads
    classify            classify downloaded reads

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit

To download and downsample all RNA-seq data, run:

cresschrom1 init

Use cresschrom1 path to get the absolute path for a data file

cresschrom1 path data-dir
cresschrom1 path genome
cresschrom1 path cds
cresschrom1 path pep
cresschrom1 path gff
cresschrom1 path gtf
cresschrom1 path sheet

cresschrom1 path can also fetch paths to datasets for the two alternate species:

cresschrom1 path genome-atha
cresschrom1 path genome-aare

To see the sample sheet listing the locations of the RNA-seq reads:

cresschrom1 sheet

If you need the data at another location, you can symbolically link to the cresschrom1 dataset, or copy the contents to another directory

ln -s `cresschrom1 path data-dir` test_data/
cp -r `cresschrom1 path data-dir` test_data/

To see the SRA metadata of the RNA-seq reads:

cresschrom1 metadata

To execute the initialization steps individually:

cresschrom1 download
cresschrom1 trim
cresschrom1 classify

Datasets

cresschrom1-datasets.png

There are two groups of datasets:

  1. The directly included package data of chromosome 1 sequence and annotation from A. thaliana assembly TAIR10 at NCBI, including:
    • Genome sequence (FASTA)
    • Coding sequences (FASTA)
    • mRNA transcripts (FASTA)
    • Peptide sequences (FASTA)
    • Gene annotation (GFF3, GTF)
    • Sequences and annotations are also included for another Arabidopsis species, A. arenosa. Two additional recent genome asseblies of A. arenosa and A. lyrata, which were published in Bramsiepe et al. (2023), are also included. The A. arenosa and A. lyrata assemblies are restricted to chromosomes 1 and 2, which are colinear with A. thaliana's chromosome 1.
  2. The RNA-seq reads are from a curated list published by from Shintani et al. (2024). They are downloaded from SRA/NCBI and downsampled to include only chromosome 1 reads by running an included script.

Downsampling RNA-seq

cresschrom1-init.png

During the initialization process, after the RNA-seq reads are downloaded they are downsampled by:

  1. Adapter and quality trimming with fastp
  2. Classification with kraken2 to filter out all reads that do not match chromosome I

Configuration

You can configure some cresschrom1 settings using environment variables or a TOML file.

Environment variables

export cresschrom1_DOWNLOAD_DIR = /absolute/path/to/directory/
export cresschrom1_TAXID = <integer>
export cresschrom1_SAMPLE_SHEET = /absolute/path/to/sample_sheet.csv
export cresschrom1_KRAKEN2_DB /absolute/path/to/kraken2_db/

Config file

By default, cresschrom1 looks for configuration in TOML format at $HOME/.cresschrom1.toml

download_dir = /absolute/path/to/directory/
taxid = <integer>
sample_sheet = /absolute/path/to/sample_sheet.csv
kraken2_db = /absolute/path/to/kraken2_db/

The location of the config file can also be set using an environment variable:

export cresschrom1_CONFIG_FILE=/absolute/path/to/alternate/config.toml

Python API

cresschrom1 resources can also be accessed from within python:

import cresschrom1
cresschrom1.init()
cresschrom1.path('genome')
cresschrom1.path('genome-aare')
metadata = cresschrom1.metadata()
sample_sheet = cresschrom1.create_sample_sheet(metadata)
cresschrom1.write_sample_sheet(sample_sheet, 'sample_sheet.csv')
cresschrom1.download()
cresschrom1.trim('reads_1.fastq.gz', 'reads_2.fastq.gz')
cresschrom1.classify('reads_1.fastq.gz', 'reads_2.fastq.gz')
cresschrom1.taxid
cresschrom1.busco

Example usage with nf-core pipelines

Conda environment

conda create -c conda-forge -c bioconda -n cresschrom1-nf-core \
  biopython pysradb sra-tools pigz fastp kraken2 openpyxl \
  nextflow nf-core
conda activate cresschrom1-nf-core
pip install cresschrom1

nf-core/genomeqc

echo '{"is_plant": true, "skip_busco": false, "skip_tidk": false}' > genomeqc-params.json
cresschrom1 sheet --pipeline nf-core-genomeqc > sample_sheet.csv
nextflow run nf-core/genomeqc -r 1.0.1 \
  -profile <docker/singularity/.../institute> \
  -params-file genomeqc-params.json \
  --input sample_sheet.csv \
  --outdir genomeqc_output_dir/ \
  --busco_lineage `cresschrom1 busco`

nf-core/seqinspector

cresschrom1 sheet --pipeline nf-core-seqinspector > sample_sheet.csv
nextflow run nf-core/seqinspector \
  -profile <docker/singularity/.../institute> \
  --input sample_sheet.csv \
  --outdir seqinspector_output_dir/ \
  --fasta `cresschrom1 path genome`

nf-core/rnaseq

cresschrom1 sheet > sample_sheet.csv
nextflow run nf-core/rnaseq \
  -profile <docker/singularity/.../institute> \
  --input sample_sheet.csv \
  --outdir rnaseq_output_dir/ \
  --fasta `cresschrom1 path genome` \
  --gtf `cresschrom1 path gtf`

nf-core/denovotranscript

cresschrom1 sheet > sample_sheet.csv
nextflow run nf-core/denovotranscript -r 1.2.1 \
  -profile <docker/singularity/.../institute> \
  --input sample_sheet.csv \
  --outdir denovotranscript_output_dir/ \
  --assemblers rnaspades

Metadata

Release files for cresschrom1 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cresschrom1 0.1.4
File Size Uploaded Provenance Actions
cresschrom1-0.1.4.tar.gz 97.2 MB Without provenance Details for cresschrom1-0.1.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cresschrom1 0.1.4
File Interpreter ABI Platform Actions
cresschrom1-0.1.4-py3-none-any.whl Python 3 none any Details for cresschrom1-0.1.4-py3-none-any.whl

Total release size: 194.4 MB

Release files / cresschrom1-0.1.4.tar.gz

Download URL cresschrom1-0.1.4.tar.gz
Size 97.2 MB
Tags Source
SHA-256 checksum
How to use checksums
c21d1b2abfb6e3b6b949d995565562bb4313004d51411084580bd5cb3f04c0cf
BLAKE2b-256 checksum
How to use checksums
7f77d2934d0dbe177835cde8a7e89709e21788adb582798713f87a73493c5324
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.15.0

Release files / cresschrom1-0.1.4-py3-none-any.whl

Download URL cresschrom1-0.1.4-py3-none-any.whl
Size 97.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
6f989602afa9bd177fe09689419803cc67d391848411b3591727c2096575bfa4
BLAKE2b-256 checksum
How to use checksums
6c1916d3eb8f51fe7520f92acd86e11526b4c812b05c7b7a1bd6d4efda434daf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.15.0

Security for cresschrom1 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page