=head1 NAME

Bioscripts 1.5.1 - Bioperl scripts

=head1 SYNOPSIS

A list of the scripts in the Bioperl package

=head1 DESCRIPTION

These scripts have been contributed by the developers and users of
Bioperl. They are organized into directories roughly mirroring those
in the Bioperl Bio/ directory. There are 2 directories for these 
scripts, scripts/ and examples/. The scripts in scripts/ are 
production quality scripts that have POD documentation and accept
command-line arguments, and all of these scripts have the PLS suffix.
The scripts in examples/ are useful examples of Bioperl code but
have been written more casually.

You can install the scripts in the scripts/ directory if you'd like,
simply follow the instructions on 'make install'. The installation
directory is specified by the INSTALLSCRIPT variable in the Makefile,
the default directory is /usr/bin. Installation will copy the scripts 
to the specified directory, change the 'PLS' suffix to 'pl' and
prepend 'bp_' to the script name if it isn't so named already.

Please contact bioperl-l at bioperl.org if you are interested in 
contributing your own script.

=head1 PRODUCTION SCRIPTS

=head2 scripts/install_bioperl_scripts.PLS

This script installs scripts from the scripts/ directory on
'make install'.

=head2 scripts/biographics/bp_embl2picture.PLS

Render a GenBank or EMBL entry into drawable form.  Return as a GIF or
PNG image on standard output.

=head2 scripts/biographics/bp_glyphs1-demo.PLS 

Generates a PNG image of some of the more esoteric Bio::Graphics
glyphs.

=head2 scripts/biblio/biblio.PLS

A fully-featured script that uses Bio::Biblio, a module for 
accessing and querying bibliographic repositories like Medline.

=head2 scripts/Bio-DB-GFF/bulk_load_gff.PLS

This script loads a mySQL Bio::DB::GFF database with the features 
contained in a list of GFF files, it cannot do incremental loads.

=head2 scripts/Bio-DB-GFF/bp_genbank2gff.PLS

This script loads a Bio::DB::GFF database with the features contained
in a either a local Genbank file or an accession that is fetched from
Genbank.

=head2 scripts/Bio-DB-GFF/fast_load_gff.PLS

This script does a rapid load of a mySQL Bio::DB::GFF database
using files as source. Probably only works in Unix as it relies 
on pipes.

=head2 scripts/Bio-DB-GFF/genbank2gff3.PLS

This script uses SeqFeature::Tools::Unflattener to convert GenBank 
flatfiles to GFF3 with gene hierarchies mapped for optimal display in
gbrowse.

=head2 scripts/Bio-DB-GFF/generate_histogram.PLS

Create a GFF-formatted histogram of the density of the indicated set
of feature types.

=head2 scripts/Bio-DB-GFF/load_gff.PLS

This script loads a mySQL Bio::DB::GFF database with the features 
contained in a list of GFF files. This script will work with all
database adaptors supported by Bio::DB::GFF (mySQL, Oracle, Postgres).

=head2 scripts/Bio-DB-GFF/pg_bulk_load_gff.PLS

Bulk-load a PostgreSQL Bio::DB::GFF database from GFF files.

=head2 scripts/Bio-DB-GFF/process_gadfly.PLS

Transforms Gadfly GFF files into correct format.

=head2 scripts/Bio-DB-GFF/process_sgd.PLS

Transform SGD format annotations into GFF format.

=head2 scripts/Bio-DB-GFF/process_wormbase.PLS

Transforms Wormbase's GFF files into correct format. Requires Ace.pm.

=head2 scripts/DB/bioflat_index.pl

Create or update a biological sequence database indexed with the
Bio::DB::Flat indexing scheme.

=head2 scripts/DB/flanks.PLS

Fetch a sequence, find the sequences flanking a variant or SNP in the
sequence given its position.

=head2 scripts/DB/biofetch_genbank_proxy.PLS

A CGI scripts that queries NCBI's eutils to provide database access
according to the BioFetch protocol. Requires Cache::FileCache.

=head2 scripts/DB/biogetseq.PLS

Sequence retrieval using the OBDA registry.

=head2 scripts/graphics/contig_draw.PLS

Takes any Bio::SearchIO parseable report and turns it into a 
simple overview graphic of the report.

=head2 scripts/graphics/feature_draw.PLS

Script that accepts files in GFF or tab-delimited format and creates
corresponding PNG image files. See L<Bio::Graphics> and
L<Bio::Graphics::FeatureFile> for more information.

=head2 scripts/graphics/frend.PLS

Create a PNG file on the Web using Bio::Graphics - accepts a file
containing sequence and feature coordinates.

=head2 scripts/graphics/search_overview.PLS

