Skip to main content

Simple python to lazily one-hot encode fasta files using multiple processes, either single bases or considering arbitrary kmers.

Project description

Travis CI build SonarCloud Quality SonarCloud Maintainability Codacy Maintainability Maintainability Pypi project Pypi total project downloads

Simple python to lazily one-hot encode fasta files using multiple processes, either single bases or considering arbitrary kmers.

How do I install this package?

As usual, just download it using pip:

pip install fasta_one_hot_encoder

Tests Coverage

Since some software handling coverages sometime get slightly different results, here’s three of them:

Coveralls Coverage SonarCloud Coverage Code Climate Coverate

Examples

Bases

Bases

One-hot encode to bases.

from fasta_one_hot_encoder import FastaOneHotEncoder

encoder = FastaOneHotEncoder(
    nucleotides = "acgt",
    lower = True,
    sparse = False,
    handle_unknown="ignore"
)
path = "test_data/my_test_fasta.fa"
encoder.transform_to_df(path, verbose=True).to_csv(
    "my_result.csv"
)

Obtained results should look like:

  a c g t
0 0 0 1 0
1 0 1 0 0
2 0 1 0 0

Kmers

Kmers

One-hot encode to kmers of given length.

from fasta_one_hot_encoder import FastaOneHotEncoder

encoder = FastaOneHotEncoder(
    nucleotides = "acgt",
    kmers_length=2,
    lower = True,
    sparse = False,
    handle_unknown="ignore"
)
path = "test_data/my_test_fasta.fa"
encoder.transform_to_df(path, verbose=True).to_csv(
    "my_result.csv"
)

Obtained results should look like:

  aa ac ag at ca cc cg ct ga gc gg gt ta tc tg tt
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

Project details


Download files

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

Files for fasta-one-hot-encoder, version 1.2.2
Filename, size File type Python version Upload date Hashes
Filename, size fasta_one_hot_encoder-1.2.2.tar.gz (4.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page