bio


Namebio JSON
Version 1.7.1 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2024-05-29 16:32:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # bio: making bioinformatics fun again

`bio` - command-line utilities to make bioinformatics explorations more enjoyable.

`bio` is a bioinformatics toy to play with.

Like LEGO pieces that match one another `bio` aims to provide you with commands that naturally fit together and let you express your intent with short, explicit and simple commands. It is a project in an exploratory phase, we'd welcome input and suggestions on what it should grow up into.

## What does this software do?


If you've ever done bioinformatics, you know how even seemingly straightforward tasks require multiple steps, arcane incantations, and various other preparations that slow down progress. 

Even well-defined, supposedly simple tasks can take a seemingly inordinate number of complicated steps. The `bio` package is meant to solve that tedium. 

## Usage examples

    # Fetch genbank data
    bio fetch NC_045512 MN996532 > genomes.gb

    # Convert the first then bases of the genomes to FASTA.
    bio fasta genomes.gb --end 10

    # Align the coding sequences for the S protein
    bio fasta genomes.gb --gene S --protein | bio align | head

    # Print the GFF record that corresponds to the coding sequence for gene S
    bio gff genomes.gb --gene S 

    # Show the descendants of taxid 117565
    bio taxon 117565 | head

    # Show the lineage of a taxonomic rank.
    bio taxon 117565 --lineage | head

    # Get metadata on a viral sample
    bio meta 11138 -H | head

    # Define a sequence ontology terms
    bio define exon

    # Define a gene ontology terms
    bio define food vacuole

## Documentation

Detailed documentation is maintained at

* https://www.bioinfo.help/

## Quick install
    
`bio` works on Linux and Mac computers and on Windows when using the Linux Subsystem. 

As a rule, all Python based command line utilities should be installed via [pipx][pipx] to avoid conflicts with other Python packages:

[pipx]: https://pipx.pypa.io/stable/

    pipx install bio 

Alternatively, if you can also use `pip` to install:

    pip install bio 
            
See more details in the [documentation][docs].

## `bio` is stream oriented

`bio` supports stream oriented programming where the output of one task may be chained into the second. Take the example above
but now start with a file `acc.txt` that contains just the accession numbers:

    NC_045512
    MN996532

we can run `bio` to generate a VCF file with the variants of the S nucleotides forming the S protein like so:

    cat acc.txt | bio fetch | bio fasta --gene S | bio align --vcf | head

to print:

    ##fileformat=VCFv4.2
    ##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
    ##FILTER=<ID=PASS,Description="All filters passed">
    ##INFO=<ID=TYPE,Number=1,Type=String,Description="Type of the variant">
    ##contig=<ID=YP_009724390.1,length=3822,assembly=YP_009724390.1>
    #CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO    FORMAT  QHR63300.2
    YP_009724390.1  33      33C/T   C       T       .       PASS    TYPE=SNP        GT      1
    YP_009724390.1  54      54T/A   T       A       .       PASS    TYPE=SNP        GT      1
    YP_009724390.1  60      60C/T   C       T       .       PASS    TYPE=SNP        GT      1
    YP_009724390.1  69      69A/G   A       G       .       PASS    TYPE=SNP        GT      1


## Who is `bio` designed for?

The software was written to teach bioinformatics and is the companion software to the [Biostar Handbook][handbook] textbook. The targeted audience comprises:

- Students learning about bioinformatics.
- Bioinformatics educators who need a platform to demonstrate bioinformatics concepts. 
- Scientists working with large numbers of similar genomes (bacterial/viral strains).
- Scientists who need to investigate and understand the precise details of a genomic region closely.

The ideas and motivations fueling `bio` have been developed while educating the many cohorts of students who used the handbook in the classroom. `bio` is an opinionated take on how bioinformatics, particularly data representation and access, should be simplified and streamlined.

[handbook]: https://www.biostarhandbook.com/
[docs]: https://www.bioinfo.help/

## Development

