[1] bedtools (https://github.com/arq5x/bedtools2)
here is also bedtools (https://github.com/arq5x/bedtools2) getfasta. It uses Erik's code under the hood.
$ cat test.fa
>chr1
AAAAAAAACCCCCCCCCCCCCGCTACTGGGGGGGGGGGGGGGGGG
$ cat test.bed
chr1 5 10
$ bedtools getfasta -fi test.fa -bed test.bed -fo test.fa.out
$ cat test.fa.out
>chr1:5-10
AAACC
Docs: http://bedtools.readthedocs.org/en/latest/content/tools/getfasta.html
And it is wrapped in pybedtools as well: http://pythonhosted.org/pybedtools/autodocs/pybedtools.BedTool.sequence.html?highlight=fasta
https://code.google.com/p/bedtools/
[2] Samtools faidx feature
faidx samtools faidx <ref.fasta> [region1 [...]] Index reference sequence in the FASTA format or extract subsequence from indexed reference sequence. If no region is specified, faidx will index the file and create <ref.fasta>.fai on the disk. If regions are speficified, the subsequences will be retrieved and printed to stdout in the FASTA format.
You will have to first create the fasta indexes of the reference genome fasta file and then use this command.
[3] python implementation of faidx to GitHub.
https://github.com/mdshw5/pyfaidx
[4] UCSC twoBitToFa
use ucsc twoBitToFa in http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/
see also http://genome.ucsc.edu/goldenPath/help/twoBit.html
[5] UCSC DAS
python script to fetch sequences from UCSC DAS server:
http://genome.ucsc.edu/cgi-bin/das/h...r4:35654,35695
[6] ensembl biomart
Ref:
https://www.biostars.org/p/81087/
http://stackoverflow.com/questions/23089388/a-fast-way-to-get-human-genome-sequence-by-coordinate
http://seqanswers.com/forums/showthread.php?t=42463