Create a simple overview graphic of the hits, color is based on the hit 
score much like the NCBI overview graphic in a BLAST report.

=head2 scripts/index/bp_fetch.PLS

Fetch sequences from local indexed database or over the network and
reformat using Bio::Index* and Bio::DB*.

=head2 scripts/index/bp_index.PLS

Indexes local databases, partners with bp_fetch.pl.

=head1 scripts/index/bp_seqret.PLS 

Index a local FASTA database and fetch sequences using same syntax as EMBOSS seqret tool.  Does not support the full EMBOSS db config files, it is designed to support fast fetching of seqs from a FASTA db.

=head2 scripts/seq/extract_feature_seq.PLS

Extract the sequence for a specified feature type.

=head2 scripts/popgen/composite_LD.PLS

An easy way to calculate composite linkage disequilibrium (LD).

=head2 scripts/popgen/heterogeneity.PLS

A test for distinguishing between selection and population
expansion.

=head2 scripts/searchio/filter_search.PLS

Simple script to filter by SearchIO criteria and print.

=head2 scripts/searchio/search2table.PLS

Turn SearchIO reports into a tabular format like blastall's "-m 9" output.

=head2 scripts/searchio/fastam9_to_table.PLS

Turn FASTA -m9 reports into a tabular format like blastall's "-m 9"
output.  Does not actually use SearchIO is very fast.

=head2 scripts/seq/make_mrna_protein.PLS

Translate a DNA or RNA sequence to protein using Bio::Seq's 
translate() method.

=head2 scripts/seq/seqconvert.PLS

Bioperl sequence format converter.

=head2 scripts/seq/split_seq.PLS

Split a sequence in a file into chunks of equal size.

=head2 scripts/seq/translate_seq.PLS

A simple Bioperl translator.

=head2 scripts/seqstats/aacomp.PLS

Prints out the count of amino acids over all protein
sequences in the input file.

=head2 scripts/seqstats/chaos_plot.PLS

Produce a PNG or JPEG chaos plot given a DNA sequence using GD.pm.

=head2 scripts/seqstats/gccalc.PLS

Prints out the GC content for every nucleotide sequence
in the input file.

=head2 scripts/seqstats/oligo_count.PLS

Use this script to determine what primers would be useful for 
frequent priming of nucleic acid for random labeling.

=head2 scripts/taxa/local_taxonomydb_query.PLS

Script that accesses a local Taxonomy database and retrieves
species or taxon ids.

=head2 scripts/taxa/query_entrez_taxa.PLS 

Demonstrate how to retrieve the NCBI TaxonID for a given species.
Also retrieve taxonid for a GI number.

=head2 scripts/taxa/taxid4species.PLS

Retrieve the NCBI TaxonID for a given species.

=head2 scripts/taxa/classify_hits_kingdom.PLS

Classify hits on the taxonomy hierarchy from an -m9/-m8 BLAST tab
delimited using a local copy of the taxonomy database downloaded from
NCBI.

=head2 scripts/tree/blast2tree.PLS

Builds a phylogenetic tree based on a sequence search (Fasta,
BLAST, HMMER).

=head2 scripts/tree/nexus2nh.PLS

Convert Nexus trees to New Hampshire format, but maintain long taxon 
names.

=head2 scripts/tree/tree2pag.PLS

Convert Bio::TreeIO parseable trees to Pagel format.

=head2 scripts/utilities/bp_mrtrans.PLS

Perl implementation of Bill Pearson's mrtrans to project protein 
alignment back into cDNA coordinates.

=head2 scripts/utilities/bp_nrdb.PLS

Make a non-redundant database based on sequence, not id.
Requires Digest::MD5.

=head2 scripts/utilities/bp_sreformat.PLS

Perl implementation of Sean Eddy's sreformat, a sequence and 
alignment converter.

=head2 scripts/utilities/dbsplit.PLS

Splits one or more sequence files into subfiles with specified
numbers of sequences, any sequence format.

=head2 scripts/utilities/mask_by_search.PLS

Masks parts of a sequence based on a significant matches to that
sequence as contained in a SearchIO-compatible report file.

=head2 scripts/utilities/mutate.PLS

Randomly mutagenize a single protein or DNA sequence. Specify 
percentage mutated and number of resulting mutagenized sequences.

=head2 scripts/utilities/pairwise_kaks.PLS

Takes DNA sequences as input, aligns them as proteins, 
projects the alignment back into DNA and estimates 
the Ka (non-synonymous) and Ks (synonymous) substitutions.

=head2 scripts/utilities/remote_blast.PLS

This script executes a remote Blast search using RemoteBlast. See 
L<Bio::Tools::Run::RemoteBlast> for more information.

