Skip to main content

Neural Net efficient Fasta

Project description

nnfasta

Neural Net efficient fasta Dataset for Training.

Should be memory efficient across process boundaries. So useful as input to torch/tensorflow dataloaders etc.

Presents a list of fasta files as a simple abc.Sequence so you can inquire about len(dataset) and retrieve Records with dataset[i]

Install

Install:

pip install nnfasta

There are no dependencies.

Usage

from nnfasta import nnfastas 

dataset = nnfastas(['athaliana.fasta','triticum.fasta','zmays.fasta'])

# display the number of sequences
print(len(dataset))

# get a particular record
rec = dataset[20]
print('sequence', rec.id, rec.description, rec.seq)

Warning: No checks are made for the existence of the fasta files. Also files of zero length will be rejected by mmap.

A Record mimics biopython's Record and is simply:

@dataclass
class Record:
    id: str
    """Sequence ID"""
    description: str
    """Line prefixed by '>'"""
    seq: str
    """Sequence stripped of whitespace and uppercased"""

    @property
    def name(self) -> str:
        return self.id

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nnfasta-0.1.7.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

nnfasta-0.1.7-py3-none-any.whl (4.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page