We use the `hatch` build system to manage the software:

https://github.com/pypa/hatch

You can either use `hatch` or `pip` to install the software in editable mode:

    pip install --editable .
    
## Testing

`bio` can test itself, to run all tests execute:

    bio test

Tests are automatically built from a shell script that mimics real-life usage scenarios.

* https://github.com/ialbert/bio/blob/master/src/biorun/data/usage.sh

## Generating documentation

To generate the docs, you will need the `bookdown` package:

    conda install r-bookdown r-servr
    
To run the docs in a browse:
    
    make 
    
then visit http://localhost:8000

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "bio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Istvan Albert <istvan.albert@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/58/ba/fdaa4c286ed50f96835a5f81c72d6c76933fb890ee1ff2269b6110ea851e/bio-1.7.1.tar.gz",
    "platform": null,
    "description": "# bio: making bioinformatics fun again\n\n`bio` - command-line utilities to make bioinformatics explorations more enjoyable.\n\n`bio` is a bioinformatics toy to play with.\n\nLike LEGO pieces that match one another `bio` aims to provide you with commands that naturally fit together and let you express your intent with short, explicit and simple commands. It is a project in an exploratory phase, we'd welcome input and suggestions on what it should grow up into.\n\n## What does this software do?\n\n\nIf you've ever done bioinformatics, you know how even seemingly straightforward tasks require multiple steps, arcane incantations, and various other preparations that slow down progress. \n\nEven well-defined, supposedly simple tasks can take a seemingly inordinate number of complicated steps. The `bio` package is meant to solve that tedium. \n\n## Usage examples\n\n    # Fetch genbank data\n    bio fetch NC_045512 MN996532 > genomes.gb\n\n    # Convert the first then bases of the genomes to FASTA.\n    bio fasta genomes.gb --end 10\n\n    # Align the coding sequences for the S protein\n    bio fasta genomes.gb --gene S --protein | bio align | head\n\n    # Print the GFF record that corresponds to the coding sequence for gene S\n    bio gff genomes.gb --gene S \n\n    # Show the descendants of taxid 117565\n    bio taxon 117565 | head\n\n    # Show the lineage of a taxonomic rank.\n    bio taxon 117565 --lineage | head\n\n    # Get metadata on a viral sample\n    bio meta 11138 -H | head\n\n    # Define a sequence ontology terms\n    bio define exon\n\n    # Define a gene ontology terms\n    bio define food vacuole\n\n## Documentation\n\nDetailed documentation is maintained at\n\n* https://www.bioinfo.help/\n\n## Quick install\n    \n`bio` works on Linux and Mac computers and on Windows when using the Linux Subsystem. \n\nAs a rule, all Python based command line utilities should be installed via [pipx][pipx] to avoid conflicts with other Python packages:\n\n[pipx]: https://pipx.pypa.io/stable/\n\n    pipx install bio \n\nAlternatively, if you can also use `pip` to install:\n\n    pip install bio \n            \nSee more details in the [documentation][docs].\n\n## `bio` is stream oriented\n\n`bio` supports stream oriented programming where the output of one task may be chained into the second. Take the example above\nbut now start with a file `acc.txt` that contains just the accession numbers:\n\n    NC_045512\n    MN996532\n\nwe can run `bio` to generate a VCF file with the variants of the S nucleotides forming the S protein like so:\n\n    cat acc.txt | bio fetch | bio fasta --gene S | bio align --vcf | head\n\nto print:\n\n    ##fileformat=VCFv4.2\n    ##FORMAT=<ID=GT,Number=1,Type=String,Description=\"Genotype\">\n    ##FILTER=<ID=PASS,Description=\"All filters passed\">\n    ##INFO=<ID=TYPE,Number=1,Type=String,Description=\"Type of the variant\">\n    ##contig=<ID=YP_009724390.1,length=3822,assembly=YP_009724390.1>\n    #CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO    FORMAT  QHR63300.2\n    YP_009724390.1  33      33C/T   C       T       .       PASS    TYPE=SNP        GT      1\n    YP_009724390.1  54      54T/A   T       A       .       PASS    TYPE=SNP        GT      1\n    YP_009724390.1  60      60C/T   C       T       .       PASS    TYPE=SNP        GT      1\n    YP_009724390.1  69      69A/G   A       G       .       PASS    TYPE=SNP        GT      1\n\n\n## Who is `bio` designed for?\n\nThe software was written to teach bioinformatics and is the companion software to the [Biostar Handbook][handbook] textbook. The targeted audience comprises:\n\n- Students learning about bioinformatics.\n- Bioinformatics educators who need a platform to demonstrate bioinformatics concepts. \n- Scientists working with large numbers of similar genomes (bacterial/viral strains).\n- Scientists who need to investigate and understand the precise details of a genomic region closely.\n\nThe ideas and motivations fueling `bio` have been developed while educating the many cohorts of students who used the handbook in the classroom. `bio` is an opinionated take on how bioinformatics, particularly data representation and access, should be simplified and streamlined.\n\n[handbook]: https://www.biostarhandbook.com/\n[docs]: https://www.bioinfo.help/\n\n## Development\n\nWe use the `hatch` build system to manage the software:\n\nhttps://github.com/pypa/hatch\n\nYou can either use `hatch` or `pip` to install the software in editable mode:\n\n    pip install --editable .\n    \n## Testing\n\n`bio` can test itself, to run all tests execute:\n\n    bio test\n\nTests are automatically built from a shell script that mimics real-life usage scenarios.\n\n* https://github.com/ialbert/bio/blob/master/src/biorun/data/usage.sh\n\n## Generating documentation\n\nTo generate the docs, you will need the `bookdown` package:\n\n    conda install r-bookdown r-servr\n    \nTo run the docs in a browse:\n    \n    make \n    \nthen visit http://localhost:8000\n",
    "bugtrack_url": null,
    "license": null,
    "summary": null,
    "version": "1.7.1",
    "project_urls": {
        "Documentation": "https://github.com/ialbert/bio#readme",
        "Issues": "https://github.com/ialbert/bio/issues",
        "Source": "https://github.com/ialbert/bio/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cb40747f3038ac636e520da52f7b9f5721779a50f88fdfc165847b0d8127dae2",
                "md5": "e7fbecf84a60184a1ae4203b458652ed",
                "sha256": "851545804b08413a3f27fd5131edefc30acfdee513919eebabb29678d8632218"
            },
            "downloads": -1,
            "filename": "bio-1.7.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e7fbecf84a60184a1ae4203b458652ed",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 280992,
            "upload_time": "2024-05-29T16:32:56",
            "upload_time_iso_8601": "2024-05-29T16:32:56.712406Z",
            "url": "https://files.pythonhosted.org/packages/cb/40/747f3038ac636e520da52f7b9f5721779a50f88fdfc165847b0d8127dae2/bio-1.7.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "58bafdaa4c286ed50f96835a5f81c72d6c76933fb890ee1ff2269b6110ea851e",
                "md5": "491e4deafafd107b75ad799330d0a54c",
                "sha256": "df3252905b0b1e739eca3760c91fd519d5af07b09632df25c2bd4ecd20da2724"
            },
            "downloads": -1,
            "filename": "bio-1.7.1.tar.gz",
            "has_sig": false,
            "md5_digest": "491e4deafafd107b75ad799330d0a54c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 241383,
            "upload_time": "2024-05-29T16:32:55",
            "upload_time_iso_8601": "2024-05-29T16:32:55.426913Z",
            "url": "https://files.pythonhosted.org/packages/58/ba/fdaa4c286ed50f96835a5f81c72d6c76933fb890ee1ff2269b6110ea851e/bio-1.7.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-29 16:32:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ialbert",
    "github_project": "bio#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "bio"
}
        
Elapsed time: 0.24137s