=head2 scripts/utilities/search2BSML.PLS

Turns SearchIO-compatible reports into a BSML report.

=head2 scripts/utilities/search2alnblocks.PLS

Turns SearchIO-compatible reports into alignments in formats supported
by AlignIO.

=head2 scripts/utilities/search2tribe.PLS

This script will turn a protein SearchIO-compatible report (BLASTP, 
FASTP, SSEARCH) into a Markov Matrix for TribeMCL clustering.

=head2 scripts/utilities/search2gff.PLS

Turn SearchIO parseable reports(s) into a GFF report.

=head2 scripts/utilities/seq_length.PLS

Reports the total number of residues and total number of individual 
sequences in a specified sequence database file.


=head1 EXAMPLE SCRIPTS

=head2 examples/align/align_on_codons.pl

Aligns nucleotide sequences based on codons in a specified reading frame.

=head2 examples/align/aligntutorial.pl

Examples using EMBOSS, pSW, Clustalw, TCoffee, and Blast to align sequences.

=head2 examples/align/clustalw.pl

A demonstration of the various uses of Alignment::Clustalw. See 
L<Bio::Tools::Run::Alignment::Clustalw> for more.

=head2 examples/align/simplealign.pl

A script that demonstrates some uses of AlignIO. Please see
L<Bio::AlignIO> for more information.

=head2 examples/biblio/biblio.pl

A script that shows how to query bibliographic databases, such as
Medline, using ids, keywords, and other fields. See L<Bio::Biblio> for 
details.

=head2 examples/biblio/biblio_soap.pl

Connect to and test a SOAP server using a Bio::Biblio object.

=head2 examples/biographics/all_glyphs.pl

Creates an image showing all possible glyphs.

=head2 examples/biographics/dynamic_glyphs.pl

Creates a complex image of a gene with confirmed and predicted exons,
transcripts, and text labels.

=head2 examples/biographics/lots_of_glyphs.pl

Creates a complex image of a gene with confirmed and predicted exons,
transcripts, and text labels.

=head2 examples/bioperl.pl

A Bioperl shell!

=head2 examples/cluster/dbsnp.pl

How to parse a dbsnp XML file. See L<Bio::ClusterIO> for details.

=head2 examples/contributed/nmrpdb_parse.pl

Extracts individual conformers from an NMR-derived PDB file.

=head2 examples/contributed/prosite2perl.pl

Convert Prosite motifs to Perl regular expressions.

=head2 examples/contributed/rebase2list.pl

Script to convert rebase file to format compatible with 
Bio::Tools::RestrictionEnzyme.

=head2 examples/contributed/expression_analysis*

A set of scripts that accept microarray data as input and perform
statistical analyses, including t test, U test, Mann-Whitney,
and Pearson correlation coefficent.

=head2 examples/db/dbfetch

Creates a Web page to query a local SRS server and fetch sequences.

=head2 examples/db/est_tissue_query.pl

Fetch EST sequences from local files or Genbank filtered by tissue
using Bio::DB* or Bio::Index*.

=head2 examples/db/gb2features.pl

Shows how to extract all the features from a Genbank file. See 
L<Bio::Seq> for more information on features.

=head2 examples/db/getGenBank.pl

Retrieving Genbank entries over the Web using DB::GenBank. See
L<Bio::DB::GenBank> for more information.

=head2 examples/db/get_seqs.pl

Fetches and formats sequences from GenBank, EMBL, or SwissProt over
the network using Bio::DB*.

