Skip to main content

Bioinformatics analysis toolkit

Project description

jsrc

Bioinformatics analysis toolkit with modular subcommands.

Installation

pip install jsrc

Or install from source:

git clone https://github.com/imjiaoyuan/jsrc.git
cd jsrc
pip install -e .

Module Layout

src/jsrc/
  seq/     # sequence module (core.py + command modules)
  plot/    # plotting module (core.py + command modules)
  analyze/ # analysis module (core.py + command modules)
  grn/     # GRN module (core.py + command modules)

Each module is independently loadable by CLI, with optional hot-plug controls:

# Enable only specific modules
JSRC_MODULES=seq,plot jsrc --help

# Disable selected modules
JSRC_DISABLE_MODULES=grn jsrc --help

Commands

seq

# Extract feature sequences by IDs from genome+GFF (default: feature=CDS, match=Parent)
jsrc seq extract -fa genome.fa -gff genes.gff -ids ids.txt -feature CDS -match Parent -o cds.fa

# Extract full gene sequences by gene IDs
jsrc seq extract -fa genome.fa -gff genes.gff -ids genes.txt -feature gene -match ID -o genes.fa

# Rename FASTA IDs using CSV mapping old_id,new_id
jsrc seq rename -fa input.fa -mode csv -map mapping.csv -o output.fa

# Rename FASTA IDs using GFF mRNA->parent mapping
jsrc seq rename -fa transcripts.fa -mode gff -gff genes.gff -parent Parent -o output.fa

# Extract CDS from GFF and translate to proteins
jsrc seq translate -fa genome.fa -gff genes.gff -id ID -o proteins.fa

# Extract promoter sequences with configurable upstream/downstream bp
jsrc seq promoter -fa genome.fa -gff genes.gff -ids genes.txt -id ID -feature gene -up 2000 -down 200 -o promoters.fa

plot

# Plot CDS-based gene structure
jsrc plot gene -gff genes.gff -ids genes.txt -o gene_structure.png

# Plot exon-based structure
jsrc plot exon -gff genes.gff -ids genes.txt -o exon_structure.png

# Plot chromosome map with gene positions
jsrc plot chromosome -gff genes.gff -o chromosome_map.png

# Plot chromosome map only for genes in ID list
jsrc plot chromosome -gff genes.gff -ids genes.txt -o chromosome_map_selected.png

# Plot protein domain architecture from TSV
jsrc plot domain -tsv domains.tsv -o protein_domains.png

# Plot cis-regulatory elements from BED
jsrc plot cis -bed elements.bed -o cis_elements.png

analyze

# Build phylogenetic tree (default NJ)
jsrc analyze phylo -fa sequences.fa -o tree.nwk -a nj

# Build phylogenetic tree with UPGMA
jsrc analyze phylo -fa sequences.fa -o tree.nwk -a upgma

# Motif analysis with built-in pure-python k-mer method
jsrc analyze motif -fa promoters.fa -o motif_output -nmotifs 5

grn

# Convert GRN edge table to JSON links
jsrc grn to_json -i grn.tsv -o viewer/json/grn.json -t network

# Convert annotation table to JSON dictionary
jsrc grn to_json -i annotation.tsv -o viewer/json/annotation.json -t annotation

# Initialize empty local GRN viewer scaffold
jsrc grn init -o viewer

# Serve local GRN viewer through HTTP
jsrc grn serve -d viewer -p 8000

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

jsrc-0.1.1.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

jsrc-0.1.1-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file jsrc-0.1.1.tar.gz.

File metadata

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

File hashes

Hashes for jsrc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 58f3cb88e6cb6100ff700a9113d7a134f284032ad9aa65975d5b0479e9904107
MD5 de542c908d3a55bd933ccadcadeab5fe
BLAKE2b-256 69e57ad4e009268b4688e31b961ab7e0e322ce386191af8830f6a9ff01874692

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsrc-0.1.1.tar.gz:

Publisher: publish.yml on imjiaoyuan/jsrc

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

File details

Details for the file jsrc-0.1.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for jsrc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e9e7f1241a8019bdb983f16cefb5d82e17cd94cf4bc48f32088081a767be92b
MD5 4537f163974a05f105dd9254ead49276
BLAKE2b-256 504fad05663d7fb9fd8924cae0ea0fe8c167558a328469cf768472d290a59829

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsrc-0.1.1-py3-none-any.whl:

Publisher: publish.yml on imjiaoyuan/jsrc

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

Supported by

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