GithubHelp home page GithubHelp logo

santiagosnchez / concatfasta Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 66 KB

Concatenates FASTA files, imputes dummy sequences, and prints a partition table

License: GNU General Public License v3.0

Python 100.00%

concatfasta's Introduction

ConcatFasta.py

note: ConcatFasta has now been updated for Python3

Concatenates FASTA files, imputes dummy sequences, and prints a partition table

This is a Python version of concat_fasta.pl. It is more portable and expandable than its Perl predecessor and will be updated more regularly.

Concatenates FASTA files given a suffix present in all target files (e.g. "XXX.fasta"). Labels for the same "taxon" should be the same on all FASTA files, but can be unordered. The number of sequences on each file can also be different. In this case, an empty sequence will be added (e.g. "???.."). It will also print a layout of the partitions to the screen with the -p/--part flag. Sequences can be wrapped at 100 characters with the -w/--wrap option.

The program now can export as NEXUS or PHYLIP formats by switching the --nexus/-n or --phylip/-p arguments. Partition blocks will be added to the NEXUS file or a file written for PHYLIP with the --part/-q argument.

Downloading the program

wget https://raw.githubusercontent.com/santiagosnchez/ConcatFasta/master/ConcatFasta.py

Running the code

Use the -h flag for more details:

python ConcatFasta.py -h
usage: ConcatFasta.py [-h] [--files [FASTA_FILE [FASTA_FILE ...]]]
                  [--dir [DIR]] [--suffix [SUFFIX]] [--outfile [OUTFILE]]
                  [--part ] [--wrap ] [--nexus ] [--phylip ]

Concatenates FASTA files into a single file.

optional arguments:
  -h, --help            show this help message and exit
  --files [FASTA_FILE [FASTA_FILE ...]], -f [FASTA_FILE [FASTA_FILE ...]]
                        file to concatenate in FASTA format.
  --dir [DIR], -d [DIR]
                        directory where FASTA files to concatenate are
                        (default: .).
  --suffix [SUFFIX], -s [SUFFIX]
                    suffix for FASTA files.
  --outfile [OUTFILE], -o [OUTFILE]
                    name for output file (default: concat.fasta).
  --part [], -q []      will print a partition table.
  --wrap [], -w []      sequences will be wrapped every 100 characters.
  --nexus [], -n []     export in NEXUS format.
  --phylip [], -p []    export in PHYLIP format.

Files can be sepcified one by one with --files or by specifying a directory
--dir with the files. Additionally, a --suffix suffix can be combined with
--dir to filter out other files.

concatfasta's People

Contributors

santiagosnchez avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

yuzhenpeng

concatfasta's Issues

UnboundLocalError: local variable 'head' referenced before assignment

Hello,
When trying to use ConcatFasta with the code below:

python /n/home10/tlvieira/ConcatFasta.py --dir /n/holyscratch01/davis_lab/tlvieira/raw-data-target-dec-8/231130_A00794_0971_BHV5NWDSX7_SUB14926/fastq/clean_reads_cutted_dedup/Alignments_trimmed --suffix trim.aln.fa --out /n/holyscratch01/davis_lab/tlvieira/raw-data-target-dec-8/231130_A00794_0971_BHV5NWDSX7_SUB14926/fastq/clean_reads_cutted_dedup/IQtree/concat.fasta --nexus

It outputs the following:

ConcatFasta v2.0
Traceback (most recent call last):le
File "/n/home10/tlvieira/ConcatFasta.py", line 293, in
main()
File "/n/home10/tlvieira/ConcatFasta.py", line 78, in main
datalist[file] = readfasta(args.dir+"/"+file, args.delim)
File "/n/home10/tlvieira/ConcatFasta.py", line 199, in readfasta
data[head] += re.sub(" ","",line)
UnboundLocalError: local variable 'head' referenced before assignment

Any ideas of what is going on?

Best,
Tiago

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.