[Tutor] map one file and print it out following the sequence
Prasad, Ramit
ramit.prasad at jpmorgan.com
Thu Sep 29 16:57:42 CEST 2011
From: tutor-bounces+ramit.prasad=jpmorgan.com at python.org [mailto:tutor-bounces+ramit.prasad=jpmorgan.com at python.org] On Behalf Of lina
Sent: Tuesday, September 27, 2011 10:35 PM
Cc: tutor
Subject: Re: [Tutor] map one file and print it out following the sequence
Hi,
Thanks for both of your reply.
File 1 is:
3 C 1 CUR C19 1 0.200 12.0110
4 CR1 1 CUR C20 1 -0.060 12.0110
5 HC 1 CUR H20 1 0.060 1.0080
File 2 is:
ATOM 2 H20 CUR 1 30.338 28.778 -6.812 1.00 0.00
ATOM 4 C20 CUR 1 31.394 28.922 -7.039 1.00 0.00
ATOM 5 C19 CUR 1 31.790 29.357 -8.323 1.00 0.00
I wish to get:
ATOM 5 C19 CUR 1 31.790 29.357 -8.323 1.00 0.00
ATOM 4 C20 CUR 1 31.394 28.922 -7.039 1.00 0.00
ATOM 2 H20 CUR 1 30.338 28.778 -6.812 1.00 0.00
The dictionary is C19 C20 H20 sequence read from file 1 field 5.
rearrange the file 2 field 3 following the sequence of C19, C20, H20.
Thanks.
===================================================================
This is something I wrote *really* quick and is untested. Hopefully someone on this list can spot any error I made.
mapping={}
with open("cur.itp") as f:
for line in f.readlines():
parts=line.strip().split()
if len(parts)==8:
mapping[parts[4]]=parts[0]
with open("processedpdb") as f:
proccessed = [ line.split() for line in f.readlines() ]
processed.sort( key=lambda x: mapping.get( x[2], 0 ) ) # use 0 to put items without a mapping at the
# top of the file because they are probably an error
For line in array:
print ' '.join( line )
Ramit
Ramit Prasad | JPMorgan Chase Investment Bank | Currencies Technology
712 Main Street | Houston, TX 77002
work phone: 713 - 216 - 5423
This email is confidential and subject to important disclaimers and
conditions including on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.
More information about the Tutor
mailing list