我手邊有一個文本文件,其中包含690個與P.S.中顯示內容類似的條目。 (在P.S.中顯示的是一個例子,從這裏http://www.ncbi.nlm.nih.gov/nuccore/AB753792.1)。在我的文本文件中,條目由「//」分隔。在某個單詞(密碼/ sed/awk)之後在文本文件中插入字母數字字符串
在我的情況下,在「ACCESSION」(字符串和3個空格)之後,沒有大寫字母數字字符串 (例如P.S.中的「AB753792」)。我運行MacOSX的優勝美地使用默認的Bash和希望,以填補所產生的獨特的大寫字母數字字符串,如690個空空間:
openssl rand -hex 4 | tr '[:lower:]' '[:upper:]'
(5.1.15:我已經改變了上面的命令,它在這篇文章的第一個版本)
我可以看到SED/AWK可能是這個問題的解決方案不同,但我想不出SED如何能夠插入唯一的8位大寫字母每個「ACCESSION」後的字符串。
我很樂意接受幫助。
親切的問候,
保羅
附:
LOCUS AB753792 712 bp DNA linear INV 26-JUN-2013
DEFINITION Acutuncus antarcticus mitochondrial gene for cytochrome c oxidase
subunit 1, partial cds.
ACCESSION AB753792
VERSION AB753792.1 GI:478246768
KEYWORDS .
SOURCE mitochondrion Acutuncus antarcticus
ORGANISM Acutuncus antarcticus
Eukaryota; Metazoa; Ecdysozoa; Tardigrada; Eutardigrada; Parachela;
Hypsibiidae; Acutuncus.
REFERENCE 1
AUTHORS Kagoshima,H., Imura,S. and Suzuki,A.C.
TITLE Molecular and morphological analysis of an Antarctic tardigrade,
Acutuncus antarcticus
JOURNAL J. Limnol. 72 (s1), 15-23 (2013)
REFERENCE 2 (bases 1 to 712)
AUTHORS Kagoshima,H. and Suzuki,A.C.
TITLE Direct Submission
JOURNAL Submitted (07-OCT-2012) Contact:Hiroshi Kagoshima Transdisciplinary
Research Integration Center/Nationlal Institute of Genetics; 1111
Yata, Mishima, Shizuoka 411-8540, Japan
FEATURES Location/Qualifiers
source 1..712
/organism="Acutuncus antarcticus"
/organelle="mitochondrion"
/mol_type="genomic DNA"
/isolation_source="moss sample (Bryum pseudotriquetrum,
Bryum argenteum, and Ceratodon purpureus)"
/db_xref="taxon:467037"
/country="Antarctica: East antarctica, soya coast,
Skarvsnes and Langhovde"
CDS <1..712
/codon_start=2
/transl_table=5
/product="cytochrome c oxidase subunit 1"
/protein_id="BAN14781.1"
/db_xref="GI:478246769"
/translation="GQQNHKDIGTLYFIFGVWAATVGTSLSMIIRSELSQPGSLFSDE
QLYNVTVTSHAFVMIFFFVMPILIGGFGNWLVPLMISAPDMAFPRMNNLSFWLLPPSF
MLITMSSMAEQGAGTGWTVYPPLAHYFAHSGPAVDLTIFSLHVAGASSILGAVNFIST
IMNMRAPSISLEQMPLFVWSVLLTAILLLLALPVLAGAITMLLLDRNFNTSFFDPAGG
GDPILYQHLFWFFGHPEV"
ORIGIN
1 tggtcaacaa aatcataaag atattggtac actttatttt atttttggag tatgagctgc
61 tacagtagga acatctctta gtatgattat ccggtcagaa cttagacaac caggatcact
121 cttctcagat gaacaacttt acaacgttac agtaacaaga catgcatttg tcataatttt
181 cttttttgta atacccatcc ttattggagg atttggaaat tgactagtac ctttaatgat
241 ttcagcacca gatatagctt tcccccgaat aaataacctg agattctgac tactaccccc
301 atcttttata ttaattacta taagaagtat agcagaacaa ggagccggga cagggtgaac
361 agtttacccc cctttagctc actattttgc acactcagga ccagctgtcg atttaactat
421 tttttctctg catgtagcag gagcatcgtc gattttagga gccgtaaact tcatttctac
481 aattatgaat atgcgagctc catcaattag tttagaacaa atgccactat ttgtatgatc
541 agtactactt acagccattt tacttctact agctctgcca gtattagcag gagccatcac
601 aatgctttta ttagaccgaa attttaacac atcgtttttt gatcctgctg gtgggggaga
661 tccaattctc tatcaacatt tattttgatt ttttggtcac cctgaagttt aa
//
的OpenSSL蘭特-base64 32 | | tr'[a-z]'[A-Z]'給出語法錯誤...應該是「openssl rand -base64 32 || tr'[az]''[AZ]'」?....如果是這樣,這不會生成一個8位數字的字母數字group.please建議 – repzero 2015-01-04 12:27:51
大家好,謝謝你到目前爲止的幫助。如前所述,我沒有在原始文章中測試字符串生成的命令,因爲我寫了沒有Bash的帖子。原來的命令是openssl rand -hex 4 | tr'[:lower:]''[:upper:]' – Paul 2015-01-04 22:58:21
我的答案編輯用於說明修改命令的解決方案「openssl rand -hex 4 | tr'[:lower:]''[:upper:]'」 – repzero 2015-01-04 23:51:24