Skip to main content
      .----------------.
  _.-'    FASTA FOOD    '-._
.'__________________________'.
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
  |   _  ..  _  ..  _  ..  |
  |  / \/  \/ \/  \/ \/  \ |
  |  \ /\  /\ /\  /\ /\  / |
  |   '  ''  '  ''  '  ''  |
!____________________________!
'----------------------------'
  --- fastafood v0.2.1 ---
   "From PASTA to FASTA."

fastafood est un couteau suisse bio-informatique en Python. Il permet de manipuler des séquences ADN, de simuler des mutations complexes et de générer des bibliothèques de variants avec une précision chirurgicale.

Installation

git clone [https://github.com/lthomes/fastafood.git](https://github.com/lthomes/fastafood.git)
cd fastafood
pip install .

Utilisation (CLI)

1. Entrée des données

L'outil accepte des fichiers FASTA ou des chaînes de caractères brutes :

Fichier : fastafood --file genome.fasta

Séquence brute : fastafood --seq ATGCATGC

2. Transformations de base

Reverse Complement : --revcomp

Trimming : --trim 5 10 (supprime 5 bases en 5' et 10 bases en 3')

Traduction Protéique : --translate ou --scan-translate (3 cadres).

Gestion du Stop : --stop yes (tronque au premier *).

Génération de Variants

A. Mutations Automatisées (Massives)

Générez tous les variants possibles pour une taille donnée :

SNPs : --snps

Délétions : --deletions 2 3 (génère toutes les délétions de taille 2 et 3)

Duplications : --duplications 5

Inversions : --inversions 10

Options : --step 3 (définit le saut de la fenêtre glissante).

B. Mutations Ciblées (Précision)

Effectuez des modifications spécifiques à des positions précises :

SNP ciblé : --snps-target 6 T (remplace la base 6 par T)

Remplacement de zone : --snps-target 6 10 TTATT (remplace du nucléotide 6 à 10 par TTATT)

Délétion ciblée : --deletions-target 2 5 (supprime les bases 2 à 5)

Insertion : --insertion 4 --ins-seq ATGC (insère ATGC à la position 4)

C. Duplications et Réarrangements

Duplication simple : --duplications-target 2 5 (duplique la zone 2-5 juste après elle-même)

Duplication distante : --duplications-target 2 5 12 (duplique 2-5 et l'insère à la position 12)

Options avancées :

  • --reversed yes : inverse le fragment avant insertion.

  • --times 3 : insère le fragment en 3 exemplaires.

Système de Protection

Rendez certaines zones "intouchables" pour les générateurs de mutations :

Ponctuel : --protect 4 8 15 (protège les bases spécifiées)

Plages : --protect-range 10 20 50 60 (protège de 10 à 20 et de 50 à 60)

Extrémités

  • --protect-extremity 15 (protège les 15 premières bases)

  • --protect-extremity 10 80 (protège les 10 premières bases ET de la base 80 jusqu'à la fin)

Export & Formatage

Sortie fichier : --out results.fasta

Formatage : --format split (découpage à 60 car.) ou one-line (par défaut).

Utilisation comme Bibliothèque

Intégrez la logique de fastafood dans vos propres scripts :

from fastafood import DNASequence, VariantGenerator

# Initialisation
dna = DNASequence("ATGCGTACGTAG", name="wild_type")

# Protection des 3 premiers nucléotides
protected = {0, 1, 2}

# Génération ciblée
gen = VariantGenerator(dna)
variant = gen.generate_targeted_duplication(start=0, end=4, target=10, times=2)

print(f"Original : {dna.sequence}")
print(f"Variant  : {variant.sequence}")

Points clés

1-based Indexing : Les positions en CLI correspondent aux standards bio-informatiques (la première base est la n°1).

Validation stricte : Refuse les caractères non-ADN lors des insertions/remplacements.

Auto-naming : Génère des noms explicites pour les variants (seq_dup_x3, seq_rev_comp, etc.).

Download files

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

Source Distribution

fastafood-0.2.1.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastafood-0.2.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file fastafood-0.2.1.tar.gz.

File metadata

  • Download URL: fastafood-0.2.1.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastafood-0.2.1.tar.gz
Algorithm Hash digest
SHA256 8d45e0c03c32de5c3b1e304a2295e196d71f18200e45ffc17911c379100a35d4
MD5 74fda1f3271b94523b7eb7cb94b685bd
BLAKE2b-256 934c6d8d24b0caf8a7176e4b6012e9585ce89294331cc64caca6b8bdeb74670c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastafood-0.2.1.tar.gz:

Publisher: python-publish.yml on lthomes/fastafood

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fastafood-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: fastafood-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastafood-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ff32b990be892822c1069da08fd457ed90852b6abe0ecd640ccfce2dab46a34
MD5 ee13534ab449706c70f61556e0e7a997
BLAKE2b-256 90fa59925f33d3f4b43518db0030f6f3c3811430996f0f2852a87efe3584c712

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastafood-0.2.1-py3-none-any.whl:

Publisher: python-publish.yml on lthomes/fastafood

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page