shenwei356 / shenwei356/seqkit

Trim a multiple sequence alignment based on a BED

Open
#477 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
1.6k
Forks
185
PR merge metrics
No merged PRs in 30d

Description

As always, I assume there is a way to do this seqkit, but my fu is not strong enough to find it.

I have a BED file of positions/columns I would like to keep from a multiple sequence alignment.

I've tried seqkit subset -w 0 -U --bed keep.bed msa.fa > msa.trim.fa but I get the warning [WARN] sequence () not found in file: msa.fa and the resulting output is empty. I assume this is because the chromosome name in the BED does not match the names of the sequences in the MSA.

Esentially I want to ignore the chromosome name and just extract the positions in the BED from each sequence in the MSA.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the seqkit subset command and its --bed handling, then compare that behavior with the reported MSA input and keep.bed coordinates. The work is done when BED positions can be applied to every sequence in the MSA without requiring the BED chromosome name to match a sequence name, and the resulting msa.trim.fa contains the requested columns.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
bioinformatics
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.