BP_FLANKS(1p)

✨ bp_flanks β€” bestie, let's go find those flanks ✨

okay so this is bp_flanks from the BP_FLANKS(1p) manual page (User Contributed Perl Documentation, she's a Perl girlie 🫢), and she does one thing and she does it beautifully: she grabs a subsequence around a region of interest in a sequence you already have. Periodt.


🌸 NAME 🌸

bp_flanks β€” finding flanking sequences for a variant in a sequence position πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

bp_flanks --position POS [-p POS ...]  [--flanklen INT]
       accession | filename

πŸ¦‹ DESCRIPTION πŸ¦‹

This script lets you extract a subsequence around a region of interest from an existing sequence. No cap, that's the whole vibe. The output is a fasta formatted sequence entry where the header line carries extra info about the location. She's giving main character energy with metadata. ✨


πŸ’– OPTIONS πŸ’–

The script takes one unnamed argument, which is either a file name in the local file system or a nucleotide sequence accession number. You do not get to skip it. She needs it. 😀

  • -p, --position β€” Position uses simple nucleotide sequence feature table notation to define the region of interest, typically a SNP or microsatellite repeat around which the flanks are defined.

There can be more than one position option, or you can give a comma separated list to one position option. Both? Both. Slay.

The format of a position is:

[id:] int | range | in-between [-]

The optional id is the name you want to call the new sequence. If it's not given, in joins running number to the entry name with an underscore.

The position is either a point (e.g. 234), a range (e.g. 250..300) or insertion point between nucleotides (e.g. 234^235).

If the position is not completely within the source sequence, the output sequence will be truncated and it will print a warning. So like, heads up bestie, it's not gonna error out on you, it's just gonna be short and loud about it. πŸ™ˆ

The optional hyphen [-] at the end of the position indicates that you want the retrieved sequence to be in the opposite strand. Flip it, reverse it, iconic. πŸ”„

  • -f, --flanklen β€” Defaults to 100. This is the length of the nucleotides sequence retrieved on both sides of the given position.

If the source file does not contain

not me leaving that sentence exactly how the original left it, because that's genuinely how the manpage ends that thought πŸ’€ β€” we do not invent lore that isn't there.

🌈 OUTPUT FORMAT 🌈

The output is a fasta formatted entry where the description file contains tag=value pairs for information about where in the original sequence the subsequence was taken.

The ID of the fasta entry is the name given at the command line joined by hyphen to the filename or accesion of the source sequence. If no id is given, a series of consecutive integers is used.

The tag=value pairs are:

  • oripos=int β€” position in the source file
  • strand=1|-1 β€” strand of the sequence compared to the source sequence
  • allelepos=int β€” position of the region of interest in the current entry. The tag is the same as used by dbSNP@NCBI

The sequence highlights the allele variant position by showing it in upper case and rest of the sequence in lower case characters. The way she just ✨case-switches✨ the variant so you can't miss it? Obsessed. πŸ˜­πŸ’–


⭐ EXAMPLE ⭐

% bp_flanks ~/seq/ar.embl

>1_/HOME/HEIKKI/SEQ/AR.EMBL oripos=100 strand=1 allelepos=100
taataactcagttcttatttgcacctacttcagtggacactgaatttggaaggtggagga
ttttgtttttttcttttaagatctgggcatcttttgaatCtacccttcaagtattaagag
acagactgtgagcctagcagggcagatcttgtccaccgtgtgtcttcttctgcacgagac
tttgaggctgtcagagcgct

see that lonely capital C in the middle? that's the allele. she's the moment. πŸ‘‘


πŸ’€ TODO πŸ’€

The input files are assumed to be in EMBL format and the sequences are retrieved only from the EMB database. Make this more generic and use the registry.

(she's aware. she said it herself. growth mindset fr fr 🌱)


πŸ’Œ FEEDBACK πŸ’Œ

(okay the raw source literally says head1 FEEDBACK in here β€” pod-pilled behavior, we love her anyway 🫢)

🧚 Mailing Lists 🧚

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing lists. Your participation is much appreciated. Seriously, she wants to hear from you.

bioperl-l@bioperl.org                  - General discussion
http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

πŸ› Reporting Bugs πŸ›

Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web:

https://github.com/bioperl/bioperl-live/issues

πŸ‘‘ AUTHOR - Heikki Lehvaslaiho πŸ‘‘

Email: <heikki-at-bioperl-dot-org>


and that's the whole page, bestie. this one shipped with perl v5.32.1, dated 2021-12-02, and it's page BP_FLANKS(1p) from the User Contributed Perl Documentation. go forth and find your flanks. πŸ¦‹βœ¨πŸ’–

πŸ“¦ where this page comes from