=head2 examples/db/gff/*

Scripts that reformat sequence to GFF and load GFF format files into
an indexed database - see L<Bio::DB::GFF> for more information.

=head2 examples/db/rfetch.pl

A script that uses Bio::DB::Registry to retrieve sequences from EMBL,
reformat them, and print them. See L<Bio::DB::Registry>.

=head2 examples/db/use_registry.pl

Script that shows how to use Bio::DB::Registry, part of Bioperl's
integration with OBDA, the Open Bio Database Access registry
scheme. See L<Bio::DB::Registry> for more information.

=head2 examples/exceptions/*

Scripts that demonstrate how to throw and catch Error.pm objects.

=head2 examples/generate_random_seq.pl

Writes random RNA, DNA, or protein sequence of given length.

=head2 examples/biographics/render_sequence.pl

This scripts fetchs a sequence from a remote database, extracts its
features (CDS, gene, tRNA), and creates a graphic representation of
the sequence in PNG or GIF format. See L<Bio::DB::BioFetch>
and L<Bio::Graphics>.

=head2 examples/liveseq/change_gene.pl

A script showing how to use LiveSeq::Mutator and
LiveSeq::Mutation. Please see L<Bio::LiveSeq::Mutator> and 
L<Bio::LiveSeq::Mutation> for more information.

=head2 examples/longorf.pl

A script that finds the longest ORF in one or more nucleotide sequences.

=head2 examples/make_primers.pl

Design PCR primers given a sequence and the positions of the start and
stop codons in the sequence's ORF.

=head2 examples/popgen/parse_calc_stats.pl

Shows how to read data from a Bio::PopGen::IO object.

=head2 examples/rev_and_trans.pl

Examples using Bio::Seq.pm for reversing and translating
sequences. See L<Bio::Seq> for more information.

=head2 examples/revcom_dir.pl

Eeturn reverse complement sequences of all sequences in the current
directory and save them in the same directory.

=head2 examples/sirna/rnai_finder.cgi

CGI script for RNAi reagent design. See L<Bio::Tools::SiRNA> for more
information.

=head2 examples/root_object/*

Scripts that demonstrate uses of the Bio::Root modules.

=head2 examples/searchio/blast_example.pl

Print out all parsed values from a BLAST report.

=head2 examples/searchio/custom_writer.pl

Demonstrates how to extract data from BLAST reports and output as
tab-delimited data.

=head2 examples/searchio/hitwriter.pl

Demonstrates how to extract data from BLAST reports and output as
tab-delimited data.

=head2 examples/searchio/hspwriter.pl

Demonstrates how to extract data from BLAST reports and output as
tab-delimited data.

=head2 examples/searchio/htmlwriter.pl

Demonstrates how to extract data from BLAST reports and output as
HTML.

=head2 examples/searchio/psiblast_features.pl

Illustrates how to grab a set of SeqFeatures from a Psiblast report.

=head2 examples/searchio/psiblast_iterations.pl

Demonstrates the use of a SearchIO parser for processing the 
iterations within a PSI-BLAST report.

=head2 examples/searchio/rawwriter.pl

Shows how to print out raw BLAST alignment data for each HSP.

=head2 examples/searchio/resultwriter.pl

Demonstrates how to extract data from BLAST reports and output as
tab-delimited data.

=head2 examples/searchio/waba2gff.pl

Convert raw WABA output to one type of GFF.

=head2 examples/seq/*

Example code for working with multiple sequence files, including
formatting, printing, and filtering based on length or description or ID.

=head2 examples/seq/extract_cds.pl

Extract the CDS features from a Genbank file.

=head2 examples/seqstats/aacomp.pl

Calculate amino acid composition of a protein using Tools::CodonTable
and Tools::IUPAC. See L<Bio::Tools::IUPAC> and
L<Bio::Tools::CodonTable> for more information.

=head2 examples/structure/struct_example*

Scripts that show how to examine details of the 3D structure of a
protein by parsing a PDB file. See L<Bio::Structure::IO> for more information.

=head2 examples/subsequence.cgi

CGI script to fetch a sequence from Genbank and extract a subsequence
using DB::GenBank. See L<Bio::DB::GenBank>.

=head2 examples/tk/gsequence.pl

Create a Protein Sequence Control Panel GUI with Gtk.

=head2 examples/tk/hitdisplay.pl

Create a GUI for displaying Blast results using Tk::HitDisplay.
Please see L<Bio::Tk::HitDisplay> for more information.

=head2 examples/tools/gb_to_gff.pl

Extracts top-level sequence features from Genbank-formatted sequence
files using Tools::GFF. See L<Bio::Tools::GFF>.

=head2 examples/tools/gff2ps.pl

Takes an input file in GFF format and draws its genes and features as
Postscript using Tools::GFF. See L<Bio::Tools::GFF>.

=head2 examples/tools/parse_codeml.pl

Script that parses output from codeml, one of the PAML programs. See
L<Bio::Tools::Phylo::PAML>.

=head2 examples/tools/psw.pl

Example code for using the XS extensions for comparing proteins 
using Smith-Waterman.

=head2 examples/tools/run_genscan.pl

Run GENSCAN on multiple sequences and create output sequence files
using Tools::Genscan. Please see L<Bio::Tools::Genscan> for more 
information.

=head2 examples/tools/seq_pattern.pl

A script that shows how to use sequences as regular expressions using
Tools::SeqPattern. Please see L<Bio::Tools::SeqPattern> for more information.

=head2 examples/tools/standaloneblast.pl

The many uses of StandAloneBlast, including BLAST and PSIBLAST.

=head2 examples/tools/test-genscan.pl

Script for testing and demonstrating L<Bio::Tools::Genscan>.

=head2 examples/tree/paup2phylip.pl

Convert a PAUP tree block to Phylip format.

=cut
