私は最近、プログラム mothur のスクリプトのようなパイプラインを生成するために、win7 で powershell を使い始めました。これを行うためにubuntuでbashスクリプトを使用する前に。1つのタスクを除いて、すべてがうまく機能していることを嬉しく思います:
次の形式の fasta ファイルをフォーマットしたいと思います。
filename.fasta:
>HXXC990
AGTTCAAGGTCTCT
>HXXC991
GGGTTTCAAATCTC
>HXXC992
GGGTCTCTCCTATA
タブ区切りでこんな感じのファイルに
output.file:
HXXC990 filename
HXXC991 filename
HXXC992 filename
出力ファイルの最初の列に、">" 記号のない名前が含まれていることが重要です。2 番目のタブ区切りの列は、接尾辞 (「ファイル名」) のない元の filename.fasta です。ファイルのベース名を読み取るソリューションgciと、>で始まるすべての行を出力するSelect-Stringがあります。唯一の問題は、2 つの列の書式設定と、2 列目のファイル名の繰り返しです。
私はこれまでに試しました:
Select-String '>' .\filename.fasta | % {$_.Line} | set-content output.txt
">" 記号を含む行のみを含むファイルを生成します。その後、私はそれらを交換しました。私が手に入れたファイル名
$base1 = gci filename.fasta | % {$_.BaseName}