Skip to main content

jsrc

Python library for bioinformatics and scientific computing.

Installation

Install from PyPI:

pip install jsrc

From source (development):

git clone https://github.com/imjiaoyuan/jsrc.git
cd jsrc
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,plot]"

Run jsrc --help to get started.

For detailed usage, see the Documentation. 中文文档请参阅 文档

Quick Start

jsrc --help
jsrc <module> --help
jsrc <module> <subcommand> --help

Examples:

jsrc seq --help
jsrc analyze phylo --help
jsrc genome stats --help

Module Overview

module focus typical use
seq Sequence extraction, translation, k-mer, sliding window jsrc seq extract ...
genome Genome statistics, feature detection, comparative/evolutionary analysis jsrc genome stats ...
plot Gene/exon/chromosome/domain and other plots jsrc plot gene ...
analyze Phylogeny, motif, consensus, SNP/INDEL, QC jsrc analyze phylo ...
grn GRN conversion, centrality, build packaging, local serve jsrc grn build ...

Error Output Conventions

  • Input and validation failures are reported in unified format: Error: <message>.
  • Missing files, invalid parameters, and incompatible inputs follow the same style across subcommands.
  • Use --help on the target module/subcommand first when argument combinations are unclear.

A Glance of jsrc's Functions

grn module

Generate and launch a 1000-gene random network viewer:

jsrc grn net2json -i test/grn/network.tsv -o test/grn/grn.json
jsrc grn anno2json -i test/grn/annotation.tsv -o test/grn/annotation.json
jsrc grn build -d test/grn/public -g test/grn/grn.json -n test/grn/annotation.json -z test/grn/grn-viewer.zip -a -t 200
jsrc grn serve -d test/grn/public -g test/grn/public/json/grn.json -n test/grn/public/json/annotation.json -p 8000 -a -t 200

Centrality ranking (top 5):

jsrc grn centrality -i test/grn/network.tsv --top 5
rank node in_degree out_degree total_degree
1 GENE_0504 24.14 34.97 59.12
2 GENE_0785 26.37 29.51 55.88
3 GENE_0165 42.81 12.21 55.01
4 GENE_0394 14.82 33.04 47.86
5 GENE_0427 36.50 10.60 47.10

genome module

jsrc genome stats -fa genome.fa
jsrc genome cpg -fa genome.fa --window 200 --min-len 500
jsrc genome ani -fa1 genome1.fa -fa2 genome2.fa -k 21
jsrc genome codon -fa cds.fa --cai reference.fa --enc

Genome statistics: N50 2,450,000 bp, L50 3, GC 45.2%, 15 gaps.

CpG islands: 42 islands found, longest 1,250 bp.

ANI: 96.8% (Jaccard 0.85, Mash distance 0.032).

Codon usage: CAI 0.78, ENC 52.3, top codon CTG (RSCU 1.85).


seq module

jsrc seq extract -fa test/seq/test.fa -gff test/seq/test.gff -ids test/seq/ids.txt -o test/seq/extracted.fa -feature gene -match ID

Extract sequences by gene ID from FASTA+GFF, rename via CSV map, run QC stats, k-mer counting, and sliding-window analysis.

QC: 2 sequences, 268 bp total, GC 56.7%, N50 160.

k-mer (k=3): top ATC (40), TCG (40), CGA (39).


analyze module

jsrc analyze msa_consensus -fa test/analyze/aln.fa --json
jsrc analyze snpindel -fa test/analyze/aln.fa
jsrc analyze motif -fa test/analyze/aln.fa -o test/analyze/motif_out -minw 3 -maxw 5 -nmotifs 3
jsrc analyze phylo -fa test/analyze/aln.fa -o test/analyze/tree.nwk
  • Consensus: ATGCTAGCTAGCTAGCTAGC, mean conservation 0.983
  • SNP: seq1 vs seq3 has 1 SNP (alignment score 19/20)
  • Motif (top): GCT (12), CTA (12), TAG (12)
  • Phylogeny: (seq1:0.00000,seq2:0.00000,seq3:0.05000)Inner1:0.00000;

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.4.0.tar.gz (86.2 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.4.0-py3-none-any.whl (89.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jsrc-0.4.0.tar.gz
  • Upload date:
  • Size: 86.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jsrc-0.4.0.tar.gz
Algorithm Hash digest
SHA256 04c114f3cbd1e8c497076a707ed9419446e1da3b8d70c1793b42389c19518325
MD5 d9eb847645d120a262e5dc32c80d61e9
BLAKE2b-256 bfc0979b886d7f87831e82664388f21a7e5ebcf31f4ae854671dcd05a77af8ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsrc-0.4.0.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.4.0-py3-none-any.whl.

File metadata

  • Download URL: jsrc-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 89.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jsrc-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9fd4f0b2a736c851307722b874036447f8da6d9e962fb44bec722775bc6b58ab
MD5 edb0698ba3e094dda936ea1c4a0a357e
BLAKE2b-256 6da41f54fa7357db515838f73eff6b5a169886e371f56fe2a714a0a48e96de28

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsrc-0.4.0-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.

Release history Release notifications | RSS feed

0.4.1

2 files

This release

0.4.0 This release

2 files

0.3.1

2 files

0.3.0

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page