Skip to content

fakit v0.1.6 with new command `replace`

Compare
Choose a tag to compare
@shenwei356 shenwei356 released this 07 Apr 06:39
· 804 commits to master since this release

add subcommand replace

Usage

replace name/sequence/by regular expression.

Note that the replacement supports capture variables.
e.g. $1 represents the text of the first submatch.
ATTENTION: use SINGLE quote NOT double quotes in *nix OS.

Examples: Adding space to all bases.

    fakit replace -p "(.)" -r '$1 ' -s

Or use the \ escape character.

    fakit replace -p "(.)" -r "\$1 " -s

more on: http://shenwei356.github.io/fakit/usage/#replace

Usage:
  fakit replace [flags]

Flags:
  -s, --by-seq               replace seq
  -i, --ignore-case          ignore case
  -p, --pattern string       search regular expression
  -r, --replacement string   replacement. supporting capture variables.  e.g. $1 represents the text of the first submatch. ATTENTION: use SINGLE quote NOT double quotes in *nix OS or use the \ escape character.

Examples

  1. Remove descriptions

    $ echo -e ">seq1 abc-123\nACGT-ACGT" | fakit replace -p " .+"
    >seq1
    ACGT-ACGT
    
  2. Replace "-" with "="

    $ echo -e ">seq1 abc-123\nACGT-ACGT" | fakit replace -p "\-" -r '='
    >seq1 abc=123
    ACGT-ACGT
    
  3. Remove gaps in sequences.

    $ echo -e ">seq1 abc-123\nACGT-ACGT" | fakit replace -p " |-" -s
    >seq1 abc-123
    ACGTACGT
    
  4. Add space to every base. *ATTENTION: use SINGLE quote NOT double quotes in nix OS

    $ echo -e ">seq1 abc-123\nACGT-ACGT" | fakit replace -p "(.)" -r '$1 ' -s
    >seq1 abc-123
    A C G T - A C G T
    
  5. Transpose sequence with csvtk

    $ echo -e ">seq1\nACTGACGT\n>seq2\nactgccgt" | fakit replace -p "(.)" -r  "\$1 " -s | fakit seq -s -u | csvtk space2tab | csvtk -t transpose
    A       A
    C       C
    T       T
    G       G
    A       C
    C       C
    G       G
    T       T