Inputs API¶
This module handles the discovery and validation of input sequencing files.
seqnado.inputs.Metadata
¶
Bases: BaseModel
Metadata for samples. Optional fields can be set to None.
set_mcc_defaults
¶
Set default consensus_group for MCC assay.
seqnado.inputs.FastqCollection
¶
Bases: BaseFastqCollection
Represents a collection of sequencing samples (FASTQ files) grouped into named sets, with optional per-sample metadata.
Attributes:
| Name | Type | Description |
|---|---|---|
fastq_sets |
list[FastqSet]
|
List of FastqSet objects (paired or single-end samples). |
metadata |
list[Metadata]
|
List of Metadata objects corresponding one-to-one with fastq_sets. |
fastq_pairs
property
¶
Returns a dictionary mapping sample names to their FASTQ file paths.
validate_non_ip_assay
classmethod
¶
Ensure the assay doesn't require IP (immunoprecipitation).
Source code in seqnado/inputs/fastq.py
query
¶
Retrieve the FastqSet by its sample name.
Raises:
| Type | Description |
|---|---|
ValueError
|
If sample_name not found. |
Source code in seqnado/inputs/fastq.py
is_paired_end
¶
from_fastq_files
classmethod
¶
from_fastq_files(
assay: Assay,
files: Iterable[str | Path],
metadata: (
Callable[[str], Metadata] | Metadata | None
) = None,
**fastqset_kwargs: Any
) -> FastqCollection
Build a SampleCollection by scanning a list of FASTQ paths:
- Convert raw paths to FastqFile.
- Group by
sample_baseand sort by read_number. - Create FastqSet (single- or paired-end) for each sample.
- Generate Metadata via
metadata(sample_name), or default.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
files
|
Iterable[str | Path]
|
Iterable of file paths (strings or Path). |
required |
metadata
|
Callable[[str], Metadata] | Metadata | None
|
|
None
|
fastqset_kwargs
|
Any
|
Extra fields forwarded to FastqSet constructor. |
{}
|
Source code in seqnado/inputs/fastq.py
from_directory
classmethod
¶
from_directory(
assay: Assay,
directory: str | Path,
glob_patterns: Iterable[str] = (
"*.fq",
"*.fq.gz",
"*.fastq",
"*.fastq.gz",
),
metadata: (
Callable[[str], Metadata] | Metadata | None
) = None,
**kwargs: Any
) -> FastqCollection
Recursively scan a directory for FASTQ files and build a SampleCollection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
directory
|
str | Path
|
Root path to search. |
required |
glob_patterns
|
Iterable[str]
|
Filename patterns to include. |
('*.fq', '*.fq.gz', '*.fastq', '*.fastq.gz')
|
metadata
|
Callable[[str], Metadata] | Metadata | None
|
Callable(sample_name) → Metadata or single Metadata instance. |
None
|
**kwargs
|
Any
|
Extra fields converted directly to a shared Metadata. |
{}
|
Source code in seqnado/inputs/fastq.py
to_dataframe
¶
Export the design to a pandas DataFrame, validated by DataFrameDesign.
Columns: sample_name, r1, r2, plus all metadata fields.
Source code in seqnado/inputs/fastq.py
from_dataframe
classmethod
¶
from_dataframe(
assay: Assay,
df: DataFrame,
validate_deseq2: bool = False,
assay_for_validation: Assay | None = None,
**fastqset_kwargs: Any
) -> FastqCollection
Build a SampleCollection from a DataFrame, validated by DataFrameDesign.
Expects columns: sample_name, r1, r2, plus any metadata fields.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
assay
|
Assay
|
The assay type |
required |
df
|
DataFrame
|
DataFrame with sample metadata |
required |
validate_deseq2
|
bool
|
If True, require deseq2 field to be non-null (for RNA assays) |
False
|
assay_for_validation
|
Assay | None
|
Assay type to check in validation context |
None
|
**fastqset_kwargs
|
Any
|
Additional kwargs for FastqSet |
{}
|
Source code in seqnado/inputs/fastq.py
seqnado.inputs.BamCollection
¶
Bases: BaseCollection
Collection of BAM files with optional per-sample metadata.
Provides convenience constructors analogous to SampleCollection but
without paired-end logic.
from_dataframe
classmethod
¶
from_dataframe(
assay: Assay,
df: Any,
validate_deseq2: bool = False,
assay_for_validation: Assay | None = None,
**kwargs: Any
) -> BamCollection
Build a BamCollection from a DataFrame.
Expects columns: sample_id, bam, plus any metadata fields.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
assay
|
Assay
|
The assay type |
required |
df
|
Any
|
DataFrame with sample metadata |
required |
validate_deseq2
|
bool
|
If True, require deseq2 field to be non-null (for RNA assays) |
False
|
assay_for_validation
|
Assay | None
|
Assay type to check in validation context |
None
|
**kwargs
|
Any
|
Additional kwargs |
{}
|